From 0ee92f018133a2c84b34358b5da8974f07299bbc Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Wed, 2 Aug 2023 17:51:35 +0200 Subject: [PATCH] disbale exit-button as long as update process is running --- mainwindow.cpp | 10 ++++++++++ mainwindow.h | 2 ++ worker.cpp | 2 ++ worker.h | 2 ++ 4 files changed, 16 insertions(+) diff --git a/mainwindow.cpp b/mainwindow.cpp index 79a0ab2..e426c0c 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -31,6 +31,8 @@ MainWindow::MainWindow(Worker *worker, QWidget *parent) connect(m_exitTimer, SIGNAL(timeout()), ui->exit, SLOT(click())); connect(ui->start, SIGNAL(clicked()), m_worker, SLOT(update())); connect(ui->exit, SIGNAL(clicked()), this, SLOT(onQuit())); + connect(m_worker, SIGNAL(disableExit()), this, SLOT(onDisableExit())); + connect(m_worker, SIGNAL(enableExit()), this, SLOT(onEnableExit())); connect(m_worker, SIGNAL(stopStartTimer()), this, SLOT(onStopStartTimer())); connect(m_worker, SIGNAL(restartExitTimer()), this, SLOT(onRestartExitTimer())); connect(m_worker, SIGNAL(appendText(QString, QString)), this, SLOT(onAppendText(QString, QString))); @@ -60,6 +62,14 @@ void MainWindow::onStopStartTimer() { m_startTimer->stop(); } +void MainWindow::onDisableExit() { + ui->exit->setEnabled(false); +} + +void MainWindow::onEnableExit() { + ui->exit->setEnabled(true); +} + void MainWindow::onRestartExitTimer() { m_exitTimer->stop(); m_exitTimer->start(10 * 1000); diff --git a/mainwindow.h b/mainwindow.h index 71cd24e..63af2ee 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -23,6 +23,8 @@ public slots: void onSetProgress(quint8); void onStopStartTimer(); void onRestartExitTimer(); + void onEnableExit(); + void onDisableExit(); private slots: void onQuit(); diff --git a/worker.cpp b/worker.cpp index 68531ce..6f3c001 100644 --- a/worker.cpp +++ b/worker.cpp @@ -122,6 +122,7 @@ void Worker::privateUpdate() { start->setEnabled(false); emit stopStartTimer(); + emit disableExit(); m_updateProcessRunning = true; bool sentIsmasLastVersionNotification = false; @@ -217,6 +218,7 @@ void Worker::privateUpdate() { } m_updateProcessRunning = false; + emit enableExit(); emit restartExitTimer(); } diff --git a/worker.h b/worker.h index 4a4a371..3aba0db 100644 --- a/worker.h +++ b/worker.h @@ -176,6 +176,8 @@ signals: void setProgress(quint8); void stopStartTimer(); void restartExitTimer(); + void enableExit(); + void disableExit(); public slots: void update();