Add a menu item to chose a dark theme
authorLuciano Montanaro <mikelima@cirulla.net>
Sun, 29 Sep 2013 07:54:00 +0000 (09:54 +0200)
committerLuciano Montanaro <mikelima@cirulla.net>
Sun, 29 Sep 2013 07:54:00 +0000 (09:54 +0200)
The theme switching is not implemented yet, only the option management
is implemented.

application/resources/harmattan/qml/StationListPage.qml
application/settings.cpp
application/settings.h

index c6ebe1d..feff382 100644 (file)
@@ -29,6 +29,18 @@ Page {
                 }
             }
             MenuItem {
+                text: qsTr("Use Dark Theme")
+                Switch {
+                    id: darkThemeSwitchSwitch
+                    anchors {
+                        verticalCenter: parent.verticalCenter
+                        right: parent.right
+                        rightMargin: UiConstants.DefaultMargin
+                    }
+                    onCheckedChanged: settings.useDarkTheme = checked
+                }
+            }
+            MenuItem {
                 text: qsTr("About Quando Parte")
                 onClicked: Private.showAboutPage()
             }
index ea8eff1..654dcaa 100644 (file)
@@ -133,6 +133,21 @@ void Settings::setStationViewPreferred(bool preference)
     emit stationViewPreferredChanged();
 }
 
+bool Settings::darkThemePreferred()
+{
+    QSettings settings;
+
+    return settings.value("DarkThemePreferred", false).toBool();
+}
+
+void Settings::setDarkThemePreferred(bool preference)
+{
+    QSettings settings;
+
+    settings.setValue("DarkThemePreferred", preference);
+    emit stationViewPreferredChanged();
+}
+
 bool Settings::showArrivalsPreferred()
 {
     QSettings settings;
index 450268a..270616d 100644 (file)
@@ -52,6 +52,9 @@ class Settings : public QObject
     Q_PROPERTY(StationListProxyModel::SortingMode stationListSortingMode
                READ stationListSortingMode WRITE setStationListSortingMode
                NOTIFY stationListSortingModeChanged)
+    Q_PROPERTY(bool darkThemePreferred
+               READ darkThemePreferred WRITE setDarkThemePreferred
+               NOTIFY darkThemePreferredChanged)
     Q_PROPERTY(QString versionString READ versionString CONSTANT)
 public:
     explicit Settings(QObject *parent = 0);
@@ -78,6 +81,9 @@ public:
     bool showArrivalsPreferred();
     void setShowArrivalsPreferred(bool);
 
+    bool darkThemePreferred();
+    void setDarkThemePreferred(bool);
+
     StationListProxyModel::SortingMode stationListSortingMode();
     void setStationListSortingMode(StationListProxyModel::SortingMode mode);
 
@@ -90,6 +96,7 @@ signals:
     void autoUpdateChanged();
     void stationViewPreferredChanged();
     void showArrivalsPreferredChanged();
+    void darkThemePreferredChanged();
     void stationListSortingModeChanged();
 };