PageRenderTime 12ms CodeModel.GetById 1ms app.highlight 10ms RepoModel.GetById 0ms app.codeStats 0ms

/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