14 MainWindow(QWidget *parent = nullptr); |
14 MainWindow(QWidget *parent = nullptr); |
15 ~MainWindow(); |
15 ~MainWindow(); |
16 private slots: |
16 private slots: |
17 void newModel(); |
17 void newModel(); |
18 void openModel(); |
18 void openModel(); |
|
19 void openModelFromPath(const QString& path); |
19 void runSettingsEditor(); |
20 void runSettingsEditor(); |
|
21 void handleDocumentSplitterChange(); |
|
22 void updateRecentlyOpenedDocumentsMenu(); |
|
23 void openRecentFile(); |
20 protected: |
24 protected: |
21 void changeEvent(QEvent* event) override; |
25 void changeEvent(QEvent* event) override; |
22 void closeEvent(QCloseEvent* event) override; |
26 void closeEvent(QCloseEvent* event) override; |
23 private: |
27 private: |
24 std::unique_ptr<class Ui_MainWindow> ui; |
28 std::unique_ptr<class Ui_MainWindow> ui; |
26 QMap<Model*, QWidget*> modelWidgets; |
30 QMap<Model*, QWidget*> modelWidgets; |
27 QString currentLanguage = "en"; |
31 QString currentLanguage = "en"; |
28 QTranslator translator; |
32 QTranslator translator; |
29 QSettings settings; |
33 QSettings settings; |
30 LibraryManager libraries; |
34 LibraryManager libraries; |
31 QWidget* createWidgetForModel(Model* model); |
35 QByteArray documentSplitterState; |
32 QWidget* getWidgetForModel(Model* model); |
36 static constexpr int maxRecentlyOpenedFiles = 10; |
33 void updateTabs(); |
37 QStringList recentlyOpenedFiles; |
34 void updateTitle(); |
38 void updateTitle(); |
35 void saveSettings(); |
39 void saveSettings(); |
36 void restoreSettings(); |
40 void restoreSettings(); |
37 void changeLanguage(QString localeCode); |
41 void changeLanguage(QString localeCode); |
|
42 void addRecentlyOpenedFile(const QString& path); |
|
43 void openModelForEditing(const QString& modelName); |
38 static QString pathToTranslation(const QString& localeCode); |
44 static QString pathToTranslation(const QString& localeCode); |
39 }; |
45 }; |