/** * @RDE_HEADER@ * Main thp viewer widget * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include namespace Ui { class thpViewer; } namespace NGL { class INGLLogger; } namespace NGL { class ThpViewer : public QWidget { Q_OBJECT public: explicit ThpViewer(const QUrl &url, QWidget *parent = nullptr); ~ThpViewer(); bool init(); void center(); void closeEvent(QCloseEvent *event) override; protected: QHash getCombinedPlaybackDetails(const QUrl &url) const; protected Q_SLOTS: void onLinkClicked(const QUrl &url); void onZoomChanged(); void onBack(); void onHome(); void onHelp(); void onPrint(); void onFullScreen(); void onTitleChanged(const QString &title); void onUrlChanged(const QUrl &url); public Q_SLOTS: void onNewThp(const QString &index); protected: void keyPressEvent(QKeyEvent *e) override; protected: Ui::thpViewer *ui; double m_scaleFactor; QUrl m_homeLink; QString m_homePath; QString m_trainingName; NGL::INGLLogger &m_logger; }; } // namespace NGL