From bf83c31e6e274b32e0221ef8b546b0e8c85634c1 Mon Sep 17 00:00:00 2001
From: Robert Applin <40830825+robertapplin@users.noreply.github.com>
Date: Tue, 2 Oct 2018 14:30:08 +0100
Subject: [PATCH] Refs #23688 - Disable output buttons while running

---
 docs/source/release/v3.14.0/indirect_inelastic.rst | 2 +-
 qt/scientific_interfaces/Indirect/ConvFit.cpp      | 2 ++
 qt/scientific_interfaces/Indirect/Elwin.cpp        | 2 ++
 qt/scientific_interfaces/Indirect/Iqt.cpp          | 3 +++
 qt/scientific_interfaces/Indirect/IqtFit.cpp       | 2 ++
 qt/scientific_interfaces/Indirect/JumpFit.cpp      | 2 ++
 qt/scientific_interfaces/Indirect/MSDFit.cpp       | 2 ++
 7 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/docs/source/release/v3.14.0/indirect_inelastic.rst b/docs/source/release/v3.14.0/indirect_inelastic.rst
index fd69d1e950e..05a7da3c96d 100644
--- a/docs/source/release/v3.14.0/indirect_inelastic.rst
+++ b/docs/source/release/v3.14.0/indirect_inelastic.rst
@@ -26,7 +26,7 @@ Data Analysis Interface
 Improvements
 ############
 
-- The Run button in the Data Analysis tabs is now above the output options, and is disabled during fitting.
+- The Run button is now above the output options, and is disabled during fitting along with the output buttons.
 - The Fit Single Spectrum buttons in the Data Analysis tabs MSDFit, ConvFit, I(Q,t)Fit and F(Q)Fit are now disabled
   during fitting.
 - When the InelasticDiffSphere, InelasticDiffRotDiscreteCircle, ElasticDiffSphere or ElasticDiffRotDiscreteCircle
diff --git a/qt/scientific_interfaces/Indirect/ConvFit.cpp b/qt/scientific_interfaces/Indirect/ConvFit.cpp
index cd5426d7d01..c9fd925851d 100644
--- a/qt/scientific_interfaces/Indirect/ConvFit.cpp
+++ b/qt/scientific_interfaces/Indirect/ConvFit.cpp
@@ -192,6 +192,8 @@ void ConvFit::setSaveResultEnabled(bool enabled) {
 void ConvFit::setRunIsRunning(bool running) {
   m_uiForm->pbRun->setText(running ? "Running..." : "Run");
   setRunEnabled(!running);
+  setPlotResultEnabled(!running);
+  setSaveResultEnabled(!running);
   setFitSingleSpectrumEnabled(!running);
 }
 
diff --git a/qt/scientific_interfaces/Indirect/Elwin.cpp b/qt/scientific_interfaces/Indirect/Elwin.cpp
index f0cf8374b41..65dad9f3c5e 100644
--- a/qt/scientific_interfaces/Indirect/Elwin.cpp
+++ b/qt/scientific_interfaces/Indirect/Elwin.cpp
@@ -526,6 +526,8 @@ void Elwin::setSaveResultEnabled(bool enabled) {
 void Elwin::setRunIsRunning(bool running) {
   m_uiForm.pbRun->setText(running ? "Running..." : "Run");
   setRunEnabled(!running);
+  setPlotResultEnabled(!running);
+  setSaveResultEnabled(!running);
 }
 
 void Elwin::setPlotResultIsPlotting(bool plotting) {
diff --git a/qt/scientific_interfaces/Indirect/Iqt.cpp b/qt/scientific_interfaces/Indirect/Iqt.cpp
index e63ce3d784d..ce34e2a349a 100644
--- a/qt/scientific_interfaces/Indirect/Iqt.cpp
+++ b/qt/scientific_interfaces/Indirect/Iqt.cpp
@@ -475,6 +475,9 @@ void Iqt::setSaveResultEnabled(bool enabled) {
 void Iqt::setRunIsRunning(bool running) {
   m_uiForm.pbRun->setText(running ? "Running..." : "Run");
   setRunEnabled(!running);
+  setPlotResultEnabled(!running);
+  setSaveResultEnabled(!running);
+  setTiledPlotEnabled(!running);
 }
 
 void Iqt::setPlotResultIsPlotting(bool plotting) {
diff --git a/qt/scientific_interfaces/Indirect/IqtFit.cpp b/qt/scientific_interfaces/Indirect/IqtFit.cpp
index 89d6b83d0b3..5c31a55662a 100644
--- a/qt/scientific_interfaces/Indirect/IqtFit.cpp
+++ b/qt/scientific_interfaces/Indirect/IqtFit.cpp
@@ -149,6 +149,8 @@ void IqtFit::setSaveResultEnabled(bool enabled) {
 void IqtFit::setRunIsRunning(bool running) {
   m_uiForm->pbRun->setText(running ? "Running..." : "Run");
   setRunEnabled(!running);
+  setPlotResultEnabled(!running);
+  setSaveResultEnabled(!running);
   setFitSingleSpectrumEnabled(!running);
 }
 
diff --git a/qt/scientific_interfaces/Indirect/JumpFit.cpp b/qt/scientific_interfaces/Indirect/JumpFit.cpp
index 41e2cbc5a62..e044a581549 100644
--- a/qt/scientific_interfaces/Indirect/JumpFit.cpp
+++ b/qt/scientific_interfaces/Indirect/JumpFit.cpp
@@ -111,6 +111,8 @@ void JumpFit::setSaveResultEnabled(bool enabled) {
 void JumpFit::setRunIsRunning(bool running) {
   m_uiForm->pbRun->setText(running ? "Running..." : "Run");
   setRunEnabled(!running);
+  setPlotResultEnabled(!running);
+  setSaveResultEnabled(!running);
   setFitSingleSpectrumEnabled(!running);
 }
 
diff --git a/qt/scientific_interfaces/Indirect/MSDFit.cpp b/qt/scientific_interfaces/Indirect/MSDFit.cpp
index 74cea77e007..2f90d3d87d7 100644
--- a/qt/scientific_interfaces/Indirect/MSDFit.cpp
+++ b/qt/scientific_interfaces/Indirect/MSDFit.cpp
@@ -92,6 +92,8 @@ void MSDFit::setSaveResultEnabled(bool enabled) {
 void MSDFit::setRunIsRunning(bool running) {
   m_uiForm->pbRun->setText(running ? "Running..." : "Run");
   setRunEnabled(!running);
+  setPlotResultEnabled(!running);
+  setSaveResultEnabled(!running);
   setFitSingleSpectrumEnabled(!running);
 }
 
-- 
GitLab