private void StartNextJob() { if (pendingJobs.Count == 0) { ResetGui (); return; } currentJob = pendingJobs [0]; if (currentJob is EditionJob) { LoadEditionJob (currentJob as EditionJob); } else { LoadConversionJob (currentJob as ConversionJob); } }
public void CancelJob(Job job) { if (currentJob != job) return; if (job is EditionJob) { videoEditor.Progress -= OnProgress; videoEditor.Error -= OnError; videoEditor.Cancel (); } else { videoConverter.Progress -= OnProgress; videoConverter.Error -= OnError; videoConverter.Cancel (); } job.State = JobState.Cancelled; RemoveCurrentFromPending (); UpdateJobsStatus (); StartNextJob (); }
public void DeleteJob(Job job) { job.State = JobState.Cancelled; CancelJob (job); }
public void AddJob(Job job) { if (job == null) return; jobs.Add (job); pendingJobs.Add (job); UpdateJobsStatus (); if (pendingJobs.Count == 1) StartNextJob (); }