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