diff --git a/GUI/Model/Tune/JobsSet.cpp b/GUI/Model/Tune/JobsSet.cpp index 0acb3cddc5341192bb1a84352dcc16bf7158e57f..25dd826a1871bcd518c9f491838ce2bad304885d 100644 --- a/GUI/Model/Tune/JobsSet.cpp +++ b/GUI/Model/Tune/JobsSet.cpp @@ -68,6 +68,11 @@ QVector<JobItem*> JobsSet::jobItems() const return QVector<JobItem*>(m_job_items.begin(), m_job_items.end()); } +QVector<const JobItem*> JobsSet::cJobItems() const +{ + return QVector<const JobItem*>(m_job_items.begin(), m_job_items.end()); +} + //! restore instrument and sample model from backup for given JobItem void JobsSet::restore(JobItem* job_item, int index) { @@ -173,7 +178,7 @@ void JobsSet::removeJob(JobItem* job_item) QString JobsSet::generateJobName() { int maxJobIndex = 0; - for (const auto* job_item : jobItems()) { + for (const JobItem* job_item : cJobItems()) { if (job_item->batchInfo()->jobName().startsWith("job")) maxJobIndex = std::max(maxJobIndex, job_item->batchInfo()->jobName().mid(3).toInt()); } @@ -188,7 +193,7 @@ QString JobsSet::generateJobName() bool JobsSet::hasUnfinishedJobs() { - for (auto* job_item : jobItems()) + for (const JobItem* job_item : cJobItems()) if (isFitting(job_item->batchInfo()->status())) return true; @@ -265,7 +270,7 @@ void JobsSet::onProgressUpdate() int global_progress(0); int nRunningJobs(0); - for (auto* job_item : jobItems()) + for (const JobItem* job_item : cJobItems()) if (isRunning(job_item->batchInfo()->status())) { global_progress += job_item->batchInfo()->progress(); nRunningJobs++; diff --git a/GUI/Model/Tune/JobsSet.h b/GUI/Model/Tune/JobsSet.h index 5cbb319c6decab7f4ffd39fd8c7b3408e336e3ff..738c4c1eeb863d5234e6117fe354009b6f66473e 100644 --- a/GUI/Model/Tune/JobsSet.h +++ b/GUI/Model/Tune/JobsSet.h @@ -45,6 +45,7 @@ public: void addJobItem(JobItem* job_item); QVector<JobItem*> jobItems() const; + QVector<const JobItem*> cJobItems() const; void restore(JobItem* job_item, int index); diff --git a/GUI/View/JobControl/JobsQModel.cpp b/GUI/View/JobControl/JobsQModel.cpp index 1097d881cf4b89ed498d8ac8c9908182de637a1e..61df23ec06bc7f0278449c6f71538ac0b8d6a394 100644 --- a/GUI/View/JobControl/JobsQModel.cpp +++ b/GUI/View/JobControl/JobsQModel.cpp @@ -47,11 +47,11 @@ int JobsQModel::rowCount(const QModelIndex&) const QVariant JobsQModel::data(const QModelIndex& index, int role) const { - QVector<JobItem*> jobs = m_jobs->jobItems(); + QVector<const JobItem*> jobs = m_jobs->cJobItems(); if (!index.isValid() || index.row() >= jobs.size() || index.row() < 0) return {}; - JobItem* item = jobs[index.row()]; + const JobItem* item = jobs[index.row()]; if (role == Qt::DisplayRole) return item->batchInfo()->jobName(); @@ -68,7 +68,7 @@ JobItem* JobsQModel::jobItemForIndex(const QModelIndex& index) const QModelIndex JobsQModel::indexForJob(JobItem* job) { - QVector<JobItem*> jobs = m_jobs->jobItems(); + QVector<const JobItem*> jobs = m_jobs->cJobItems(); int idx = jobs.indexOf(job); if (idx != -1) return index(idx, 0); @@ -100,7 +100,7 @@ void JobsQModel::cancelJob(const QModelIndex& index) void JobsQModel::emitJobsQModelChanged(JobItem* job) { - QVector<JobItem*> jobs = m_jobs->jobItems(); + QVector<const JobItem*> jobs = m_jobs->cJobItems(); int i = jobs.indexOf(job); if (i != -1) { QModelIndex idx = index(i, 0);