New error handle layout change.

This commit is contained in:
Krad
2021-12-16 17:23:17 +08:00
parent 69345bef8c
commit f7d1f02808
3 changed files with 28 additions and 43 deletions

View File

@@ -1,4 +1,4 @@
#include "mainwindow.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qtabwidget.h>
#include <QSizePolicy>
@@ -9,6 +9,7 @@
#include "ScanFormWidget.h"
#include "guimessagedialog.h"
#include "device/DeviceManager.h"
#include "errorhandle/GUIErrorHandle.h"
#include "loginwindow.h"
#include <QTextEdit>
#include <QScrollBar>
@@ -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();
}

View File

@@ -1,6 +1,7 @@
#include "tabformwidget.h"
#include "ui_tabformwidget.h"
#include <QDateTime>
#include <src/components/RollingMessageWidget.h>
#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<bool> 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){
});
}

View File

@@ -75,9 +75,12 @@
</widget>
</item>
<item>
<widget class="QLabel" name="systemMsgBar">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Message from DAQ and device.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<widget class="QWidget" name="widgetMsg" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>