Add pending function to guimessagedialog.

This commit is contained in:
Krad
2022-05-12 09:07:55 +08:00
parent 2ee243a891
commit bd7bd4d55f
3 changed files with 54 additions and 22 deletions

View File

@@ -2,6 +2,8 @@
#include "guimessagedialog.h"
#include "ui_guimessagedialog.h"
#include "event/EventCenter.h"
#include <QToolButton>
#include <QHBoxLayout>
GUIMessageDialog::GUIMessageDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::GUIMessageDialog)
@@ -12,8 +14,21 @@ GUIMessageDialog::GUIMessageDialog(QWidget *parent) :
this->showFullScreen ();
ui->lbl_msg->setVisible(false);
ui->lbl_progressicon->setVisible(false);
ui->btn_main->setVisible(false);
ui->btn_main->setText("OK");
btn_main = new QToolButton(this);
btn_main->setObjectName("btn_main");
btn_main->setVisible(false);
btn_main->setText("OK");
btn_Append = new QToolButton(this);
btn_Append->setObjectName("btn_main");
btn_Append->setVisible(false);
btn_Append->setText("Stop");
QWidget* btnContainer = new QWidget(this);
QHBoxLayout* hlayout = new QHBoxLayout(btnContainer);
hlayout->setMargin(0);
hlayout->addWidget(btn_main);
hlayout->addWidget(btn_Append);
ui->widget_2->layout()->addWidget(btnContainer);
this->setWindowOpacity(0.6);
for (int i=1; i<=6;i++)
{
@@ -51,14 +66,14 @@ void GUIMessageDialog::stopLoading() {
killTimer(timerID);
timerID=-1;
}
disconnect(ui->btn_main,0,0,0);
disconnect(btn_main,0,0,0);
ui->lbl_progressicon->setVisible(false);
}
void GUIMessageDialog::startLoading() {
ui->lbl_progressicon->setVisible(true);
disconnect(ui->btn_main,0,0,0);
connect(ui->btn_main,&QToolButton::clicked,[=](){
disconnect(btn_main,0,0,0);
connect(btn_main,&QToolButton::clicked,[=](){
if (timerID != -1){
killTimer(timerID);
timerID = -1;
@@ -68,9 +83,8 @@ void GUIMessageDialog::startLoading() {
LOG_USER_OPERATION(Stop);
});
timerID = startTimer(100);
ui->btn_main->setText("Stop");
ui->btn_main->setVisible(true);
btn_main->setText("Stop");
btn_main->setVisible(true);
}
void GUIMessageDialog::showMessage(QString msg) {
@@ -79,10 +93,10 @@ void GUIMessageDialog::showMessage(QString msg) {
}
void GUIMessageDialog::showExitButton() {
ui->btn_main->setText("OK");
ui->btn_main->setVisible(true);
disconnect(ui->btn_main,0,0,0);
connect(ui->btn_main,&QToolButton::clicked,[=](){
btn_main->setText("OK");
btn_main->setVisible(true);
disconnect(btn_main,0,0,0);
connect(btn_main,&QToolButton::clicked,[=](){
if (timerID != -1){
killTimer(timerID);
timerID = -1;
@@ -98,10 +112,27 @@ void GUIMessageDialog::hideMessage() {
}
void GUIMessageDialog::hideExitButton() {
ui->btn_main->setVisible(false);
disconnect(ui->btn_main,0,0,0);
btn_main->setVisible(false);
disconnect(btn_main,0,0,0);
}
void GUIMessageDialog::setOpacity(double opacity) {
this->setWindowOpacity(opacity);
}
void GUIMessageDialog::startPending() {
disconnect(btn_Append,0,0,0);
connect(btn_Append,&QToolButton::clicked,[=](){
EventCenter::Default()->triggerEvent(GUIEvents::RequestContinueScan, nullptr, nullptr);
stopPending();
});
btn_Append->setText("Next");
btn_Append->setVisible(true);
pending = true;
}
void GUIMessageDialog::stopPending() {
disconnect(btn_Append,0,0,0);
btn_Append->setVisible(false);
pending = false;
}