Index: branches/2965_CancelablePersistence/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectJobsView.cs
===================================================================
--- branches/2965_CancelablePersistence/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectJobsView.cs	(revision 16321)
+++ branches/2965_CancelablePersistence/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ProjectJobsView.cs	(revision 16433)
@@ -75,5 +75,5 @@
       progress = new Progress();
 
-      removeButton.Enabled = false;      
+      removeButton.Enabled = false;
     }
 
@@ -81,10 +81,10 @@
       base.RegisterContentEvents();
       matrixView.DataGridView.SelectionChanged += DataGridView_SelectionChanged;
-      MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().AddOperationProgressToView(this, progress);
+      MainForm.Progress.Show(this, progress);
     }
 
     protected override void DeregisterContentEvents() {
       matrixView.DataGridView.SelectionChanged -= DataGridView_SelectionChanged;
-      MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().RemoveOperationProgressFromView(this, false);
+      MainForm.Progress.Hide(this, false);
       base.DeregisterContentEvents();
     }
@@ -114,5 +114,5 @@
         var jobs = GetSelectedJobs().ToList();
         if (jobs.Any()) {
-                    
+
           startButton.Enabled = jobs.All(x =>
             !x.IsProgressing && HiveAdminClient.Instance.Tasks.ContainsKey(x.Id) && HiveAdminClient.Instance.Tasks[x.Id].Count > 0
@@ -135,14 +135,14 @@
     #region Event Handlers
     private void ProjectJobsView_Load(object sender, EventArgs e) {
-      
+
     }
 
     private void refreshButton_Click(object sender, EventArgs e) {
-      progress.Start("Refreshing jobs...");
+      progress.Start("Refreshing jobs...", ProgressMode.Indeterminate);
       SetEnabledStateOfControls();
       var task = System.Threading.Tasks.Task.Factory.StartNew(RefreshJobsAsync);
 
       task.ContinueWith((t) => {
-        progress.Finish();        
+        progress.Finish();
         SetEnabledStateOfControls();
       });
@@ -160,5 +160,5 @@
 
         if (result == DialogResult.Yes) {
-          progress.Start("Removing job(s)...");
+          progress.Start("Removing job(s)...", ProgressMode.Indeterminate);
           SetEnabledStateOfControls();
           var task = System.Threading.Tasks.Task.Factory.StartNew(RemoveJobsAsync, jobs);
@@ -191,10 +191,10 @@
 
         if (result == DialogResult.Yes) {
-          progress.Start("Resuming job(s)...");
+          progress.Start("Resuming job(s)...", ProgressMode.Indeterminate);
           SetEnabledStateOfControls();
           var task = System.Threading.Tasks.Task.Factory.StartNew(ResumeJobsAsync, jobs);
 
           task.ContinueWith((t) => {
-            RefreshJobs();            
+            RefreshJobs();
             progress.Finish();
             SetEnabledStateOfControls();
@@ -227,5 +227,5 @@
 
           task.ContinueWith((t) => {
-            RefreshJobs();            
+            RefreshJobs();
             progress.Finish();
             SetEnabledStateOfControls();
@@ -253,5 +253,5 @@
 
         if (result == DialogResult.Yes) {
-          progress.Start("Stopping job(s)...");
+          progress.Start("Stopping job(s)...", ProgressMode.Indeterminate);
           SetEnabledStateOfControls();
           var task = System.Threading.Tasks.Task.Factory.StartNew(StopJobsAsync, jobs);
@@ -267,5 +267,5 @@
             progress.Finish();
             SetEnabledStateOfControls();
-            MessageBox.Show("An error occured stopping the job(s).", "HeuristicLab Hive Administrator", MessageBoxButtons.OK, MessageBoxIcon.Error);            
+            MessageBox.Show("An error occured stopping the job(s).", "HeuristicLab Hive Administrator", MessageBoxButtons.OK, MessageBoxIcon.Error);
           }, TaskContinuationOptions.OnlyOnFaulted);
         }
@@ -284,10 +284,10 @@
     private IEnumerable<RefreshableJob> GetSelectedJobs() {
       if (Content == null || matrixView.DataGridView.SelectedRows == null || matrixView.DataGridView.SelectedRows.Count == 0)
-        return Enumerable.Empty<RefreshableJob>() ;
+        return Enumerable.Empty<RefreshableJob>();
 
       var jobs = new List<RefreshableJob>();
       foreach (DataGridViewRow r in matrixView.DataGridView.SelectedRows) {
         if (((string)r.Cells[0].Value) == JobState.Online.ToString()) {
-          jobs.Add(HiveAdminClient.Instance.Jobs[Content.Id].FirstOrDefault(x => x.Id == Guid.Parse((string) r.Cells[11].Value)));
+          jobs.Add(HiveAdminClient.Instance.Jobs[Content.Id].FirstOrDefault(x => x.Id == Guid.Parse((string)r.Cells[11].Value)));
         }
       }
@@ -310,6 +310,6 @@
       string[,] values = new string[jobs.Count, 13];
 
-      for(int i = 0; i < jobs.Count; i++) {
-        var job = jobs.ElementAt(i);        
+      for (int i = 0; i < jobs.Count; i++) {
+        var job = jobs.ElementAt(i);
         values[i, 0] = job.Job.State.ToString();
         values[i, 1] = job.ExecutionState.ToString();
@@ -322,9 +322,9 @@
         values[i, 8] = job.Job.CalculatingCount.ToString();
         values[i, 9] = job.Job.FinishedCount.ToString();
-        values[i, 10] = job.Job.Description;        
+        values[i, 10] = job.Job.Description;
         values[i, 11] = job.Job.Id.ToString();
         values[i, 12] = job.Job.OwnerUserId.ToString();
       }
-      
+
       var matrix = new StringMatrix(values);
       matrix.ColumnNames = new string[] { JOB_STATE, JOB_EXECUTIONSTATE, JOB_EXECUTIONTIME, JOB_DATECREATED, JOB_OWNER, JOB_NAME, JOB_TASKCOUNT, JOB_WAITINGTASKCOUNT, JOB_CALCULATINGTASKCOUNT, JOB_FINISHEDTASKCOUNT, JOB_DESCRIPTION, JOB_ID, JOB_OWNERID };
@@ -332,12 +332,12 @@
       return matrix;
     }
-    
+
     private void UpdateJobs() {
       if (InvokeRequired) Invoke((Action)UpdateJobs);
       else {
-        if(Content != null && Content.Id != null && Content.Id != Guid.Empty) {
+        if (Content != null && Content.Id != null && Content.Id != Guid.Empty) {
           var matrix = CreateValueMatrix();
           matrixView.Content = matrix;
-          if(matrix != null) {
+          if (matrix != null) {
             foreach (DataGridViewRow row in matrixView.DataGridView.Rows) {
               string val = ((string)row.Cells[0].Value);
@@ -355,5 +355,5 @@
             matrixView.DataGridView.Columns[1].MinimumWidth = 108;
           }
-        } 
+        }
       }
     }
@@ -367,5 +367,5 @@
       var jobList = (IEnumerable<RefreshableJob>)jobs;
       foreach (var job in jobList) {
-        progress.Status = "Resuming job \"" + job.Job.Name + "\"...";
+        progress.Message = "Resuming job \"" + job.Job.Name + "\"...";
         HiveAdminClient.ResumeJob(job);
       }
@@ -375,5 +375,5 @@
       var jobList = (IEnumerable<RefreshableJob>)jobs;
       foreach (var job in jobList) {
-        progress.Status = "Pausing job \"" + job.Job.Name + "\"...";
+        progress.Message = "Pausing job \"" + job.Job.Name + "\"...";
         HiveAdminClient.PauseJob(job);
       }
@@ -381,7 +381,7 @@
 
     private void StopJobsAsync(object jobs) {
-      var jobList = (IEnumerable<RefreshableJob>) jobs;
-      foreach (var job in jobList) {        
-        progress.Status = "Stopping job \"" + job.Job.Name + "\"...";
+      var jobList = (IEnumerable<RefreshableJob>)jobs;
+      foreach (var job in jobList) {
+        progress.Message = "Stopping job \"" + job.Job.Name + "\"...";
         HiveAdminClient.StopJob(job);
       }
@@ -390,7 +390,7 @@
     private void RemoveJobsAsync(object jobs) {
       var jobList = (IEnumerable<RefreshableJob>)jobs;
-      progress.Start();
+      progress.Start("", ProgressMode.Indeterminate);
       foreach (var job in jobList) {
-        progress.Status = "Removing job \"" + job.Job.Name + "\"...";
+        progress.Message = "Removing job \"" + job.Job.Name + "\"...";
         HiveAdminClient.RemoveJob(job);
       }
