Example #1
0
        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);
            }
        }
Example #2
0
        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 ();
        }
Example #3
0
 public void DeleteJob(Job job)
 {
     job.State = JobState.Cancelled;
     CancelJob (job);
 }
Example #4
0
 public void AddJob(Job job)
 {
     if (job == null)
         return;
     jobs.Add (job);
     pendingJobs.Add (job);
     UpdateJobsStatus ();
     if (pendingJobs.Count == 1)
         StartNextJob ();
 }