6 Copyright (C) 2011 Luciano Montanaro <mikelima@cirulla.net>
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; see the file COPYING. If not, write to
20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA.
25 #include "stationlistproxymodel.h"
29 #include <QStringList>
31 class Settings : public QObject
34 Q_PROPERTY(QString queryBaseUrl
35 READ queryBaseUrl WRITE setQueryBaseUrl
36 NOTIFY queryBaseUrlChanged)
37 Q_PROPERTY(QStringList recentStations
38 READ recentStations WRITE setRecentStations
39 NOTIFY recentStationsChanged)
40 Q_PROPERTY(int checkingInterval
41 READ checkingInterval WRITE setCheckingInterval
42 NOTIFY checkingIntervalChanged)
43 Q_PROPERTY(bool autoUpdate
44 READ autoUpdate WRITE setAutoUpdate
45 NOTIFY autoUpdateChanged)
46 Q_PROPERTY(bool stationViewPreferred
47 READ stationViewPreferred WRITE setStationViewPreferred
48 NOTIFY stationViewPreferredChanged)
49 Q_PROPERTY(bool showArrivalsPreferred
50 READ showArrivalsPreferred WRITE setShowArrivalsPreferred
51 NOTIFY showArrivalsPreferredChanged)
52 Q_PROPERTY(StationListProxyModel::SortingMode stationListSortingMode
53 READ stationListSortingMode WRITE setStationListSortingMode
54 NOTIFY stationListSortingModeChanged)
55 Q_PROPERTY(QString versionString READ versionString CONSTANT)
57 explicit Settings(QObject *parent = 0);
59 Q_INVOKABLE static Settings *instance();
61 Q_INVOKABLE void save(void);
63 QString queryBaseUrl();
64 void setQueryBaseUrl(const QString &url);
66 QStringList recentStations();
67 void setRecentStations(const QStringList &stations);
69 int checkingInterval();
70 void setCheckingInterval(int);
73 void setAutoUpdate(bool);
75 bool stationViewPreferred();
76 void setStationViewPreferred(bool);
78 bool showArrivalsPreferred();
79 void setShowArrivalsPreferred(bool);
81 StationListProxyModel::SortingMode stationListSortingMode();
82 void setStationListSortingMode(StationListProxyModel::SortingMode mode);
84 QString versionString(void);
87 void queryBaseUrlChanged();
88 void recentStationsChanged();
89 void checkingIntervalChanged();
90 void autoUpdateChanged();
91 void stationViewPreferredChanged();
92 void showArrivalsPreferredChanged();
93 void stationListSortingModeChanged();