diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 0f976a4..ae33c89 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,4 +1,4 @@ -#include "mainwindow.h" +#include "mainwindow.h" #include "ui_mainwindow.h" #include #include @@ -9,6 +9,7 @@ #include "ScanFormWidget.h" #include "guimessagedialog.h" #include "device/DeviceManager.h" +#include "errorhandle/GUIErrorHandle.h" #include "loginwindow.h" #include #include @@ -149,38 +150,10 @@ MainWindow::MainWindow(QWidget* parent) : ui->centralWidget->setLayout(layout); this->setWindowFlags(Qt::Window); - connect(EventCenter::Default(), &EventCenter::GUIErrorRaise, [=](QObject*, QObject* msg) { - QString str; - if (msg) { - str = *(QString *) msg; - } else { - str = "Something went error!"; - } - if (str.isEmpty()) return; - //新模式,分级 - if (str[1] == ' ') { - char c = str[0].toLower().toLatin1(); - switch (c) { - //WARN 级别 - case 'w': { - char buff[4] = {0, 0, 0, 0}; - buff[0] = str[2].toLatin1(); - buff[1] = str[3].toLatin1(); - buff[2] = str[4].toLatin1(); - buff[3] = str[5].toLatin1(); - QByteArray bytes(buff); - EventCenter::Default()->triggerEvent(GUIEvents::WarnStateFlagChange, nullptr,(QObject*)(&bytes)); - return; - } - //ERROR 级别 - case 'e': - default: - break; - } - } + connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise, [=](QObject* parent, QObject* msg) { //默认旧模式 if (!msgDialog) { - msgDialog = new GUIMessageDialog; + msgDialog = new GUIMessageDialog(this); msgDialog->setStyleSheet(style); } if (msg) { @@ -191,8 +164,10 @@ MainWindow::MainWindow(QWidget* parent) : } msgDialog->stopLoading(); msgDialog->showExitButton(); -// msgDialog->showFullScreen(); - if (msgDialog->isHidden())msgDialog->show(); + if (msgDialog->isHidden()){ + msgDialog->setWindowModality(Qt::NonModal); + msgDialog->exec(); + } }); connect(EventCenter::Default(), &EventCenter::InvokeOperationStart, [=](QObject*, QObject* msg) { if (msgDialog){ @@ -239,6 +214,7 @@ MainWindow::MainWindow(QWidget* parent) : connect(EventCenter::Default(), &EventCenter::RequestLogin, [=](QObject*, QObject* msg) { this->requestLogin(); }); + GUIErrorHandle::Default()->init(); DeviceManager::Default()->initDevice(); centerWidgetHide(); } diff --git a/src/tabformwidget.cpp b/src/tabformwidget.cpp index f03feab..75a6258 100644 --- a/src/tabformwidget.cpp +++ b/src/tabformwidget.cpp @@ -1,6 +1,7 @@ #include "tabformwidget.h" #include "ui_tabformwidget.h" #include +#include #include "event/EventCenter.h" #if defined(_MSC_VER) && (_MSC_VER >= 1600) @@ -49,13 +50,18 @@ TabFormWidget::TabFormWidget(QWidget* parent) : QString* s = (QString*)msg; lockIcon->setText(QString("%1%2").arg(*s).arg(tr("°C"))); }); - connect(EventCenter::Default(), &EventCenter::GlobalBannerMessage, [=](QObject*, QObject* msg) { - if (!msg) { - ui->systemMsgBar->setText(""); - return; - } - QString* s = (QString*)msg; - ui->systemMsgBar->setText(*s); + QVBoxLayout* l = new QVBoxLayout(ui->widgetMsg); + ui->widgetMsg->setObjectName("need_border"); + l->setMargin(0); + auto w = new RollingMessageWidget(this); + QStringList msgs; + msgs<<"message 1!"<<"message 2!"<<"message 3!"<<"message 4!"<<"message 5!"; + QList visibleValues = {true,true,true,true,true}; + w->setMessageList(msgs, visibleValues); + w->setObjectName("need_border"); + l->addWidget(w); + connect(EventCenter::Default(), &EventCenter::WarnStateFlagChange,[=](QObject*, QObject* msg){ + }); } diff --git a/src/tabformwidget.ui b/src/tabformwidget.ui index eeebe77..436d8d3 100644 --- a/src/tabformwidget.ui +++ b/src/tabformwidget.ui @@ -75,9 +75,12 @@ - - - <html><head/><body><p>Message from DAQ and device.</p></body></html> + + + + 0 + 0 +