From f86db8ae152b56ccc6dee4e95ac0bb1f8d7e3502 Mon Sep 17 00:00:00 2001
From: Tobias Knopff <t.knopff@fz-juelich.de>
Date: Tue, 1 Jun 2021 12:18:56 +0200
Subject: [PATCH] Make JobItem::P_STATUS private

---
 GUI/Models/JobItem.cpp                        |  5 ++++
 GUI/Models/JobItem.h                          |  4 ++-
 GUI/Views/FitWidgets/FitComparisonWidget.cpp  |  2 +-
 .../FitWidgets/FitComparisonWidget1D.cpp      |  2 +-
 GUI/Views/FitWidgets/RunFitControlWidget.cpp  |  2 +-
 .../JobWidgets/ParameterTuningWidget.cpp      | 30 +++++++++++--------
 GUI/Views/JobWidgets/ParameterTuningWidget.h  |  1 +
 7 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/GUI/Models/JobItem.cpp b/GUI/Models/JobItem.cpp
index be9cdeaf043..ea2b051e590 100644
--- a/GUI/Models/JobItem.cpp
+++ b/GUI/Models/JobItem.cpp
@@ -278,6 +278,11 @@ void JobItem::setInstrumentName(const QString& name)
     getItem(P_INSTRUMENT_NAME)->setValue(name);
 }
 
+bool JobItem::isStatusPropertyName(const QString& name)
+{
+    return name == P_STATUS;
+}
+
 //! Updates the name of file to store intensity data.
 
 void JobItem::updateIntensityDataFileName()
diff --git a/GUI/Models/JobItem.h b/GUI/Models/JobItem.h
index 6a3413415fe..8995f177a79 100644
--- a/GUI/Models/JobItem.h
+++ b/GUI/Models/JobItem.h
@@ -37,9 +37,9 @@ private:
     static const QString P_SAMPLE_NAME;
     static const QString P_INSTRUMENT_NAME;
     static const QString P_WITH_FITTING;
+    static const QString P_STATUS;
 
 public:
-    static const QString P_STATUS;
     static const QString P_BEGIN_TIME;
     static const QString P_END_TIME;
     static const QString P_DURATION;
@@ -112,6 +112,8 @@ public:
 
     void setInstrumentName(const QString& name);    
 
+    static bool isStatusPropertyName(const QString& name);
+
 private:
     void updateIntensityDataFileName();
     const SimulationOptionsItem* simulationOptionsItem() const;
diff --git a/GUI/Views/FitWidgets/FitComparisonWidget.cpp b/GUI/Views/FitWidgets/FitComparisonWidget.cpp
index ad8cf532d98..a73a9b7e0e8 100644
--- a/GUI/Views/FitWidgets/FitComparisonWidget.cpp
+++ b/GUI/Views/FitWidgets/FitComparisonWidget.cpp
@@ -83,7 +83,7 @@ void FitComparisonWidget::subscribeToItem()
 
     jobItem()->mapper()->setOnPropertyChange(
         [this](const QString& name) {
-            if (name == JobItem::P_STATUS) {
+            if (JobItem::isStatusPropertyName(name)) {
                 if (jobItem()->isCompleted())
                     onResetViewAction();
             }
diff --git a/GUI/Views/FitWidgets/FitComparisonWidget1D.cpp b/GUI/Views/FitWidgets/FitComparisonWidget1D.cpp
index 344277d8b5a..bc25441ddc2 100644
--- a/GUI/Views/FitWidgets/FitComparisonWidget1D.cpp
+++ b/GUI/Views/FitWidgets/FitComparisonWidget1D.cpp
@@ -83,7 +83,7 @@ void FitComparisonWidget1D::subscribeToItem()
 
     jobItem()->mapper()->setOnPropertyChange(
         [this](const QString& name) {
-            if (name == JobItem::P_STATUS) {
+            if (JobItem::isStatusPropertyName(name)) {
                 if (jobItem()->isCompleted())
                     onResetViewAction();
             }
diff --git a/GUI/Views/FitWidgets/RunFitControlWidget.cpp b/GUI/Views/FitWidgets/RunFitControlWidget.cpp
index 085604b74d0..bcd01f8af24 100644
--- a/GUI/Views/FitWidgets/RunFitControlWidget.cpp
+++ b/GUI/Views/FitWidgets/RunFitControlWidget.cpp
@@ -128,7 +128,7 @@ void RunFitControlWidget::subscribeToItem()
 
     jobItem()->mapper()->setOnPropertyChange(
         [this](const QString& name) {
-            if (name == JobItem::P_STATUS)
+            if (JobItem::isStatusPropertyName(name))
                 updateControlElements();
         },
         this);
diff --git a/GUI/Views/JobWidgets/ParameterTuningWidget.cpp b/GUI/Views/JobWidgets/ParameterTuningWidget.cpp
index 20649c97aa3..0da2e4849ea 100644
--- a/GUI/Views/JobWidgets/ParameterTuningWidget.cpp
+++ b/GUI/Views/JobWidgets/ParameterTuningWidget.cpp
@@ -172,23 +172,13 @@ void ParameterTuningWidget::subscribeToItem()
     jobItem()->mapper()->setOnPropertyChange(
         [this](const QString& name) { onPropertyChanged(name); }, this);
 
-    onPropertyChanged(JobItem::P_STATUS);
+    updateJobStatus();
 }
 
 void ParameterTuningWidget::onPropertyChanged(const QString& property_name)
 {
-    if (property_name == JobItem::P_STATUS) {
-        m_warningSign->clear();
-
-        if (jobItem()->isFailed()) {
-            QString message;
-            message.append("Current parameter values cause simulation failure.\n\n");
-            message.append(jobItem()->getComments());
-            m_warningSign->setWarningMessage(message);
-        }
-
-        updateDragAndDropSettings();
-    }
+    if (JobItem::isStatusPropertyName(property_name))
+        updateJobStatus();
 }
 
 JobItem* ParameterTuningWidget::jobItem()
@@ -234,3 +224,17 @@ void ParameterTuningWidget::closeActiveEditors()
     }
     m_treeView->selectionModel()->clearSelection();
 }
+
+void ParameterTuningWidget::updateJobStatus()
+{
+    m_warningSign->clear();
+
+    if (jobItem()->isFailed()) {
+        QString message;
+        message.append("Current parameter values cause simulation failure.\n\n");
+        message.append(jobItem()->getComments());
+        m_warningSign->setWarningMessage(message);
+    }
+    
+    updateDragAndDropSettings();
+}
diff --git a/GUI/Views/JobWidgets/ParameterTuningWidget.h b/GUI/Views/JobWidgets/ParameterTuningWidget.h
index 5fe899084fd..7163b9b31c5 100644
--- a/GUI/Views/JobWidgets/ParameterTuningWidget.h
+++ b/GUI/Views/JobWidgets/ParameterTuningWidget.h
@@ -66,6 +66,7 @@ private:
     void updateDragAndDropSettings();
     void setTuningDelegateEnabled(bool enabled);
     void closeActiveEditors();
+    void updateJobStatus();
 
     JobRealTimeToolBar* m_toolBar;
     JobModel* m_jobModel;
-- 
GitLab