New error handle, v0.1
This commit is contained in:
@@ -25,6 +25,7 @@ ADD_EVENT_VALUE(InvokeOperationProgress)\
|
||||
ADD_EVENT_VALUE(InvokeOperationEnd)\
|
||||
ADD_EVENT_VALUE(PromptDialogOpen)\
|
||||
ADD_EVENT_VALUE(GlobalBannerMessage)\
|
||||
ADD_EVENT_VALUE(WarnStateFlagChange)\
|
||||
ADD_EVENT_VALUE(GUIErrorRaise)
|
||||
|
||||
enum GUIEvents{
|
||||
|
||||
@@ -146,24 +146,50 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||
ui->centralWidget->setLayout(layout);
|
||||
this->setWindowFlags(Qt::Window);
|
||||
connect(EventCenter::Default(), &EventCenter::GUIErrorRaise, [=](QObject*, QObject* msg) {
|
||||
|
||||
if (!msgDialog){
|
||||
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;
|
||||
}
|
||||
}
|
||||
//默认旧模式
|
||||
if (!msgDialog) {
|
||||
msgDialog = new GUIMessageDialog;
|
||||
msgDialog->setStyleSheet(style);
|
||||
}
|
||||
if (msg)
|
||||
{
|
||||
QString* str = (QString*)msg;
|
||||
msgDialog->showMessage(*str);
|
||||
}
|
||||
else {
|
||||
msgDialog->showMessage("Something went error!");
|
||||
}
|
||||
msgDialog->stopLoading();
|
||||
if (msg) {
|
||||
QString *str = (QString *) msg;
|
||||
msgDialog->showMessage(*str);
|
||||
} else {
|
||||
msgDialog->showMessage("Something went error!");
|
||||
}
|
||||
msgDialog->stopLoading();
|
||||
msgDialog->showExitButton();
|
||||
// msgDialog->showFullScreen();
|
||||
if (msgDialog->isHidden())msgDialog->show();
|
||||
});
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::InvokeOperationStart, [=](QObject*, QObject* msg) {
|
||||
if (msgDialog){
|
||||
msgDialog->hide();
|
||||
|
||||
Reference in New Issue
Block a user