diff --git a/src/core/msrun.cpp b/src/core/msrun.cpp index 15f10376d449d44fc7d03fb7da13d9f4dcbfb69b..91f517f2fd40deb709e248b008017c5f391d08e8 100644 --- a/src/core/msrun.cpp +++ b/src/core/msrun.cpp @@ -89,13 +89,6 @@ MsRun::findMsRunFile() { QFileInfo file(this->getFilename()); - bool file_ok = false; - - if(file.exists()) - { - file_ok = true; - } - QString basename = file.baseName(); QString onlyfilename = file.fileName(); QSettings settings; @@ -116,25 +109,36 @@ MsRun::findMsRunFile() if(onlyfilename == file.fileName()) { this->setFilename(file.absoluteFilePath()); - file_ok = true; + if(_msrun_reader_sp == nullptr) + { + _msrun_reader_sp = pappso::MsRunReaderFactory::getInstance() + .buildPwizMsRunReaderSp(*this); + + return true; + } } if(file.fileName().contains(onlyfilename)) { - this->setFilename(file.absoluteFilePath()); - file_ok = true; + try + { + this->setFilename(file.absoluteFilePath()); + + if(_msrun_reader_sp == nullptr) + { + _msrun_reader_sp = + pappso::MsRunReaderFactory::getInstance() + .buildPwizMsRunReaderSp(*this); + return true; + } + } + catch(pappso::PappsoException &error) + { + _msrun_reader_sp = nullptr; + } } } } - if(file_ok) - { - if(_msrun_reader_sp == nullptr) - { - _msrun_reader_sp = - pappso::MsRunReaderFactory::getInstance().buildPwizMsRunReaderSp( - *this); - } - } - return file_ok; + return false; } void