From 525fd2bcceddd6a1d1f74b9d037362953dcc7631 Mon Sep 17 00:00:00 2001
From: Jared Swift <87013792+jswift-stfc@users.noreply.github.com>
Date: Mon, 11 Apr 2022 16:57:04 +0100
Subject: [PATCH] Run Gudrun after Purging (#323)

* feat: automatically run gudrun after purging (when the purge is induced following a prompt).

* fix: issue with task label not being set correctly.
---
 src/gui/widgets/main_window.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gui/widgets/main_window.py b/src/gui/widgets/main_window.py
index 9b052e8c9..cd4406a2c 100644
--- a/src/gui/widgets/main_window.py
+++ b/src/gui/widgets/main_window.py
@@ -1111,8 +1111,8 @@ def purgeBeforeRunning(self, default=True):
                     self.mainWidget,
                     "GudPy Error", "Couldn't find purge_det binary."
                 )
-            self.setControlsEnabled(True)
-            return
+                self.setControlsEnabled(True)
+                return
         else:
             self.runPurge_()
         dcs = self.gudrunFile.dcs(
@@ -1129,6 +1129,7 @@ def purgeBeforeRunning(self, default=True):
                 self.mainWidget, "GudPy Error",
                 "Couldn't find gudrun_dcs binary."
             )
+            self.setControlsEnabled(True)
             return
         self.queue.put((dcs, self.progressDCS, func, args))
 
@@ -1593,8 +1594,6 @@ def procFinished(self):
             self.error = ""
             self.queue = Queue()
         if not self.queue.empty():
-            self.makeProc(*self.queue.get())
-        else:
             if self.warning:
                 QMessageBox.warning(
                     self.mainWidget, "GudPy Warning",
@@ -1619,6 +1618,8 @@ def procFinished(self):
         self.output = ""
         self.mainWidget.currentTaskLabel.setText("No task running.")
         self.mainWidget.progressBar.setValue(0)
+        if not self.queue.empty():
+            self.makeProc(*self.queue.get())
 
     def stopProc(self):
         self.queue = Queue()