1 #pragma once 2 3 #include "common/common_pch.h" 4 5 namespace mtx::gui::ChapterEditor { 6 7 class TabPrivate { 8 friend class Tab; 9 10 // UI stuff: 11 std::unique_ptr<Ui::Tab> ui; 12 13 QString fileName, originalFileName; 14 std::unique_ptr<mtx::gui::Util::KaxAnalyzer> analyzer; 15 QDateTime fileModificationTime; 16 17 ChapterModel *chapterModel; 18 NameModel *nameModel; 19 20 QAction *expandAllAction, *collapseAllAction, *addEditionBeforeAction, *addEditionAfterAction, *addChapterBeforeAction, *addChapterAfterAction, *addSubChapterAction, *removeElementAction; 21 QAction *duplicateAction, *massModificationAction, *generateSubChaptersAction, *renumberSubChaptersAction; 22 QMenu *copyToOtherTabMenu; 23 QList<QWidget *> nameWidgets; 24 25 bool ignoreChapterSelectionChanges{}, ignoreChapterNameChanges{}; 26 27 QString savedState; 28 29 timestamp_c fileEndTimestamp; 30 31 QVector<std::tuple<QBoxLayout *, QWidget *, QPushButton *>> languageControls; 32 33 explicit TabPrivate(Tab &tab, QString const &pFileName); 34 }; 35 36 } 37