/** * @RDE_HEADER@ * FileManagement - Rename Folder Dialog * $Id$ * $HeadURL$ * $Author$ * Created by Iuliana Ojog, SLSE, 2017-05-22 */ #pragma once #include "tln_view_gui_plugin.h" #include #include #include #include #include #include #include #include #include namespace Ui { class ShowDetailsDialog; } namespace AudioVideoManagement { class StreamNameMapping; } namespace Timeline { class DetailData; class ShowDetailsDialog : public LtsWidgets::LtsDialog { Q_OBJECT public: explicit ShowDetailsDialog(QWidget *parent = nullptr); ~ShowDetailsDialog(); bool init(DetailData *detailData, const LtsTimelineClassic::Event *event, const QPointer &session, const QPointer &replayAppSession, const std::shared_ptr &avmIfc, const std::shared_ptr &mrkIfc, const std::shared_ptr &fltParticipantIfc, const std::shared_ptr &fltAesIfc, const std::shared_ptr &fltBuildingComponentIfc, bool isTimelineApp, QWidget *pseudoParent, AudioVideoManagement::StreamNameMapping *streamNameMapping); void retranslate() override; private slots: void slotStartReplay(); void slotStartPlayback(); void slotShowMarker(); void slotFocusOnMap(); void updateMarker(); private: bool hasNameAndEndTime() const; bool getStreamNameAndEndTime(QString &streamName, qint64 &endTime, bool silent = false) const; void setButtonDisabled(QPushButton *button, QToolButton *warningButton, const QString &reasonMessage, bool hide = false); bool isMarkerAudioVideo() const; static bool isAvsCapable(const LtsTimelineClassic::Event *event); static bool isHitEventType(int eventTypeId); static bool isAvEventType(int eventTypeId); static bool isAudioEventType(int eventTypeId); QString m_eventType; Ui::ShowDetailsDialog *m_ui{nullptr}; const LtsTimelineClassic::Event *m_event{nullptr}; // everything from replay app: QPointer m_replayAppSession; // end std::shared_ptr m_avmIfc; std::shared_ptr m_mrkIfc; std::shared_ptr m_fltParticipantIfc; std::shared_ptr m_fltAesIfc; std::shared_ptr m_fltBuildingComponentIfc; AudioVideoManagement::StreamNameMapping *m_streamNameMapping{nullptr}; std::shared_ptr m_mrkDtc; LtsSession::LtsSessionDataDds *m_session{nullptr}; NGL::INGLLogger &m_logger; }; } // namespace Timeline