Rename guimessagedialog to GUIMessageDialog.
This commit is contained in:
149
src/dialogs/GUIMessageDialog.cpp
Normal file
149
src/dialogs/GUIMessageDialog.cpp
Normal file
@@ -0,0 +1,149 @@
|
||||
#include "log/UserOperationLog.h"
|
||||
#include "GUIMessageDialog.h"
|
||||
#include "ui_guimessagedialog.h"
|
||||
#include "event/EventCenter.h"
|
||||
#include <QToolButton>
|
||||
#include <QHBoxLayout>
|
||||
GUIMessageDialog::GUIMessageDialog(QWidget *parent)
|
||||
: QDialog(parent)
|
||||
, mUI(new Ui::GUIMessageDialog)
|
||||
, mBtnMain(new QToolButton(this))
|
||||
, mBtnAppend(new QToolButton(this))
|
||||
, mFrameIndex(0)
|
||||
, mTimerID(-1)
|
||||
, mPending(false)
|
||||
{
|
||||
mUI->setupUi(this);
|
||||
this->setObjectName("MessageDialog");
|
||||
this->setWindowFlags (Qt :: FramelessWindowHint | Qt :: Dialog);
|
||||
this->showFullScreen ();
|
||||
initBaseLayout();
|
||||
this->setWindowOpacity(0.6);
|
||||
initLoadingFrameString();
|
||||
}
|
||||
|
||||
void GUIMessageDialog::initBaseLayout() {
|
||||
mUI->lblMsg->setVisible(false);
|
||||
mUI->lblProgressIcon->setVisible(false);
|
||||
mBtnMain->setObjectName("dialogBtn");
|
||||
mBtnMain->setVisible(false);
|
||||
mBtnMain->setText("OK");
|
||||
mBtnAppend->setObjectName("dialogBtn");
|
||||
mBtnAppend->setVisible(false);
|
||||
mBtnAppend->setText("Stop");
|
||||
auto btnContainer = new QWidget(this);
|
||||
auto hLayout = new QHBoxLayout(btnContainer);
|
||||
hLayout->setMargin(0);
|
||||
hLayout->addWidget(mBtnMain);
|
||||
hLayout->addWidget(mBtnAppend);
|
||||
|
||||
mUI->btnContainerWidget->layout()->addWidget(btnContainer);
|
||||
}
|
||||
|
||||
void GUIMessageDialog::initLoadingFrameString(){
|
||||
for (int i=1; i <= 6; i++)
|
||||
{
|
||||
QString str(" ");
|
||||
for(int j=0;j<i;j++)
|
||||
{
|
||||
str[j]='.';
|
||||
}
|
||||
mFrame.append(str);
|
||||
}
|
||||
for (int i=1; i<=6;i++)
|
||||
{
|
||||
QString str("......");
|
||||
for(int j=0;j<i;j++)
|
||||
{
|
||||
str[j]=' ';
|
||||
}
|
||||
mFrame.append(str);
|
||||
}
|
||||
}
|
||||
|
||||
GUIMessageDialog::~GUIMessageDialog()
|
||||
{
|
||||
delete mUI;
|
||||
}
|
||||
|
||||
void GUIMessageDialog::timerEvent(QTimerEvent *event) {
|
||||
if (mFrameIndex > 11) mFrameIndex = mFrameIndex % 12;
|
||||
mUI->lblProgressIcon->setText(mFrame[mFrameIndex++]);
|
||||
this->update();
|
||||
}
|
||||
|
||||
void GUIMessageDialog::stopLoading() {
|
||||
if (mTimerID != -1){
|
||||
killTimer(mTimerID);
|
||||
mTimerID=-1;
|
||||
}
|
||||
disconnect(mBtnMain, nullptr, nullptr, nullptr);
|
||||
mUI->lblProgressIcon->setVisible(false);
|
||||
}
|
||||
|
||||
void GUIMessageDialog::startLoading() {
|
||||
mUI->lblProgressIcon->setVisible(true);
|
||||
disconnect(mBtnMain, nullptr, nullptr, nullptr);
|
||||
connect(mBtnMain, &QToolButton::clicked, [=](){
|
||||
if (mTimerID != -1){
|
||||
killTimer(mTimerID);
|
||||
mTimerID = -1;
|
||||
}
|
||||
accept();
|
||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestStop, nullptr, nullptr);
|
||||
LOG_USER_OPERATION(Stop);
|
||||
});
|
||||
mTimerID = startTimer(100);
|
||||
mBtnMain->setText("Stop");
|
||||
mBtnMain->setVisible(true);
|
||||
}
|
||||
|
||||
void GUIMessageDialog::showMessage(const QString& msg) {
|
||||
mUI->lblMsg->setVisible(true);
|
||||
mUI->lblMsg->setText(msg);
|
||||
}
|
||||
|
||||
void GUIMessageDialog::showExitButton() {
|
||||
mBtnMain->setText("OK");
|
||||
mBtnMain->setVisible(true);
|
||||
disconnect(mBtnMain, nullptr, nullptr, nullptr);
|
||||
connect(mBtnMain, &QToolButton::clicked, [=](){
|
||||
if (mTimerID != -1){
|
||||
killTimer(mTimerID);
|
||||
mTimerID = -1;
|
||||
}
|
||||
accept();
|
||||
LOG_USER_OPERATION(ConfirmError);
|
||||
});
|
||||
}
|
||||
|
||||
void GUIMessageDialog::hideMessage() {
|
||||
mUI->lblMsg->setVisible(false);
|
||||
mUI->lblMsg->setText("");
|
||||
}
|
||||
|
||||
void GUIMessageDialog::hideExitButton() {
|
||||
mBtnMain->setVisible(false);
|
||||
disconnect(mBtnMain, nullptr, nullptr, nullptr);
|
||||
}
|
||||
|
||||
void GUIMessageDialog::setOpacity(double opacity) {
|
||||
this->setWindowOpacity(opacity);
|
||||
}
|
||||
|
||||
void GUIMessageDialog::startPending() {
|
||||
disconnect(mBtnAppend, nullptr, nullptr, nullptr);
|
||||
connect(mBtnAppend, &QToolButton::clicked, [=](){
|
||||
EventCenter::Default()->triggerEvent(GUIEvents::RequestContinueScan, nullptr, nullptr);
|
||||
stopPending();
|
||||
});
|
||||
mBtnAppend->setText("Next");
|
||||
mBtnAppend->setVisible(true);
|
||||
mPending = true;
|
||||
}
|
||||
|
||||
void GUIMessageDialog::stopPending() {
|
||||
disconnect(mBtnAppend, nullptr, nullptr, nullptr);
|
||||
mBtnAppend->setVisible(false);
|
||||
mPending = false;
|
||||
}
|
||||
Reference in New Issue
Block a user