diff --git a/src/guimessagedialog.cpp b/src/guimessagedialog.cpp new file mode 100644 index 0000000..db54dce --- /dev/null +++ b/src/guimessagedialog.cpp @@ -0,0 +1,75 @@ +#include "guimessagedialog.h" +#include "ui_guimessagedialog.h" +#include "event/EventCenter.h" +GUIMessageDialog::GUIMessageDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::GUIMessageDialog) +{ + ui->setupUi(this); + this->setWindowFlags (Qt :: FramelessWindowHint | Qt :: Dialog); + this->showFullScreen (); + ui->lbl_msg->setVisible(false); + ui->lbl_progressicon->setVisible(false); + ui->btn_main->setVisible(false); + this->setWindowOpacity(0.6); + for (int i=1; i<=6;i++) + { + QString str(" "); + for(int j=0;j11) frameIndex = frameIndex % 12; + ui->lbl_progressicon->setText(frame[frameIndex++]); + this->update(); + printf("trigger timer event\r\n"); +} + +void GUIMessageDialog::stopLoading() { + if (timerID!=-1)killTimer(timerID); + ui->lbl_progressicon->setVisible(false); + +} + +void GUIMessageDialog::startLoading() { + ui->lbl_progressicon->setVisible(true); + timerID = startTimer(100); +} + +void GUIMessageDialog::showMessage(QString msg) { + ui->lbl_msg->setText(msg); +} + +void GUIMessageDialog::showExitButton() { + ui->btn_main->setVisible(true); + disconnect(ui->btn_main); + connect(ui->btn_main,&QToolButton::clicked,[=](){ + accept(); + }); +} diff --git a/src/guimessagedialog.h b/src/guimessagedialog.h new file mode 100644 index 0000000..3e418c4 --- /dev/null +++ b/src/guimessagedialog.h @@ -0,0 +1,30 @@ +#ifndef GUIMESSAGEDIALOG_H +#define GUIMESSAGEDIALOG_H + +#include +#include +namespace Ui { +class GUIMessageDialog; +} + +class GUIMessageDialog : public QDialog +{ + Q_OBJECT + +public: + explicit GUIMessageDialog(QWidget *parent = nullptr); + ~GUIMessageDialog(); + void showMessage(QString msg); + void showExitButton(); + void startLoading(); + void stopLoading(); +protected: + void timerEvent(QTimerEvent* event) override ; +private: + Ui::GUIMessageDialog *ui; + QList frame; + int frameIndex=0; + int timerID = -1; +}; + +#endif // GUIMESSAGEDIALOG_H diff --git a/src/guimessagedialog.ui b/src/guimessagedialog.ui new file mode 100644 index 0000000..e635b20 --- /dev/null +++ b/src/guimessagedialog.ui @@ -0,0 +1,107 @@ + + + GUIMessageDialog + + + Qt::WindowModal + + + + 0 + 0 + 620 + 532 + + + + Dialog + + + true + + + + 680 + + + 380 + + + 680 + + + 380 + + + + + + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + ... + + + + + + + + + + + + + +