From 9437a4c1b0f0827cf7c17a93c0e6413f5c4fa658 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Tue, 23 May 2023 07:24:42 +0200 Subject: [PATCH] Import 2d: save 2 fct calls --- GUI/View/Import/ImportDataUtil.cpp | 6 ------ GUI/View/Import/ImportDataUtil.h | 3 --- GUI/View/Import/RealDataSelectorWidget.cpp | 14 ++++++++------ 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/GUI/View/Import/ImportDataUtil.cpp b/GUI/View/Import/ImportDataUtil.cpp index 6a4dac8ae5d..aedff3b1fa2 100644 --- a/GUI/View/Import/ImportDataUtil.cpp +++ b/GUI/View/Import/ImportDataUtil.cpp @@ -51,12 +51,6 @@ std::unique_ptr<Datafield> ImportKnownData(const QString& fileName, } // namespace -std::unique_ptr<Datafield> GUI::View::ImportDataUtil::Import2dData(const QString& fileName, - IO::Filetype2D ftype) -{ - return ImportKnownData(fileName, ftype); -} - QString GUI::View::ImportDataUtil::Import1dData(RealItem* realItem, const IDataLoader* selectedLoader) { diff --git a/GUI/View/Import/ImportDataUtil.h b/GUI/View/Import/ImportDataUtil.h index 15336a79204..acb841fac7f 100644 --- a/GUI/View/Import/ImportDataUtil.h +++ b/GUI/View/Import/ImportDataUtil.h @@ -28,9 +28,6 @@ class IDataLoader; namespace GUI::View::ImportDataUtil { -//! Imports 2D data, stores them as Datafield, and returns owning pointer. -std::unique_ptr<Datafield> Import2dData(const QString& fileName, IO::Filetype2D ftype); - //! Imports 1D data into the given item. //! Returns an error text if a fatal error occurred (discard item). diff --git a/GUI/View/Import/RealDataSelectorWidget.cpp b/GUI/View/Import/RealDataSelectorWidget.cpp index ab10fe5d9bc..09bac31fbc8 100644 --- a/GUI/View/Import/RealDataSelectorWidget.cpp +++ b/GUI/View/Import/RealDataSelectorWidget.cpp @@ -14,6 +14,7 @@ #include "GUI/View/Import/RealDataSelectorWidget.h" #include "Device/Data/Datafield.h" +#include "Device/IO/IOFactory.h" #include "GUI/Application/ApplicationSettings.h" #include "GUI/Model/Device/RealItem.h" #include "GUI/Model/Model/RealTreeModel.h" @@ -311,13 +312,14 @@ void RealDataSelectorWidget::importData2D() const IO::Filetype2D ftype = filters2D.at(selectedFilter); for (const QString& fileName : fileNames) { - std::unique_ptr<Datafield> data = GUI::View::ImportDataUtil::Import2dData(fileName, ftype); - if (!data) - continue; - RealItem* realItem = m_treeModel->injectDataItem(2); - realItem->setRealItemName(QFileInfo(fileName).baseName()); - + RealItem* realItem = nullptr; try { + std::unique_ptr<Datafield> data(IO::readData2D(fileName.toStdString(), ftype)); + if (!data) + continue; + realItem = m_treeModel->injectDataItem(2); + realItem->setRealItemName(QFileInfo(fileName).baseName()); + if (data->rank() != 2) throw std::runtime_error( "The content could not be interpreted correctly as 2-dimensional"); -- GitLab