diff --git a/src/dialogs/guimessagedialog.cpp b/src/dialogs/guimessagedialog.cpp index 9619ca5..f597e87 100644 --- a/src/dialogs/guimessagedialog.cpp +++ b/src/dialogs/guimessagedialog.cpp @@ -2,6 +2,8 @@ #include "guimessagedialog.h" #include "ui_guimessagedialog.h" #include "event/EventCenter.h" +#include +#include 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; +} diff --git a/src/dialogs/guimessagedialog.h b/src/dialogs/guimessagedialog.h index edbd636..ecb8dfc 100644 --- a/src/dialogs/guimessagedialog.h +++ b/src/dialogs/guimessagedialog.h @@ -6,7 +6,7 @@ namespace Ui { class GUIMessageDialog; } - +class QToolButton; class GUIMessageDialog : public QDialog { Q_OBJECT @@ -20,14 +20,22 @@ public: void hideExitButton(); void startLoading(); void stopLoading(); + void startPending(); + void stopPending(); + bool Pending(){ + return pending; + } void setOpacity(double); protected: void timerEvent(QTimerEvent* event) override ; private: Ui::GUIMessageDialog *ui; QList frame; + QToolButton *btn_main; + QToolButton *btn_Append; int frameIndex=0; int timerID = -1; + bool pending = false; }; #endif // GUIMESSAGEDIALOG_H diff --git a/src/dialogs/guimessagedialog.ui b/src/dialogs/guimessagedialog.ui index 55a0ca8..186aad8 100644 --- a/src/dialogs/guimessagedialog.ui +++ b/src/dialogs/guimessagedialog.ui @@ -96,13 +96,6 @@ - - - - ... - - -