#include "configdialog.h" #include #include ConfigDialog::ConfigDialog(Config& conf, QWidget* parent) : QDialog(parent), mainConfig(conf) { } ConfigDialog::~ConfigDialog() {} void ConfigDialog::accept() { saveChanges(); QDialog::accept(); } void ConfigDialog::reject() { // nothing? QDialog::reject(); } void ConfigDialog::saveChanges() { mainConfig.rootConfig = workingConfig; mainConfig.save(); } void ConfigDialog::dialogButtonPressed(QAbstractButton* btn) { QDialogButtonBox::ButtonRole role = getButtonBox()->buttonRole(btn); if(role == QDialogButtonBox::ButtonRole::ResetRole) { // reset loadConfig(); } else if(role == QDialogButtonBox::ButtonRole::ApplyRole) { // apply saveChanges(); } } void ConfigDialog::loadConfig() { // make a copy workingConfig = mainConfig.rootConfig; }