From f70f0d573d3380e6c1c6ff311c4736b433c76a08 Mon Sep 17 00:00:00 2001 From: Olivier Langella <Olivier.Langella@moulon.inra.fr> Date: Sat, 10 Jun 2017 12:52:25 +0200 Subject: [PATCH] good settings --- .../waiting_message_dialog/waitingmessagedialog.cpp | 2 ++ src/gui/workerthread.cpp | 13 ++++++++++++- src/utils/workmonitor.cpp | 9 +++++++-- src/utils/workmonitor.h | 5 +++-- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/gui/waiting_message_dialog/waitingmessagedialog.cpp b/src/gui/waiting_message_dialog/waitingmessagedialog.cpp index 146785f5f..87c1a57e7 100644 --- a/src/gui/waiting_message_dialog/waitingmessagedialog.cpp +++ b/src/gui/waiting_message_dialog/waitingmessagedialog.cpp @@ -57,6 +57,8 @@ WaitingMessageDialog::~WaitingMessageDialog() } void WaitingMessageDialog::message(const QString & message) { + + ui->progress_bar->setVisible(false); ui->message_label->setText(message); } diff --git a/src/gui/workerthread.cpp b/src/gui/workerthread.cpp index 8e179cd42..663669196 100644 --- a/src/gui/workerthread.cpp +++ b/src/gui/workerthread.cpp @@ -87,11 +87,19 @@ WorkerThread::WorkerThread(MainWindow * p_main_window) WorkerThread::WorkerThread(ProjectWindow * p_project_window) { qDebug() << "WorkerThread::WorkerThread begin ProjectWindow"; + + _p_work_monitor = new WorkMonitor(); + #if QT_VERSION >= 0x050000 // Qt5 code #else // Qt4 code qDebug() << "WorkerThread::WorkerThread Qt4 code"; + + //worker message + connect(_p_work_monitor, SIGNAL(workerMessage(QString)), p_project_window,SLOT(doDisplayLoadingMessage(QString))); + connect(_p_work_monitor, SIGNAL(workerMessage(QString, int)), p_project_window,SLOT(doDisplayLoadingMessage(QString, int))); + connect(this, SIGNAL(loadingMessage(QString)), p_project_window,SLOT(doDisplayLoadingMessage(QString))); //grouping connect(p_project_window, SIGNAL(operateGrouping(ProjectSp)), this,SLOT(doGrouping(ProjectSp))); @@ -259,9 +267,12 @@ void WorkerThread::doLoadingResults(bool is_individual, AutomaticFilterParameter ProjectSp project_sp = Project().makeProjectSp(); project_sp.get()->setCombineMode(!is_individual); + _p_work_monitor->setProgressMaximumValue(file_list.size()); + int i=0; for (QString filename : file_list) { - emit loadingMessage(tr("loading result file %1").arg(filename)); + _p_work_monitor->message(tr("loading result file %1 (%2 on %3)").arg(filename).arg(i).arg(file_list.size()), i); project_sp.get()->readResultFile(filename); + i++; } emit loadingMessage(tr("filtering proteins")); diff --git a/src/utils/workmonitor.cpp b/src/utils/workmonitor.cpp index 2c3b80da5..366de85a8 100644 --- a/src/utils/workmonitor.cpp +++ b/src/utils/workmonitor.cpp @@ -31,6 +31,10 @@ #include "workmonitor.h" #include <QDebug> +WorkMonitor::WorkMonitor() { + _max_value = 100; + _timer_duration = 200; +} void WorkMonitor::message(const QString & message) { if (_time.elapsed() > _timer_duration) { _time.currentTime(); @@ -38,9 +42,10 @@ void WorkMonitor::message(const QString & message) { } } void WorkMonitor::message(const QString & message, int value) { - qDebug() << "WorkMonitor::message " << value << " " << _max_value << " " << (value/_max_value)*100; - int percent = ((float)value/(float)_max_value)*(float)100; + //qDebug() << "WorkMonitor::message " << value << " " << _max_value << " " << (value/_max_value)*100; if (_time.elapsed() > _timer_duration) { + int percent = ((float)value/(float)_max_value)*(float)100; + _time.restart(); emit workerMessage(message,percent); } diff --git a/src/utils/workmonitor.h b/src/utils/workmonitor.h index 9442cebb9..7455825e0 100644 --- a/src/utils/workmonitor.h +++ b/src/utils/workmonitor.h @@ -46,6 +46,7 @@ class WorkMonitor: public QObject, public WorkMonitorInterface { Q_OBJECT public: + WorkMonitor(); void message(const QString & message) override; void message(const QString & message, int value) override; void setProgressMaximumValue(int max_value) override; @@ -56,8 +57,8 @@ public: private : QTime _time; - int _max_value = 100; - int _timer_duration = 500; + int _max_value; + int _timer_duration; }; #endif // WORKMONITOR_H -- GitLab