Skip to content
Snippets Groups Projects
Commit beaae729 authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

check if 1D

parent 8e1b30ff
No related branches found
No related tags found
1 merge request!2380Prevent trials to load clearly 1D data in 2D loader and vice versa (#904)
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "Base/Util/Assert.h" #include "Base/Util/Assert.h"
#include "Device/Data/Datafield.h" #include "Device/Data/Datafield.h"
#include "Device/IO/IOFactory.h" #include "Device/IO/IOFactory.h"
#include "Device/IO/ZipUtil.h"
#include "GUI/Model/Data/DataItem.h" #include "GUI/Model/Data/DataItem.h"
#include "GUI/Model/Device/DatafileItem.h" #include "GUI/Model/Device/DatafileItem.h"
#include "GUI/Model/Files/DatafilesQModel.h" #include "GUI/Model/Files/DatafilesQModel.h"
...@@ -338,11 +339,16 @@ void DatafilesSelector::importData2D() ...@@ -338,11 +339,16 @@ void DatafilesSelector::importData2D()
const IO::Filetype2D global_ftype = ::filterkey2type(filters2D, selectedFilter); const IO::Filetype2D global_ftype = ::filterkey2type(filters2D, selectedFilter);
for (const QString& fname : fnames) { for (const QString& fname : fnames) {
IO::Filetype2D ftype = global_ftype;
if (ftype == IO::unknown2D)
ftype = IO::filename2type2D(fname.toStdString());
try { try {
if (IO::isPure1dFile(fname.toStdString()))
throw std::runtime_error("File \""
+ ZipUtil::uncompressedExtension(fname.toStdString())
+ "\" may contain only 1D data");
IO::Filetype2D ftype = global_ftype;
if (ftype == IO::unknown2D)
ftype = IO::filename2type2D(fname.toStdString());
Datafield df = IO::readData2D(fname.toStdString(), ftype); Datafield df = IO::readData2D(fname.toStdString(), ftype);
if (df.rank() != 2) if (df.rank() != 2)
throw std::runtime_error("File does not contain a 2d data set"); throw std::runtime_error("File does not contain a 2d data set");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment