diff -r 73e448b2943d -r 68443f5be176 src/mainwindow.h --- a/src/mainwindow.h Thu Oct 03 23:44:28 2019 +0300 +++ b/src/mainwindow.h Sat Oct 05 23:47:03 2019 +0300 @@ -1,9 +1,11 @@ #pragma once #include #include +#include #include #include #include "documentmanager.h" +#include "libraries.h" class MainWindow : public QMainWindow { @@ -14,20 +16,25 @@ private slots: void newModel(); void openModel(); - void languageChangeRequested(); + void runSettingsEditor(); protected: - void changeEvent(QEvent* event); + void changeEvent(QEvent* event) override; + void closeEvent(QCloseEvent* event) override; private: std::unique_ptr ui; DocumentManager documents; QMap modelWidgets; + QString currentLanguage = "en"; + QTranslator translator; + QSettings settings; + LibraryManager libraries; QWidget* createWidgetForModel(Model* model); QWidget* getWidgetForModel(Model* model); - void loadLocales(); void updateTabs(); void updateTitle(); - void changeLanguage(const QString& localeCode); + void saveSettings(); + void restoreSettings(); + void changeLanguage(QString localeCode); static QString pathToTranslation(const QString& localeCode); - QString currentLanguage = "en"; - QTranslator translator; + };