/** * @RDE_HEADER@ * NotificationManagement - Notification Overview Dialog * * Created by Mike Lennart Wille, ESZS, 2025-06-17 */ #pragma once #include #include #include #include #include #include #include #include #include namespace Ui { class NotificationManagementDialog; } namespace NotificationManagement { class NotificationManagementDialogModel; class NotificationManagementDialog : public LtsWidgets::LtsDialog , protected NotificationManagement::Interface::Ftc::ReadReceiptReplyHandler , protected NotificationManagement::Interface::Ftc::DeleteMessageReplyHandler { Q_OBJECT public: explicit NotificationManagementDialog(LtsSession::LtsSession *session, const QString &menuGroup, QWidget *parent = nullptr); ~NotificationManagementDialog(); private slots: void enaDisa(); void onAcknowledgeNotification(); void onRemoveNotification(); void onShowNotificationContent(); protected: void onReadReceiptReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } void onDeleteMessageReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } private: void retranslate() override; void tableColumnOrganiserSetting() override; std::vector selectedNotificationIds(bool onlyNotYetAcknowledged); NotificationManagementDialogModel *m_model; Ui::NotificationManagementDialog *m_ui; LtsSession::LtsSession *m_session; std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_dtcOpm; std::shared_ptr m_dtcAsm; QString m_menuGroup; LtsUtils::RequestHelper *m_requestHelper; LOGGER_T m_logger; }; } // namespace NotificationManagement