Bump version to 0.9.0
[quandoparte] / application / settingsdialog.cpp
1 /*
2
3 Copyright (C) 2011 Luciano Montanaro <mikelima@cirulla.net>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General 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 GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; see the file COPYING.  If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19
20 */
21
22 #include <settings.h>
23 #include "settingsdialog.h"
24 #include "ui_settingsdialog.h"
25
26 #ifdef Q_WS_MAEMO_5
27 #include <QMaemo5ValueButton>
28 #endif
29
30
31 SettingsDialog::SettingsDialog(QWidget *parent) :
32     QDialog(parent),
33 #ifdef Q_WS_MAEMO_5
34     updateIntervalButton(new QMaemo5ValueButton(this)),
35 #endif
36     ui(new Ui::SettingsDialog)
37 {
38     Settings *settings = Settings::instance();
39
40     ui->setupUi(this);
41
42     bool showStationPreference = settings->stationViewPreferred();
43     ui->showLastStationCheckBox->setChecked(showStationPreference);
44     connect(ui->showLastStationCheckBox, SIGNAL(toggled(bool)),
45             SLOT(showStationChanged(bool)));
46
47     bool checkingInterval = settings->checkingInterval();
48     ui->periodicUpdateCheckBox->setChecked(checkingInterval > 30000);
49     connect(ui->periodicUpdateCheckBox, SIGNAL(toggled(bool)),
50             SLOT(periodicUpdateToggled(bool)));
51 #if 0
52 #ifdef Q_WS_MAEMO_5
53     ui->formLayout->addWidget(updateIntervalButton);
54 #endif
55 #endif
56 }
57
58 SettingsDialog::~SettingsDialog()
59 {
60     delete ui;
61 }
62
63 void SettingsDialog::showStationChanged(bool newValue)
64 {
65     Settings *settings = Settings::instance();
66     settings->setStationViewPreferred(newValue);
67 }
68
69 void SettingsDialog::periodicUpdateToggled(bool checked)
70 {
71     Settings *settings = Settings::instance();
72     settings->setCheckingInterval(checked ? 120000 : 0);
73 }