Fix a guiMessageDialog button repeat connect bug.

This commit is contained in:
Krad
2021-10-27 14:16:00 +08:00
parent fba496ce32
commit 9cd246e4df

View File

@@ -46,17 +46,17 @@ void GUIMessageDialog::timerEvent(QTimerEvent *event) {
} }
void GUIMessageDialog::stopLoading() { 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); ui->lbl_progressicon->setVisible(false);
} }
void GUIMessageDialog::startLoading() { void GUIMessageDialog::startLoading() {
ui->lbl_progressicon->setVisible(true); ui->lbl_progressicon->setVisible(true);
timerID = startTimer(100); disconnect(ui->btn_main,0,0,0);
ui->btn_main->setText("Stop");
ui->btn_main->setVisible(true);
disconnect(ui->btn_main);
connect(ui->btn_main,&QToolButton::clicked,[=](){ connect(ui->btn_main,&QToolButton::clicked,[=](){
if (timerID != -1){ if (timerID != -1){
killTimer(timerID); killTimer(timerID);
@@ -65,11 +65,16 @@ void GUIMessageDialog::startLoading() {
accept(); accept();
EventCenter::Default()->triggerEvent(GUIEvents::RequestStop, nullptr, nullptr); 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) { void GUIMessageDialog::showMessage(QString msg) {
ui->lbl_msg->setVisible(true); ui->lbl_msg->setVisible(true);
ui->lbl_msg->setText(msg); ui->lbl_msg->setText(msg);
disconnect(ui->btn_main);
} }
void GUIMessageDialog::showExitButton() { void GUIMessageDialog::showExitButton() {