diff --git a/src/core/tandem_run/tandembatchprocess.cpp b/src/core/tandem_run/tandembatchprocess.cpp index e8965d0dcfb77afafa4f32f3ed74f1586581d4f5..5179c93ab454a432150a669e5c474840dc19f935 100644 --- a/src/core/tandem_run/tandembatchprocess.cpp +++ b/src/core/tandem_run/tandembatchprocess.cpp @@ -124,6 +124,8 @@ void TandemBatchProcess::run() { runOne(mz_file); i++; } + + _p_monitor->finished(QObject::tr("%1 X!Tandem job(s) finished").arg(_tandem_run_batch._mz_file_list.size())); qDebug() << "TandemBatchProcess::run end" ; } diff --git a/src/core/tandem_run/tandemcondorprocess.cpp b/src/core/tandem_run/tandemcondorprocess.cpp index 3a45526ef79dd436f58fd0001ec5830d2067bd49..9ce6f7aa58a9b64d400ddf3daacb3430ae25d26a 100644 --- a/src/core/tandem_run/tandemcondorprocess.cpp +++ b/src/core/tandem_run/tandemcondorprocess.cpp @@ -253,6 +253,7 @@ void TandemCondorProcess::run() { surveyCondorJob(); + _p_monitor->finished(QObject::tr("%1 HTCondor X!Tandem job(s) finished").arg(_tandem_run_batch._mz_file_list.size())); qDebug() << "TandemCondorProcess::run end" ; } diff --git a/src/files/tandemparametersfile.cpp b/src/files/tandemparametersfile.cpp index fdcb10163272b2ca8c2ea789b09f17eace867ea9..b00dd2c08c687daca85f81e23eb6b4d62883e770 100644 --- a/src/files/tandemparametersfile.cpp +++ b/src/files/tandemparametersfile.cpp @@ -36,9 +36,16 @@ TandemParametersFile::TandemParametersFile(const QString & fasta_source) : _param_source(fasta_source) { qDebug() << "TandemParametersFile::TandemParametersFile "<< fasta_source; + if (!_param_source.exists()) { + throw pappso::PappsoException(QObject::tr("XML X!Tandem parameter file %1 does not exists").arg(_param_source.absoluteFilePath())); + } } TandemParametersFile::TandemParametersFile(const QFileInfo & fasta_source): _param_source(fasta_source) { + if (!_param_source.exists()) { + throw pappso::PappsoException(QObject::tr("XML X!Tandem parameter file %1 does not exists").arg(_param_source.absoluteFilePath())); + } + } TandemParametersFile::TandemParametersFile(const TandemParametersFile & other) : _param_source(other._param_source) { diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 44520a82edd1d4209ae2b5ac183d4a4889aae84b..24b029bacffa1f9bf8719bc5e0111168bafb2240 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -128,6 +128,15 @@ void MainWindow::viewError(QString error) { tr("Oops! an error occurred in XTPCPP. Dont Panic :"), error); } +void MainWindow::doDisplayJobFinished(QString message) { + qDebug() << "MainWindow::doDisplayJobFinished " << message; + hideWaitingMessage(); + QMessageBox::information(this, + tr("job finished"), message); + + +} + void MainWindow::doDisplayLoadingMessage(QString message) { qDebug() << "MainWindow::doDisplayLoadingMessage " << message; _p_waiting_message_dialog->message(message); diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index 0c8adc9d473702406cad8bb796a189e35ade1ce4..d0ab7b21ca5c6a7bc86824653d9bf76f44b4861e 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -76,6 +76,7 @@ public slots: void doActionModifications(); void doDisplayLoadingMessage(QString message); void doDisplayLoadingMessagePercent(QString message, int value); + void doDisplayJobFinished(QString message); void doWorkerAppendText(char *); void doWorkerSetText(QString); void doProjectReady(ProjectSp project_sp); diff --git a/src/gui/tandem_run_dialog/tandemrundialog.cpp b/src/gui/tandem_run_dialog/tandemrundialog.cpp index 854ef8be107f64ae52fb8a90cb5893da373129fa..5d4f0aa6608aa478ebaadad232d3b28ff1f0bbda 100644 --- a/src/gui/tandem_run_dialog/tandemrundialog.cpp +++ b/src/gui/tandem_run_dialog/tandemrundialog.cpp @@ -120,7 +120,7 @@ void TandemRunDialog::selectPresetDirectory() { QString directory = QFileDialog::getExistingDirectory(this,tr("Choose preset directory"),default_preset_location ); - if (!directory.isEmpty()) { + if (!directory.isEmpty() && ! directory.isNull()) { settings.setValue("path/tandemrun_preset_directory", directory); fillPresetComboBox(); } diff --git a/src/gui/workerthread.cpp b/src/gui/workerthread.cpp index 4588035be4ba0ef7979ee404de57d1dc9aac73d8..ff9cb5c7b749f1459e5a25db540dac0c9f5e2006 100644 --- a/src/gui/workerthread.cpp +++ b/src/gui/workerthread.cpp @@ -55,6 +55,7 @@ WorkerThread::WorkerThread(MainWindow * p_main_window) connect(_p_work_monitor, &WorkMonitor::workerMessagePercent, p_main_window,&MainWindow::doDisplayLoadingMessagePercent); connect(_p_work_monitor, &WorkMonitor::workerAppendText, p_main_window,&MainWindow::doWorkerAppendText); connect(_p_work_monitor, &WorkMonitor::workerSetText, p_main_window,&MainWindow::doWorkerSetText); + connect(_p_work_monitor, &WorkMonitor::workerJobFinished, p_main_window,&MainWindow::doDisplayJobFinished); connect(p_main_window, &MainWindow::operateXpipFile, this,&WorkerThread::doXpipFileLoad); connect(this, &WorkerThread::projectReady, p_main_window,&MainWindow::doProjectReady); diff --git a/src/utils/workmonitor.cpp b/src/utils/workmonitor.cpp index 76ac1899141c34e0f64927e6cacef8e3ccada73d..e1294423fc6874952f7669b2d6c003234d9829ef 100644 --- a/src/utils/workmonitor.cpp +++ b/src/utils/workmonitor.cpp @@ -36,6 +36,10 @@ WorkMonitor::WorkMonitor() { _timer_duration = 200; _time.restart(); } + +void WorkMonitor::finished(const QString & message) { + emit workerJobFinished(message); +} void WorkMonitor::message(const QString & message) { if (_time.elapsed() > _timer_duration) { _time.currentTime(); @@ -52,12 +56,12 @@ void WorkMonitor::message(const QString & message, int value) { } } void WorkMonitor::setProgressMaximumValue(int max_value) { - //qDebug() << "WorkMonitor::setProgressMaximumValue " << max_value; + //qDebug() << "WorkMonitor::setProgressMaximumValue " << max_value; _max_value = max_value; } void WorkMonitor::appendText(char * p_char) { - //qDebug() << "WorkMonitor::setProgressMaximumValue " << max_value; + //qDebug() << "WorkMonitor::setProgressMaximumValue " << max_value; emit workerAppendText(p_char); } diff --git a/src/utils/workmonitor.h b/src/utils/workmonitor.h index bf53e37f4eb3bfccda6d1eddace1937be660e050..4c45540e5a384dbd156b7134927becf011587573 100644 --- a/src/utils/workmonitor.h +++ b/src/utils/workmonitor.h @@ -37,6 +37,7 @@ class WorkMonitorInterface { public: + virtual void finished(const QString & message) = 0; virtual void message(const QString & message) = 0; virtual void message(const QString & message, int value) = 0; virtual void setProgressMaximumValue(int max_value) = 0; @@ -49,13 +50,15 @@ class WorkMonitor: public QObject, public WorkMonitorInterface Q_OBJECT public: WorkMonitor(); + void finished(const QString & message) override; void message(const QString & message) override; void message(const QString & message, int value) override; void setProgressMaximumValue(int max_value) override; void appendText(char * p_char) override; void setText(const QString text) override; - - signals: + +signals: + void workerJobFinished(QString message); void workerMessage(QString message); void workerMessagePercent(QString message, int value); void workerAppendText(char * p_char);