1 #pragma once 2 3 #include "common/common_pch.h" 4 5 #include <QDialog> 6 7 #include "mkvtoolnix-gui/types.h" 8 9 namespace mtx::bcp47 { 10 class language_c; 11 } 12 13 namespace mtx::gui::ChapterEditor { 14 15 namespace Ui { 16 class RenumberSubChaptersParametersDialog; 17 } 18 19 class RenumberSubChaptersParametersDialog : public QDialog { 20 Q_OBJECT 21 private: 22 std::unique_ptr<Ui::RenumberSubChaptersParametersDialog> m_ui; 23 24 public: 25 enum class NameMatch { 26 All = 0 27 , First 28 , ByLanguage 29 }; 30 31 public: 32 explicit RenumberSubChaptersParametersDialog(QWidget *parent, int firstChapterNumber, QStringList const &existingSubChapters, QStringList const &additionalLanguages); 33 ~RenumberSubChaptersParametersDialog(); 34 35 int firstEntryToRenumber() const; 36 int numberOfEntries() const; 37 int firstChapterNumber() const; 38 QString nameTemplate() const; 39 NameMatch nameMatchingMode() const; 40 mtx::bcp47::language_c languageOfNamesToReplace() const; 41 bool skipHidden() const; 42 43 public Q_SLOTS: 44 void enableControls(); 45 46 protected: 47 void setupUi(int firstChapterNumber, QStringList const &existingSubChapters, QStringList const &additionalLanguages); 48 }; 49 50 } 51