From 9620b776d4a5d7d42dcafbb977186e0a488d075e Mon Sep 17 00:00:00 2001 From: Luciano Montanaro Date: Sun, 2 Oct 2011 12:42:35 +0200 Subject: [PATCH] Use QSettings directly instead of member variables --- application/settings.cpp | 62 ++++++++++++---------------------------------- application/settings.h | 10 ++------ 2 files changed, 18 insertions(+), 54 deletions(-) diff --git a/application/settings.cpp b/application/settings.cpp index b3e4818..45b5d47 100644 --- a/application/settings.cpp +++ b/application/settings.cpp @@ -39,7 +39,7 @@ Settings *Settings::instance() Settings::Settings(QObject *parent) : QObject(parent) { - load(); + qDebug() << "Settings constructor called"; } Settings::~Settings() @@ -48,76 +48,45 @@ Settings::~Settings() save(); } -void Settings::dump() -{ - qDebug() << "RecentStations:" << m_recentStations; - qDebug() << "StationsViewPreferred:" << m_stationViewPreferred; - qDebug() << "CheckInterval:" << m_checkingInterval; - qDebug() << "ShowArrivalsPreferred:" << m_showArrivalsPreferred; - qDebug() << "stationListSortingMode:" << m_stationListSortingMode; -} - -void Settings::load() -{ - QSettings settings; - m_queryBaseUrl = settings.value("QueryURL", - "http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione").toString(); - m_recentStations = settings.value("RecentStations").toString().split(","); - m_stationViewPreferred = settings.value("StationViewPreferred", false).toBool(); - m_checkingInterval = settings.value("CheckInterval", 0).toInt(); - m_showArrivalsPreferred = settings.value("StationView/ShowArrivals", false).toBool(); - int mode = settings.value("StationListView/SortingMode").toInt(); - m_stationListSortingMode = (StationListProxyModel::SortingMode)mode; - dump(); -} - void Settings::save() { - QSettings settings; + qDebug() << "Saving Settings to" << m_settings.fileName(); - qDebug() << "Saving Settings to" << settings.fileName(); - - settings.setValue("QueryURL", m_queryBaseUrl); - settings.setValue("RecentStations", m_recentStations.join(",")); - settings.setValue("CheckInterval", m_checkingInterval); - settings.setValue("StationViewPreferred", m_stationViewPreferred); - settings.setValue("StationView/ShowArrivals", m_showArrivalsPreferred); - settings.setValue("StationListView/SortingMode", m_stationListSortingMode); - settings.sync(); + m_settings.sync(); dump(); } QString Settings::queryBaseUrl() { - return m_queryBaseUrl; + return m_settings.value("QueryURL", + "http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione").toString(); } void Settings::setQueryBaseUrl(const QString &url) { - m_queryBaseUrl = url; + m_settings.setValue("QueryURL", url); emit queryBaseUrlChanged(m_queryBaseUrl); } QStringList Settings::recentStations() { - return m_recentStations; + return m_settings.value("RecentStations").toString().split(","); } void Settings::setRecentStations(const QStringList &stations) { - m_recentStations = stations; + m_settings.setValue("RecentStations", stations.join(",")); emit recentStationsChanged(m_recentStations); } int Settings::checkingInterval() { - return m_checkingInterval; + return m_settings.value("CheckInterval", 0).toInt(); } void Settings::setCheckingInterval(int interval) { - m_checkingInterval = interval; - + m_settings.setValue("CheckInterval", interval); emit checkingIntervalChanged(m_checkingInterval); } @@ -128,28 +97,29 @@ bool Settings::stationViewPreferred() void Settings::setStationViewPreferred(bool preference) { - m_stationViewPreferred = preference; + m_settings.setValue("StationViewPreferred", preference); emit stationViewPreferredChanged(m_stationViewPreferred); } bool Settings::showArrivalsPreferred() { - return m_showArrivalsPreferred; + return m_settings.value("StationView/ShowArrivals", false).toBool(); } void Settings::setShowArrivalsPreferred(bool preference) { - m_showArrivalsPreferred = preference; + m_settings.setValue("StationView/ShowArrivals", preference); emit showArrivalsPreferredChanged(m_showArrivalsPreferred); } StationListProxyModel::SortingMode Settings::stationListSortingMode() { - return m_stationListSortingMode; + int mode = m_settings.value("StationListView/SortingMode").toInt(); + return (StationListProxyModel::SortingMode)mode; } void Settings::setStationListSortingMode(StationListProxyModel::SortingMode mode) { - m_stationListSortingMode = mode; + m_settings.setValue("StationListView/SortingMode", mode); emit stationListSortingModeChanged(m_stationListSortingMode); } diff --git a/application/settings.h b/application/settings.h index f97acf1..d541b12 100644 --- a/application/settings.h +++ b/application/settings.h @@ -24,6 +24,7 @@ Boston, MA 02110-1301, USA. #include "stationlistproxymodel.h" #include +#include #include #include @@ -54,7 +55,6 @@ public: ~Settings(); Q_INVOKABLE static Settings *instance(); - Q_INVOKABLE void load(void); Q_INVOKABLE void save(void); QString queryBaseUrl(); @@ -86,13 +86,7 @@ signals: public slots: private: - QString m_queryBaseUrl; - QStringList m_recentStations; - StationListProxyModel::SortingMode m_stationListSortingMode; - int m_checkingInterval; - bool m_stationViewPreferred; - bool m_showArrivalsPreferred; - + QSettings m_settings; }; #endif // SETTINGS_H -- 1.7.9.5