#pragma once #include #include #include "config.h" class ConfigDialog : public QDialog { Q_OBJECT public: explicit ConfigDialog(Config& conf, QWidget* parent = nullptr); ~ConfigDialog(); public slots: virtual void accept() override; virtual void reject() override; protected slots: virtual void saveChanges(); void dialogButtonPressed(QAbstractButton* btn); protected: Config& mainConfig; Config::RootConfig workingConfig; virtual void loadConfig(); virtual QDialogButtonBox* getButtonBox() = 0; };