#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: NGL::INGLLogger &m_logger; 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; }; }