Add stationListSortingMode property to the settings class
authorLuciano Montanaro <mikelima@cirulla.net>
Tue, 9 Aug 2011 06:18:59 +0000 (08:18 +0200)
committerLuciano Montanaro <mikelima@cirulla.net>
Sun, 21 Aug 2011 12:27:54 +0000 (14:27 +0200)
application/settings.cpp
application/settings.h

index b0e78cd..08aed43 100644 (file)
@@ -25,6 +25,8 @@ Boston, MA 02110-1301, USA.
 #include <QSettings>
 #include <QStringList>
 
+Q_DECLARE_METATYPE(StationListProxyModel::SortingMode)
+
 Settings *Settings::instance()
 {
     static Settings *settings = 0;
@@ -61,6 +63,10 @@ void Settings::load()
 
     m_showArrivalsPreferred = settings.value("StationView/ShowArrivals", false).toBool();
     qDebug() << "ShowArrivalsPreferred:" << m_showArrivalsPreferred;
+
+    m_stationListSortingMode = settings.value("StationView/ShowArrivals",
+                                              StationListProxyModel::AlphaSorting).value<StationListProxyModel::SortingMode>();
+    qDebug() << "stationListSortingMode:" << m_stationListSortingMode;
 }
 
 void Settings::save()
@@ -74,6 +80,7 @@ void Settings::save()
     settings.setValue("CheckInterval", m_checkingInterval);
     settings.setValue("StationViewPreferred", m_stationViewPreferred);
     settings.setValue("StationView/ShowArrivals", m_showArrivalsPreferred);
+    settings.setValue("StationListView/SortingMode", m_stationListSortingMode);
 }
 
 QString Settings::queryBaseUrl()
@@ -131,3 +138,14 @@ void Settings::setShowArrivalsPreferred(bool preference)
     m_showArrivalsPreferred = preference;
     emit showArrivalsPreferredChanged(m_showArrivalsPreferred);
 }
+
+StationListProxyModel::SortingMode Settings::stationListSortingMode()
+{
+    return m_stationListSortingMode;
+}
+
+void Settings::setStationListSortingMode(StationListProxyModel::SortingMode mode)
+{
+    m_stationListSortingMode = mode;
+    emit stationListSortingModeChanged(m_stationListSortingMode);
+}
index 8c7395a..f97acf1 100644 (file)
@@ -22,6 +22,7 @@ Boston, MA 02110-1301, USA.
 
 */
 
+#include "stationlistproxymodel.h"
 #include <QObject>
 #include <QString>
 #include <QStringList>
@@ -45,6 +46,9 @@ class Settings : public QObject
                READ showArrivalsPreferred WRITE setShowArrivalsPreferred
                NOTIFY showArrivalsPreferredChanged)
 
+    Q_PROPERTY(StationListProxyModel::SortingMode stationListSortingMode
+               READ stationListSortingMode WRITE setStationListSortingMode
+               NOTIFY stationListSortingModeChanged)
 public:
     explicit Settings(QObject *parent = 0);
     ~Settings();
@@ -68,21 +72,27 @@ public:
     bool showArrivalsPreferred();
     void setShowArrivalsPreferred(bool);
 
+    StationListProxyModel::SortingMode stationListSortingMode();
+    void setStationListSortingMode(StationListProxyModel::SortingMode mode);
+
 signals:
     void queryBaseUrlChanged(const QString &);
     void recentStationsChanged(const QStringList &);
     void checkingIntervalChanged(int);
     void stationViewPreferredChanged(bool);
     void showArrivalsPreferredChanged(bool);
+    void stationListSortingModeChanged(StationListProxyModel::SortingMode mode);
 
 public slots:
 
 private:
     QString m_queryBaseUrl;
     QStringList m_recentStations;
+    StationListProxyModel::SortingMode m_stationListSortingMode;
     int m_checkingInterval;
     bool m_stationViewPreferred;
     bool m_showArrivalsPreferred;
+
 };
 
 #endif // SETTINGS_H