From a2008c6f583c76a736624bf79100eb7573c1a579 Mon Sep 17 00:00:00 2001 From: sunwen Date: Thu, 20 Mar 2025 09:30:38 +0800 Subject: [PATCH] feat: make MultyMessageDialog message show in the WarningMessageWidget. --- src/components/WarningMessageWidget.cpp | 13 ++++--------- src/components/WarningMessageWidget.h | 4 ++-- src/device/DeviceManager.cpp | 5 ++--- src/dialogs/MultyMessageDialogManager.cpp | 1 + src/dialogs/MultyMessageDialogManager.h | 3 +++ src/event/EventCenter.h | 1 - 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/components/WarningMessageWidget.cpp b/src/components/WarningMessageWidget.cpp index 4a80877..f92164d 100644 --- a/src/components/WarningMessageWidget.cpp +++ b/src/components/WarningMessageWidget.cpp @@ -15,6 +15,7 @@ #include "SlideWidget.h" #include "WarningLabel.h" #include "event/EventCenter.h" +#include "dialogs/MultyMessageDialogManager.h" WarningMessageWidget::WarningMessageWidget(QWidget *parent):QWidget(parent) @@ -99,7 +100,7 @@ WarningMessageWidget::WarningMessageWidget(QWidget *parent):QWidget(parent) clearBtn->setObjectName("WarningPanelBtn"); hl->addWidget(clearBtn); connect(clearBtn, &QToolButton::clicked, this, &WarningMessageWidget::clearWarning); - connect(EventCenter::Default(),&EventCenter::WarningMessageRaise,this,&WarningMessageWidget::addWarningProxySlot); + connect(MultyMessageDialogManager::getInstance(),&MultyMessageDialogManager::warningMessageAdded,this,&WarningMessageWidget::addWarningProxySlot); connect(EventCenter::Default(),&EventCenter::ErrorStateUnactive,this,&WarningMessageWidget::unactiveErrorProxySlot); connect(EventCenter::Default(),&EventCenter::ErrorStateActive,this,&WarningMessageWidget::activeErrorProxySlot); @@ -131,15 +132,9 @@ void WarningMessageWidget::addWarning(const QString& aDateTime, const QString& a mWarningCount++; } -void WarningMessageWidget::addWarningProxySlot(QObject*, QObject* aData) +void WarningMessageWidget::addWarningProxySlot(const QString& aMessage) { - if (!aData){ - qDebug()<<"addLabelProxy with null aData"; - return; - } - - QString str = *((QString*)aData); - addWarning(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"), str); + addWarning(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"), aMessage); } void WarningMessageWidget::activeErrorProxySlot(QObject*, QObject* aData) diff --git a/src/components/WarningMessageWidget.h b/src/components/WarningMessageWidget.h index d6d7ce8..f7bc52e 100644 --- a/src/components/WarningMessageWidget.h +++ b/src/components/WarningMessageWidget.h @@ -20,7 +20,7 @@ public: protected: void showEvent(QShowEvent* aEvent); protected slots: - void addWarningProxySlot(QObject*, QObject* aData); + void addWarningProxySlot(const QString& aMessage); void activeErrorProxySlot(QObject*, QObject* aData); void unactiveErrorProxySlot(QObject*, QObject* aData); void reloadLanguage(); @@ -44,4 +44,4 @@ private: }; -#endif // __WARNINGMESSAGEWIDGET_H__ \ No newline at end of file +#endif // __WARNINGMESSAGEWIDGET_H__ diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index 84209b7..9ad74e3 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -931,7 +931,7 @@ bool DeviceManager::startCEScan() QString msg = tr("Initialize Failed."); THROW_ERROR(msg); msg = tr("Start CE Scan Failed."); - EventCenter::Default()->triggerEvent(WarningMessageRaise, nullptr, (QObject*)&msg); + emitInfoCallback(msg, MessageLevel::Error); return false; } return true; @@ -1431,8 +1431,7 @@ void DeviceManager::prepareCheckReconConnection() void DeviceManager::processReconMessage(const QString &aMessage) { - QString msg=aMessage; - EventCenter::Default()->triggerEvent(WarningMessageRaise, nullptr, (QObject*)&aMessage); + emitInfoCallback(aMessage, MessageLevel::Warning); } void DeviceManager::processEmergencyButtonReset(const QString& aResponse) diff --git a/src/dialogs/MultyMessageDialogManager.cpp b/src/dialogs/MultyMessageDialogManager.cpp index 9c0939d..c4cf1eb 100644 --- a/src/dialogs/MultyMessageDialogManager.cpp +++ b/src/dialogs/MultyMessageDialogManager.cpp @@ -45,6 +45,7 @@ void MultyMessageDialogManager::raiseDialog(const QString& aMessage,MessageLevel dialog->move(GEOMETY_X,yDistance); dialog->show(); connect(dialog,&MultyMessageDialog::dialogDestroyed,this,&MultyMessageDialogManager::removeDestoryedDialog); + emit warningMessageAdded(aMessage); } void MultyMessageDialogManager::removeDestoryedDialog() diff --git a/src/dialogs/MultyMessageDialogManager.h b/src/dialogs/MultyMessageDialogManager.h index aaf5f5a..4f1595b 100644 --- a/src/dialogs/MultyMessageDialogManager.h +++ b/src/dialogs/MultyMessageDialogManager.h @@ -18,6 +18,9 @@ public: private slots: void removeDestoryedDialog(); +signals: + void warningMessageAdded(const QString& aWarningMessage); + private: MultyMessageDialogManager(); ~MultyMessageDialogManager(); diff --git a/src/event/EventCenter.h b/src/event/EventCenter.h index 33dac1b..26d337f 100644 --- a/src/event/EventCenter.h +++ b/src/event/EventCenter.h @@ -40,7 +40,6 @@ ADD_EVENT_VALUE(RequestScreenSaver)\ ADD_EVENT_VALUE(ReconConnectionUpdated)\ ADD_EVENT_VALUE(InputWorkListSearchValue)\ ADD_EVENT_VALUE(WorklistSearchFinished)\ -ADD_EVENT_VALUE(WarningMessageRaise)\ ADD_EVENT_VALUE(ErrorStateActive)\ ADD_EVENT_VALUE(ErrorStateUnactive)\ ADD_EVENT_VALUE(StartScanProcess)\