1 #pragma once |
1 #pragma once |
2 #include <QMainWindow> |
2 #include <QMainWindow> |
3 #include <QTranslator> |
3 #include <QTranslator> |
|
4 #include <QSettings> |
4 #include <memory> |
5 #include <memory> |
5 #include <vector> |
6 #include <vector> |
6 #include "documentmanager.h" |
7 #include "documentmanager.h" |
|
8 #include "libraries.h" |
7 |
9 |
8 class MainWindow : public QMainWindow |
10 class MainWindow : public QMainWindow |
9 { |
11 { |
10 Q_OBJECT |
12 Q_OBJECT |
11 public: |
13 public: |
12 MainWindow(QWidget *parent = nullptr); |
14 MainWindow(QWidget *parent = nullptr); |
13 ~MainWindow(); |
15 ~MainWindow(); |
14 private slots: |
16 private slots: |
15 void newModel(); |
17 void newModel(); |
16 void openModel(); |
18 void openModel(); |
17 void languageChangeRequested(); |
19 void runSettingsEditor(); |
18 protected: |
20 protected: |
19 void changeEvent(QEvent* event); |
21 void changeEvent(QEvent* event) override; |
|
22 void closeEvent(QCloseEvent* event) override; |
20 private: |
23 private: |
21 std::unique_ptr<class Ui_MainWindow> ui; |
24 std::unique_ptr<class Ui_MainWindow> ui; |
22 DocumentManager documents; |
25 DocumentManager documents; |
23 QMap<Model*, QWidget*> modelWidgets; |
26 QMap<Model*, QWidget*> modelWidgets; |
|
27 QString currentLanguage = "en"; |
|
28 QTranslator translator; |
|
29 QSettings settings; |
|
30 LibraryManager libraries; |
24 QWidget* createWidgetForModel(Model* model); |
31 QWidget* createWidgetForModel(Model* model); |
25 QWidget* getWidgetForModel(Model* model); |
32 QWidget* getWidgetForModel(Model* model); |
26 void loadLocales(); |
|
27 void updateTabs(); |
33 void updateTabs(); |
28 void updateTitle(); |
34 void updateTitle(); |
29 void changeLanguage(const QString& localeCode); |
35 void saveSettings(); |
|
36 void restoreSettings(); |
|
37 void changeLanguage(QString localeCode); |
30 static QString pathToTranslation(const QString& localeCode); |
38 static QString pathToTranslation(const QString& localeCode); |
31 QString currentLanguage = "en"; |
39 |
32 QTranslator translator; |
|
33 }; |
40 }; |