GUI error level Warn, ui logic(topbarWidget rolling message)

This commit is contained in:
Krad
2021-12-20 13:25:31 +08:00
parent 8feee9b113
commit e3ffa9bd88
4 changed files with 157 additions and 60 deletions

View File

@@ -8,6 +8,7 @@
#include <src/components/RollingMessageWidget.h>
#include <QDateTime>
#include "event/EventCenter.h"
#include "errorhandle/GUIErrorLW.h"
TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) {
QHBoxLayout* layout = new QHBoxLayout(this);
@@ -64,10 +65,8 @@ TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent,
QVBoxLayout* l = new QVBoxLayout(widgetMsg);
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->setMessageList(GUIErrorLW::getWARNMessages());
w->setObjectName("need_border");
l->addWidget(w);
connect(EventCenter::Default(), &EventCenter::ResponseDeviceTemperature, [=](QObject*, QObject* msg) {
@@ -76,4 +75,18 @@ TopBarWidget::TopBarWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent,
QString* s = (QString*)msg;
lockIcon->setText(QString("%1%2").arg(*s).arg(tr("°C")));
});
connect(EventCenter::Default(), &EventCenter::WarnStateFlagChange, [=](QObject*, QObject* msg) {
QVariant* var = (QVariant*)msg;
int v = var->toInt();
int f = 0x00000001;
for (int i = 0; i < 32; ++i) {
int d = (f<<i);
if (d & v){
printf("warn %d, val:%d\r\n", i, v);
w->updateMessagePriority(i,1);
} else{
w->updateMessagePriority(i,-1);
}
}
});
}