42 lines
853 B
C++
42 lines
853 B
C++
#include "configdialog.h"
|
|
|
|
#include <QAbstractButton>
|
|
#include <QDialogButtonBox>
|
|
|
|
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;
|
|
} |