diff --git a/GUI/Model/Model/JobModel.cpp b/GUI/Model/Model/JobModel.cpp index 2e0c218a665ddc507d8357307f967c42ec413d77..9208e65125f7ee573625e1290d7ea918c795a0d6 100644 --- a/GUI/Model/Model/JobModel.cpp +++ b/GUI/Model/Model/JobModel.cpp @@ -13,22 +13,14 @@ // ************************************************************************************************ #include "GUI/Model/Model/JobModel.h" -#include "GUI/Model/Data/IntensityDataItem.h" -#include "GUI/Model/Data/RealItem.h" -#include "GUI/Model/Data/SpecularDataItem.h" #include "GUI/Model/Device/InstrumentItems.h" #include "GUI/Model/Device/PointwiseAxisItem.h" #include "GUI/Model/Job/FitSuiteItem.h" -#include "GUI/Model/Job/JobItem.h" -#include "GUI/Model/Model/JobQueueData.h" #include "GUI/Model/Model/ParameterTreeUtils.h" #include "GUI/Model/Model/SessionXML.h" #include "GUI/Model/Sample/ItemWithMaterial.h" #include "GUI/Model/Sample/MultiLayerItem.h" - -#include "GUI/Support/Data/SessionFlags.h" #include "GUI/Support/XML/UtilXML.h" - #include "GUI/Util/Error.h" namespace { @@ -46,19 +38,13 @@ const QString JobNameAttribute("name"); JobModel::JobModel(QObject* parent) : SessionModel(GUI::Session::XML::JobModelTag, parent) - , m_queue_data(nullptr) { - m_queue_data = new JobQueueData(this); - connect(m_queue_data, &JobQueueData::focusRequest, this, &JobModel::focusRequest); - connect(m_queue_data, &JobQueueData::globalProgress, this, &JobModel::globalProgress); + m_queue_data = std::make_unique<JobQueueData>(this); + connect(m_queue_data.get(), &JobQueueData::focusRequest, this, &JobModel::focusRequest); + connect(m_queue_data.get(), &JobQueueData::globalProgress, this, &JobModel::globalProgress); setObjectName(GUI::Session::XML::JobModelTag); } -JobModel::~JobModel() -{ - delete m_queue_data; -} - JobItem* JobModel::getJobItemForIdentifier(const QString& identifier) { for (auto* jobItem : jobItems()) diff --git a/GUI/Model/Model/JobModel.h b/GUI/Model/Model/JobModel.h index e99481475e6e8a25d40bdd81aaeb6bf27af52800..ace8c12564ae5b972665e01a58121be17332d952 100644 --- a/GUI/Model/Model/JobModel.h +++ b/GUI/Model/Model/JobModel.h @@ -16,10 +16,10 @@ #define BORNAGAIN_GUI_MODEL_MODEL_JOBMODEL_H #include "GUI/Model/Model/SessionModel.h" +#include "GUI/Model/Model/JobQueueData.h" +#include "GUI/Model/Job/JobItem.h" class InstrumentItem; -class JobItem; -class JobQueueData; class MultiLayerItem; class RealItem; class DataItem; @@ -32,7 +32,6 @@ class JobModel : public SessionModel { public: explicit JobModel(QObject* parent = nullptr); - ~JobModel() override; JobItem* getJobItemForIdentifier(const QString& identifier); @@ -66,7 +65,7 @@ signals: private: //! generates numbered job name with new/unused number QString generateJobName(); - JobQueueData* m_queue_data; + std::unique_ptr<JobQueueData> m_queue_data; #ifdef NEW_JOB_MODEL std::vector<std::unique_ptr<JobItem>> m_jobItems; #endif