src/settingseditor/settingseditor.h

Sun, 09 Apr 2023 15:59:08 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Sun, 09 Apr 2023 15:59:08 +0300
changeset 362
e1d646a4cbd8
parent 357
66c75604f5b8
permissions
-rw-r--r--

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;
};

mercurial