#ifndef DETAILEDTOWN_H #define DETAILEDTOWN_H #include #include "PageBaseWidget.h" #include "DetailedBaseWidget.h" #include "SequenceFrame.h" namespace Ui { class DetailedTown; } class DetailedTown : public PageBaseWidget { Q_OBJECT public: explicit DetailedTown(MainWindow* parent = nullptr); ~DetailedTown(); PageType GetPageType() const override { return PageBaseWidget::PageType::PT_DetailedTown; } void SetCurrent(DetailedType dt); void SetSequencePos(const QPoint& pos); void SetMediaInfo(MediaInfo* mediaInfo) { currentMediaInfo_ = mediaInfo; } protected: void keyPressEvent(QKeyEvent* event) override; void keyReleaseEvent(QKeyEvent* event) override; void mouseReleaseEvent(QMouseEvent* event) override; private: void OnShowLast(); void OnShowNext(); void OnEnterHome(); void InitDetailedWidget(); void InitLastNextButton(); void InitSequenceFrame(); bool ShowIndex(DetailedType dt); void AddDetailedWidget(DetailedBaseWidget* widget); private: Ui::DetailedTown *ui; int m_current{ 0 }; QMap m_detailedBaseWidgets; SequenceFrame* sequenceFrame_{ nullptr }; MediaInfo* currentMediaInfo_{ nullptr }; bool keyYPressed{ false }; }; #endif // DETAILEDTOWN_H