From f3d4cb475cbad4e2fd1043070e0b958f847175cd Mon Sep 17 00:00:00 2001 From: Joachim Wuttke <j.wuttke@fz-juelich.de> Date: Fri, 9 Feb 2024 17:05:32 +0100 Subject: [PATCH] access member directly --- GUI/Model/Files/DatafilesSet.cpp | 16 ++++++++-------- GUI/Model/Files/DatafilesSet.h | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/GUI/Model/Files/DatafilesSet.cpp b/GUI/Model/Files/DatafilesSet.cpp index f1be1a7d1a9..c9d756be004 100644 --- a/GUI/Model/Files/DatafilesSet.cpp +++ b/GUI/Model/Files/DatafilesSet.cpp @@ -42,19 +42,19 @@ void DatafilesSet::removeDatafileItem(DatafileItem* dfi) { ASSERT(dfi); int index = dfileItems().indexOf(dfi); - m_dfile_items.erase(m_dfile_items.begin() + index); + m_dfile_items.release_at(index); } void DatafilesSet::clear() { - for (auto* dfi : dfileItems()) + for (auto* dfi : m_dfile_items) removeDatafileItem(dfi); } QVector<DataItem*> DatafilesSet::dataItems() const { QVector<DataItem*> result; - for (auto* dfi : dfileItems()) + for (auto* dfi : m_dfile_items) if (auto* data_item = dfi->dataItem()) result.push_back(data_item); return result; @@ -65,7 +65,7 @@ void DatafilesSet::writeTo(QXmlStreamWriter* w) const XML::writeAttribute(w, XML::Attrib::version, uint(1)); // real items - for (auto* dfi : dfileItems()) { + for (auto* dfi : m_dfile_items) { w->writeStartElement(Tag::RealData); XML::writeAttribute(w, XML::Attrib::name, dfi->realItemName()); dfi->writeTo(w); @@ -110,7 +110,7 @@ void DatafilesSet::readFrom(QXmlStreamReader* r) void DatafilesSet::writeDatafiles(const QString& projectDir) const { - for (const auto* dfi : dfileItems()) + for (const auto* dfi : m_dfile_items) dfi->saveDatafield(projectDir); dataFilesCleaner.cleanOldFiles(projectDir, dataItems()); @@ -118,7 +118,7 @@ void DatafilesSet::writeDatafiles(const QString& projectDir) const void DatafilesSet::readDatafiles(const QString& projectDir, MessageService* messageService) { - for (auto* dfi : dfileItems()) + for (auto* dfi : m_dfile_items) dfi->loadDatafield(projectDir, messageService); dataFilesCleaner.recollectDataNames(dataItems()); @@ -128,14 +128,14 @@ QVector<DatafileItem*> DatafilesSet::dfileItems() const { QVector<DatafileItem*> items(m_dfile_items.size()); for (int i = 0; i < items.size(); i++) - items[i] = m_dfile_items[i].get(); + items[i] = m_dfile_items[i]; return items; } QStringList DatafilesSet::realItemNames() const { QStringList result; - for (DatafileItem* dfi : dfileItems()) + for (DatafileItem* dfi : m_dfile_items) result.append(dfi->realItemName()); return result; } diff --git a/GUI/Model/Files/DatafilesSet.h b/GUI/Model/Files/DatafilesSet.h index 38f9e45ec98..afdeb10412c 100644 --- a/GUI/Model/Files/DatafilesSet.h +++ b/GUI/Model/Files/DatafilesSet.h @@ -15,6 +15,7 @@ #ifndef BORNAGAIN_GUI_MODEL_FILES_DATAFILESSET_H #define BORNAGAIN_GUI_MODEL_FILES_DATAFILESSET_H +#include "Base/Types/OwningVector.h" #include "GUI/Model/Files/DatafilesCleaner.h" #include <QObject> #include <QXmlStreamWriter> @@ -48,7 +49,7 @@ private: QVector<DataItem*> dataItems() const; mutable DatafilesCleaner dataFilesCleaner; - std::vector<std::unique_ptr<DatafileItem>> m_dfile_items; + OwningVector<DatafileItem> m_dfile_items; int m_current_index = -1; }; -- GitLab