From 2ff2145dc478e035ae2d9bd6788270aaf3415f17 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Mon, 28 Jan 2019 09:22:17 +0100 Subject: [PATCH] checking MS run file path completed --- src/core/msrun.cpp | 12 +++++++- .../export_masschroq_dialog.ui | 26 ++++++++++++++++- .../exportmasschroqdialog.cpp | 28 ++++++++++++++----- 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/src/core/msrun.cpp b/src/core/msrun.cpp index cfd706e7d..1c65d870b 100644 --- a/src/core/msrun.cpp +++ b/src/core/msrun.cpp @@ -111,7 +111,17 @@ MsRun::findMsRunFile() // first look at the file path :) _msrun_reader_sp = getMsRunReaderSp(); if(_msrun_reader_sp != nullptr) - return true; + { + QFileInfo real_file(this->getFilename()); + if(real_file.exists()) + { + return true; + } + else + { + _msrun_reader_sp = nullptr; + } + } QFileInfo file_original(this->getFilename()); QString basename = file_original.baseName(); QString onlyfilename = file_original.fileName(); diff --git a/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui b/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui index 8e479dc82..cb5836ebb 100644 --- a/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui +++ b/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui @@ -202,7 +202,7 @@ </property> </widget> </item> - <item row="2" column="0"> + <item row="3" column="0"> <spacer name="verticalSpacer_3"> <property name="orientation"> <enum>Qt::Vertical</enum> @@ -252,6 +252,13 @@ </layout> </widget> </item> + <item row="2" column="0"> + <widget class="QLabel" name="msrunFilepathOkLabel"> + <property name="text"> + <string>TextLabel</string> + </property> + </widget> + </item> </layout> </widget> </widget> @@ -339,10 +346,27 @@ </hint> </hints> </connection> + <connection> + <sender>browseMsrunDirectoryButton</sender> + <signal>clicked()</signal> + <receiver>ExportMasschroqDialog</receiver> + <slot>doBrowseMsrunDirectory()</slot> + <hints> + <hint type="sourcelabel"> + <x>557</x> + <y>137</y> + </hint> + <hint type="destinationlabel"> + <x>787</x> + <y>184</y> + </hint> + </hints> + </connection> </connections> <slots> <slot>reject()</slot> <slot>accept()</slot> <slot>doCheckMsrunFilepath()</slot> + <slot>doBrowseMsrunDirectory()</slot> </slots> </ui> diff --git a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp index a6b086e6c..7d7960342 100644 --- a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp +++ b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp @@ -45,6 +45,7 @@ ExportMasschroqDialog::ExportMasschroqDialog(QWidget *parent) this->setModal(true); ui->directorySelectWidget->setHidden(true); + ui->msrunFilepathOkLabel->setHidden(true); #if QT_VERSION >= 0x050000 // Qt5 code @@ -173,6 +174,7 @@ void ExportMasschroqDialog::doCheckMsrunFilepath() { + ui->msrunFilepathOkLabel->setHidden(true); bool is_ok = true; for(IdentificationDataSourceSp p_ident_data_source : mp_project->getIdentificationDataSourceStore() @@ -187,15 +189,23 @@ ExportMasschroqDialog::doCheckMsrunFilepath() else { is_ok = false; + } + if(!is_ok) + { ui->warningDirectoryLabel->setText( tr("%1 not found : Please choose the directory to look for this MS " - "run file.")); + "run file.") + .arg(msrun_sp.get()->getFilename())); ui->directorySelectWidget->setHidden(false); + break; } } if(is_ok) { ui->directorySelectWidget->setHidden(true); + + ui->msrunFilepathOkLabel->setText(tr("All MS run files found")); + ui->msrunFilepathOkLabel->setHidden(false); } } @@ -206,11 +216,15 @@ ExportMasschroqDialog::doBrowseMsrunDirectory() QSettings settings; QString path = settings.value("path/mzdatadir", "").toString(); QString filename = QFileDialog::getExistingDirectory( - this, tr("Save TSV files"), QString("%1").arg(path)); + this, tr("Choose directory to look for MS runs"), QString("%1").arg(path)); - QDir parent(filename); - parent.cdUp(); - settings.setValue("path/mzdatadir", parent.canonicalPath()); - qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__ << " " - << parent.absolutePath(); + if(!filename.isEmpty()) + { + QDir parent(filename); + // parent.cdUp(); + settings.setValue("path/mzdatadir", parent.canonicalPath()); + doCheckMsrunFilepath(); + qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__ << " " + << parent.absolutePath(); + } } -- GitLab