/** * @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 #include #include #include #include namespace AudioVideoManagement { class AvaControl; } namespace Ui { class PreMobileDialog; } class QSortFilterProxyModel; namespace PresentationManagement { class PreMobileDialogModel; class PreMobileDialog : public LtsWidgets::LtsDialog , protected PresentationManagement::Interface::Ftc::GetPresentationContentReplyHandler { Q_OBJECT public: explicit PreMobileDialog(QWidget *parent = nullptr); ~PreMobileDialog(); bool init(const std::shared_ptr &dtc, const std::shared_ptr &ftc, const std::shared_ptr &opmDtc, const std::shared_ptr &avmDataIfc, LtsSession::LtsSession *session); void getAVScripts(); private slots: void onCopyDbFailed(); void onCopyDbFinished(); void slotScriptSet(const AudioVideoManagement::AvaStreamInfo &streamInfo, AudioVideoManagement::AvaStreamState streamState); void slotScriptDownloaded(AudioVideoManagement::AvaStreamState streamState); void slotScriptDownloadedStep2(); void onProgressBar(int nextProgress); private: void retranslate() override; void changeStatus(const FileStatus &fs); bool downloadAVScripts(); void handlePresentationContent(const GetPresentationContentReply &reply); void onGetPresentationContentReply(const GetPresentationContentReply &reply) override; PreMobileDialogModel *m_model; QSortFilterProxyModel *m_proxyModel; Ui::PreMobileDialog *m_ui; LtsSession::LtsSession *m_session; LtsUtils::RequestHelper *m_requestHelper; std::shared_ptr m_dtc; std::shared_ptr m_ftc; std::shared_ptr m_avmDataIfc; DBAdministration::CopyExercise m_copyExercise; QVector m_vecScripts; AudioVideoManagement::AvaControl* m_avaControl; QString m_lastScriptName; QWidget *m_widgetProgressBar; QProgressBar *m_progressBar; QLabel *m_label; int m_avScriptsCount; int m_avScriptsActualDone; LOGGER_T m_logger; private slots: void slotDownload(); void enaDisa(); }; } // namespace PresentationManagement