/*
* QCPUFreq - a simple cpufreq GUI
- * Copyright (C) 2010 Daniel Klaffenbach <daniel.klaffenbach@cs.tu-chemnitz.de>
+ * Copyright (C) 2010 Daniel Klaffenbach <danielklaffenbach@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
SettingsWidget::SettingsWidget(QWidget *parent) :
QWidget(parent),
+ settings("qcpufreq"),
ui(new Ui::SettingsWidget)
{
ui->setupUi(this);
- settings = new QSettings("qcpufreq");
+
+ //read values from config file
+ autoRotate = settings.value("main/autorotate", true).toBool();
+ overclocking = settings.value("main/overclocking", false).toBool();
+ advancedTemperature = settings.value("main/advanced_temperature", true).toBool();
+
+ //reset GUI
+ reset();
+
+ connect(ui->btn_save, SIGNAL(clicked()), this, SLOT(save()));
}
SettingsWidget::~SettingsWidget()
{
delete ui;
- delete settings;
}
+/**
+ * Resets the UI to the values stored by QSettings.
+ */
void SettingsWidget::reset()
{
+ ui->checkBox_rotate->setChecked(autoRotate);
+ ui->checkBox_oc->setChecked(overclocking);
+ ui->checkBox_temperature->setChecked(advancedTemperature);
+}
+
+
+/**
+ * Saves the changes and hides the SettingsWidget.
+ */
+void SettingsWidget::save()
+{
+ autoRotate = ui->checkBox_rotate->isChecked();
+ overclocking = ui->checkBox_oc->isChecked();
+ advancedTemperature = ui->checkBox_temperature->isChecked();
+
+ settings.setValue("main/autorotate", autoRotate);
+ settings.setValue("main/overclocking", overclocking);
+ settings.setValue("main/advanced_temperature", advancedTemperature);
+
+ //save settings to file
+ settings.sync();
+
+ hide();
}