Sun, 09 Apr 2023 15:59:08 +0300
Extracted the state of the program into a MainState structure, and extracted local functions of main() into static functions.
I was planning to make the core logic and state of the program into a Main class, which would be a QObject that would
have lots of signals and slots, but it looks like this works even without it
#pragma once #include <QMdiSubWindow> #include "src/basics.h" #include "src/libraries.h" #include "src/uiutilities.h" #include "src/settingseditor/librarieseditor.h" class SettingsEditor : public QMdiSubWindow { Q_OBJECT public: SettingsEditor(const uiutilities::KeySequenceMap& defaultKeyboardShortcuts = {}, QWidget* parent = nullptr); ~SettingsEditor(); Q_SLOT void saveSettings(); Q_SLOT void loadSettings(); Q_SIGNALS: void settingsChanged(); private: bool disableSettingsAutoSave = false; class Ui_SettingsEditor& ui; LibrariesModel libraries; LibrariesEditor librariesEditor; const uiutilities::KeySequenceMap defaultKeyboardShortcuts; };