From 9cd246e4df698268de7e37e4940638d8eb944f6e Mon Sep 17 00:00:00 2001 From: Krad Date: Wed, 27 Oct 2021 14:16:00 +0800 Subject: [PATCH] Fix a guiMessageDialog button repeat connect bug. --- src/guimessagedialog.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/guimessagedialog.cpp b/src/guimessagedialog.cpp index 5e0b358..d1409ab 100644 --- a/src/guimessagedialog.cpp +++ b/src/guimessagedialog.cpp @@ -46,17 +46,17 @@ void GUIMessageDialog::timerEvent(QTimerEvent *event) { } void GUIMessageDialog::stopLoading() { - if (timerID!=-1)killTimer(timerID); + if (timerID!=-1){ + killTimer(timerID); + timerID=-1; + } + disconnect(ui->btn_main,0,0,0); ui->lbl_progressicon->setVisible(false); - } void GUIMessageDialog::startLoading() { ui->lbl_progressicon->setVisible(true); - timerID = startTimer(100); - ui->btn_main->setText("Stop"); - ui->btn_main->setVisible(true); - disconnect(ui->btn_main); + disconnect(ui->btn_main,0,0,0); connect(ui->btn_main,&QToolButton::clicked,[=](){ if (timerID != -1){ killTimer(timerID); @@ -65,11 +65,16 @@ void GUIMessageDialog::startLoading() { accept(); EventCenter::Default()->triggerEvent(GUIEvents::RequestStop, nullptr, nullptr); }); + timerID = startTimer(100); + ui->btn_main->setText("Stop"); + ui->btn_main->setVisible(true); + } void GUIMessageDialog::showMessage(QString msg) { ui->lbl_msg->setVisible(true); ui->lbl_msg->setText(msg); + disconnect(ui->btn_main); } void GUIMessageDialog::showExitButton() {