/quassel-0.7.3/dev-notes/blanksettingspage.cpp
C++ | 74 lines | 35 code | 20 blank | 19 comment | 4 complexity | c5e0531f5b19552a3d7fcd6469be98ad MD5 | raw file
Possible License(s): GPL-2.0, GPL-3.0
1/***************************************************************************
2 * Copyright (C) 2005-08 by the Quassel IRC Team *
3 * devel@quassel-irc.org *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU Blank Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU Blank Public License for more details. *
14 * *
15 * You should have received a copy of the GNU Blank Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19 ***************************************************************************/
20
21#include "blanksettingspage.h"
22
23#include "qtui.h"
24#include "uisettings.h"
25
26
27BlankSettingsPage::BlankSettingsPage(QWidget *parent)
28 : SettingsPage(tr("Behaviour"), tr("Blank"), parent) {
29 ui.setupUi(this);
30
31 connect(ui.exampleCheckbox, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged()));
32}
33
34bool BlankSettingsPage::hasDefaults() const {
35 return true;
36}
37
38void BlankSettingsPage::defaults() {
39 ui.exampleCheckbox->setChecked(true);
40
41 widgetHasChanged();
42}
43
44void BlankSettingsPage::load() {
45 UiSettings uiSettings;
46
47 settings["exampleCheckbox"] = uiSettings.value("exampleCheckbox", QVariant(false));
48 ui.exampleCheckbox->setChecked(settings["exampleCheckbox"].toBool());
49
50 setChangedState(false);
51}
52
53void BlankSettingsPage::save() {
54 UiSettings uiSettings;
55 uiSettings.setValue("exampleCheckbox", ui.exampleCheckbox->isChecked());
56
57 load();
58 setChangedState(false);
59}
60
61void BlankSettingsPage::widgetHasChanged() {
62 bool changed = testHasChanged();
63 if(changed != hasChanged()) setChangedState(changed);
64}
65
66bool BlankSettingsPage::testHasChanged() {
67 if(settings["exampleCheckbox"].toBool() != ui.exampleCheckbox->isChecked()) return true;
68
69 return false;
70}
71
72
73
74