From 2082e9b130e04e01097d541f26e52faffea7cbfc Mon Sep 17 00:00:00 2001 From: Olivier Langella <Olivier.Langella@moulon.inra.fr> Date: Thu, 21 Sep 2017 17:11:54 +0200 Subject: [PATCH] WIP: job finished message --- src/core/tandem_run/tandembatchprocess.cpp | 2 ++ src/core/tandem_run/tandemcondorprocess.cpp | 1 + src/files/tandemparametersfile.cpp | 7 +++++++ src/gui/mainwindow.cpp | 9 +++++++++ src/gui/mainwindow.h | 1 + src/gui/tandem_run_dialog/tandemrundialog.cpp | 2 +- src/gui/workerthread.cpp | 1 + src/utils/workmonitor.cpp | 8 ++++++-- src/utils/workmonitor.h | 7 +++++-- 9 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/core/tandem_run/tandembatchprocess.cpp b/src/core/tandem_run/tandembatchprocess.cpp index e8965d0dc..5179c93ab 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 3a45526ef..9ce6f7aa5 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 fdcb10163..b00dd2c08 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 44520a82e..24b029bac 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 0c8adc9d4..d0ab7b21c 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 854ef8be1..5d4f0aa66 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 4588035be..ff9cb5c7b 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 76ac18991..e1294423f 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 bf53e37f4..4c45540e5 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); -- GitLab