Fix a Message box bug.

This commit is contained in:
Krad
2021-10-27 16:03:10 +08:00
parent 06936ac4e8
commit fb1ed527c1
2 changed files with 21 additions and 13 deletions

View File

@@ -74,13 +74,13 @@ void GUIMessageDialog::startLoading() {
void GUIMessageDialog::showMessage(QString msg) {
ui->lbl_msg->setVisible(true);
ui->lbl_msg->setText(msg);
disconnect(ui->btn_main);
disconnect(ui->btn_main,0,0,0);
}
void GUIMessageDialog::showExitButton() {
ui->btn_main->setText("OK");
ui->btn_main->setVisible(true);
disconnect(ui->btn_main);
disconnect(ui->btn_main,0,0,0);
connect(ui->btn_main,&QToolButton::clicked,[=](){
if (timerID != -1){
killTimer(timerID);
@@ -96,6 +96,6 @@ void GUIMessageDialog::hideMessage() {
}
void GUIMessageDialog::hideExitButton() {
if(ui->btn_main->text()=="OK") ui->btn_main->setVisible(false);
disconnect(ui->btn_main);
ui->btn_main->setVisible(false);
disconnect(ui->btn_main,0,0,0);
}

View File

@@ -89,7 +89,11 @@ MainWindow::MainWindow(QWidget* parent) :
ui->centralWidget->setLayout(layout);
this->setWindowFlags(Qt::Window);
connect(EventCenter::Default(), &EventCenter::GUIErrorRaise, [=](QObject*, QObject* msg) {
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
if (msgDialog){
msgDialog->hide();
delete msgDialog;
}
msgDialog = new GUIMessageDialog(this);
if (msg)
{
QString* str = (QString*)msg;
@@ -98,13 +102,17 @@ MainWindow::MainWindow(QWidget* parent) :
else {
msgDialog->showMessage("Something went error!");
}
msgDialog->showExitButton();
msgDialog->stopLoading();
msgDialog->showExitButton();
// msgDialog->showFullScreen();
msgDialog->show();
if (msgDialog->isHidden())msgDialog->show();
});
connect(EventCenter::Default(), &EventCenter::InvokeOperationStart, [=](QObject*, QObject* msg) {
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
if (msgDialog){
msgDialog->hide();
delete msgDialog;
}
msgDialog = new GUIMessageDialog(this);
if (msg)
{
QString* str = (QString*)msg;
@@ -116,7 +124,7 @@ MainWindow::MainWindow(QWidget* parent) :
msgDialog->hideExitButton();
msgDialog->startLoading();
// msgDialog->showFullScreen();
msgDialog->show();
if (msgDialog->isHidden())msgDialog->show();
});
connect(EventCenter::Default(), &EventCenter::InvokeOperationProgress, [=](QObject*, QObject* msg) {
if (!msgDialog) msgDialog = new GUIMessageDialog(this);
@@ -128,14 +136,14 @@ MainWindow::MainWindow(QWidget* parent) :
else {
msgDialog->hideMessage();
}
msgDialog->hideExitButton();
// msgDialog->showFullScreen();
msgDialog->show();
if (msgDialog->isHidden())msgDialog->show();
});
connect(EventCenter::Default(), &EventCenter::InvokeOperationEnd, [=]() {
if (!msgDialog) return;
msgDialog->stopLoading();
msgDialog->hide();
if (!msgDialog->isHidden())msgDialog->accept();
delete msgDialog;
msgDialog = nullptr;
});
DeviceManager::Default()->initDevice();
centerWidgetHide();