Files
qt5-legatus-legacy/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_show_details.h
T
2026-08-13 18:33:10 +02:00

97 lines
3.3 KiB
C++
Executable File

/**
* @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 <LtsWidgets/lts_dialog.h>
#include <LtsSession/lts_session.h>
#include <LtsTimelineClassic/Event.h>
#include <Plugins/AudioVideoManagement/avm_menu_edit_gui_plugin_interface.h>
#include <Plugins/MarkerManagement/mrk_gui_plugin_interface.h>
#include <Plugins/FilterManagement/flt_participant_plugin_interface.h>
#include <Plugins/FilterManagement/flt_aes_plugin_interface.h>
#include <Plugins/FilterManagement/flt_building_cmpnt_plugin_interface.h>
#include <MarkerManagement/mrk_dtc.h>
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<LtsSession::LtsSession> &session,
const QPointer<LtsSession::LtsSession> &replayAppSession,
const std::shared_ptr<AudioVideoManagement::ForeignMenuEditGuiInterface> &avmIfc,
const std::shared_ptr<MarkerManagement::ForeignGuiInterface> &mrkIfc,
const std::shared_ptr<FilterManagement::ForeignFltParticipantGuiInterface> &fltParticipantIfc,
const std::shared_ptr<FilterManagement::ForeignAesGuiInterface> &fltAesIfc,
const std::shared_ptr<FilterManagement::ForeignFltBuildingComponentGuiInterface> &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<LtsSession::LtsSession> m_replayAppSession;
// end
std::shared_ptr<AudioVideoManagement::ForeignMenuEditGuiInterface> m_avmIfc;
std::shared_ptr<MarkerManagement::ForeignGuiInterface> m_mrkIfc;
std::shared_ptr<FilterManagement::ForeignFltParticipantGuiInterface> m_fltParticipantIfc;
std::shared_ptr<FilterManagement::ForeignAesGuiInterface> m_fltAesIfc;
std::shared_ptr<FilterManagement::ForeignFltBuildingComponentGuiInterface> m_fltBuildingComponentIfc;
AudioVideoManagement::StreamNameMapping *m_streamNameMapping{nullptr};
std::shared_ptr<MarkerManagement::Interface::Dtc> m_mrkDtc;
LtsSession::LtsSessionDataDds *m_session{nullptr};
NGL::INGLLogger &m_logger;
};
} // namespace Timeline