/** * @RDE_HEADER@ * PresentationManagement - Script Overview Dialog * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-03-15 */ #pragma once #include #include #include #include #include #include #include namespace Ui { class PresentationManagementDialog; } namespace PresentationManagement { enum class ScriptsDialogMode { modeView = 0, modeEdit = 1, modeAdmin = 2 }; class PresentationManagementDialogModel; class PresentationManagementDialogProxyModel; class PresentationManagementDialog : public LtsWidgets::LtsDialog , protected Interface::Ftc::PresentationRemoveReplyHandler , protected Interface::Ftc::PresentationChangeStatusReplyHandler { Q_OBJECT public: explicit PresentationManagementDialog(QWidget *parent = nullptr); ~PresentationManagementDialog(); bool init(const ScriptsDialogMode &dlgMode, const std::shared_ptr &dtc, const std::shared_ptr &ftc, const std::shared_ptr &opmDtc, LtsSession::LtsSession *session); protected: void onPresentationRemoveReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } void onPresentationChangeStatusReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); } private: void retranslate() override; void changeStatus(const FileStatus &fs); void tableColumnOrganiserSetting() override; PresentationManagementDialogModel *m_model; PresentationManagementDialogProxyModel *m_proxyModel; Ui::PresentationManagementDialog *m_ui; std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_opmDtc; LtsUtils::RequestHelper *m_requestHelper; ScriptsDialogMode m_modeDialog; LtsSession::LtsSession *m_session; int m_loadedScriptId {-1}; LOGGER_T m_logger; private slots: void slotAdd(); void slotEdit(); void slotRemove(); void slotDelete(); void slotRestore(); void enaDisa(); void slotSetScriptName(int scriptId); }; } // namespace PresentationManagement