Refactored settings relative to StationView
authorLuciano Montanaro <mikelima@cirulla.net>
Sun, 12 Jun 2011 14:25:56 +0000 (16:25 +0200)
committerLuciano Montanaro <mikelima@cirulla.net>
Sun, 12 Jun 2011 14:25:56 +0000 (16:25 +0200)
Removed the roundtrip between the StationView class and the App class.
Now StationView is responsible for its own settings.

application/app.cpp
application/app.h
application/application.pro
application/stationview.cpp
application/stationview.h

index 1ba9e61..32af811 100644 (file)
@@ -62,8 +62,6 @@ App::App(QObject *parent) :
     connect(stationView, SIGNAL(stationListSelectTriggered()),
             SLOT(showStationSelectView()));
 
-    connect(stationView, SIGNAL(showingArrivalsChanged(bool)),
-            SLOT(setShowingArrivals(bool)));
     readSettings();
 
     qDebug() << "found" << stationListModel->rowCount() << "stations";
@@ -155,7 +153,6 @@ void App::readSettings(void)
     stationView->setBaseUrl(queryBaseUrl);
 
     recentStations = settings.value("RecentStations").toString().split(",");
-    showingArrivals = settings.value("ShowingArrivals", false).toBool();
     checkingInterval = settings.value("CheckInterval", 2000).toInt();
 }
 
@@ -167,15 +164,9 @@ void App::saveSettings(void)
 
     settings.setValue("QueryURL", queryBaseUrl);
     settings.setValue("RecentStations", recentStations.join(","));
-    settings.setValue("ShowingArrivals", showingArrivals);
     settings.setValue("CheckInterval", checkingInterval);
 }
 
-void App::setShowingArrivals(bool showArrivals)
-{
-    showingArrivals = showArrivals;
-}
-
 QString App::dataDir(void)
 {
 #ifdef Q_WS_MAEMO_5
index bdd9c67..c61509a 100644 (file)
@@ -53,7 +53,6 @@ public slots:
     void showAboutDialog(void);
     void showSettingsDialog(void);
     void showStationSelectView(void);
-    void setShowingArrivals(bool);
 public:
     void saveSettings(void);
     void readSettings(void);
index 5c20293..4b3d347 100644 (file)
@@ -8,7 +8,7 @@ QT += webkit network maemo5
 
 TARGET = quandoparte
 TEMPLATE = app
-VERSION = 0.2.2
+VERSION = 0.2.90
 VERSION_STRING = '\\"$${VERSION}\\"'
 DEFINES += QP_VERSION=\"$${VERSION_STRING}\"
 
index 2f098a5..462d9b1 100644 (file)
@@ -26,6 +26,7 @@ Boston, MA 02110-1301, USA.
 #include <QDebug>
 #include <QMenu>
 #include <QMenuBar>
+#include <QSettings>
 #include <QWebElement>
 #include <QWebFrame>
 #include <QWebView>
@@ -46,6 +47,14 @@ StationView::StationView(QWidget *parent) :
     showArrivalsAction->setCheckable(true);
     showDeparturesAction->setCheckable(true);
     showDeparturesAction->setChecked(true);
+
+    QSettings settings;
+    if (settings.value("StationView/ShowArrivals", false).toBool() == true) {
+        showArrivalsAction->setChecked(true);
+    } else {
+        showDeparturesAction->setChecked(true);
+    }
+
     viewSelectionGroup->addAction(showArrivalsAction);
     viewSelectionGroup->addAction(showDeparturesAction);
     menu->addAction(showDeparturesAction);
@@ -130,10 +139,11 @@ void StationView::updateView(const QByteArray &page)
 
 void StationView::viewSelectionGroupTriggered(QAction *action)
 {
+    QSettings settings;
     if (action == showArrivalsAction) {
-        emit showingArrivalsChanged(true);
+        settings.setValue("StationView/ShowArrivals", true);
     } else {
-        emit showingArrivalsChanged(false);
+        settings.setValue("StationView/ShowArrivals", false);
     }
     updateCss();
 }
@@ -141,9 +151,8 @@ void StationView::viewSelectionGroupTriggered(QAction *action)
 void StationView::updateCss(void)
 {
     QUrl cssUrl;
-
-    // XXX Maemo5 specific
-    if (showArrivalsAction->isChecked()) {
+    QSettings settings;
+    if (settings.value("StationView/ShowArrivals", true).toBool()) {
         cssUrl.setEncodedUrl("file:///opt/usr/share/apps/quandoparte/css/arrivals.css");
     } else {
         cssUrl.setEncodedUrl("file:///opt/usr/share/apps/quandoparte/css/departures.css");
index 75ce9aa..8135b7e 100644 (file)
@@ -21,7 +21,6 @@ signals:
     void aboutTriggered(void);
     void settingsTriggered(void);
     void stationListSelectTriggered(void);
-    void showingArrivalsChanged(bool);
 
 public slots:
     void updateView(const QByteArray &page);