Bump version to 0.9.0
[quandoparte] / application / stationview.cpp
index d085512..2e49496 100644 (file)
@@ -20,9 +20,12 @@ Boston, MA 02110-1301, USA.
 */
 
 #include "stationview.h"
+#include "settings.h"
 
 #include <QAction>
 #include <QActionGroup>
+#include <QDir>
+#include <QFileInfo>
 #include <QDebug>
 #include <QMenu>
 #include <QMenuBar>
@@ -46,6 +49,14 @@ StationView::StationView(QWidget *parent) :
     showArrivalsAction->setCheckable(true);
     showDeparturesAction->setCheckable(true);
     showDeparturesAction->setChecked(true);
+
+    Settings *settings = Settings::instance();
+    if (settings->showArrivalsPreferred()) {
+        showArrivalsAction->setChecked(true);
+    } else {
+        showDeparturesAction->setChecked(true);
+    }
+
     viewSelectionGroup->addAction(showArrivalsAction);
     viewSelectionGroup->addAction(showDeparturesAction);
     menu->addAction(showDeparturesAction);
@@ -58,7 +69,7 @@ StationView::StationView(QWidget *parent) :
     view->setTextSizeMultiplier(2.0);
     view->setBackgroundRole(QPalette::Window);
     connect(showAboutAction, SIGNAL(triggered()), this, SIGNAL(aboutTriggered()));
-    connect(showSettingsAction, SIGNAL(triggered()), this, SIGNAL(settingsTriggered()));
+    connect(showSettingsAction, SIGNAL(triggered()), this, SIGNAL(settingsChangeRequested()));
     connect(showStationListSelectAction, SIGNAL(triggered()), this, SIGNAL(stationListSelectTriggered()));
     connect(viewSelectionGroup, SIGNAL(triggered(QAction *)), this, SLOT(viewSelectionGroupTriggered(QAction *)));
     setCentralWidget(view);
@@ -66,6 +77,9 @@ StationView::StationView(QWidget *parent) :
     setAttribute(Qt::WA_Maemo5StackedWindow);
     setAttribute(Qt::WA_Maemo5AutoOrientation);
 #endif
+#if defined(Q_WS_S60)
+    setWindowState(Qt::WindowMaximized);
+#endif
 }
 
 void StationView::setStation(const QString &station)
@@ -130,35 +144,24 @@ void StationView::updateView(const QByteArray &page)
 
 void StationView::viewSelectionGroupTriggered(QAction *action)
 {
-    if (action == showArrivalsAction) {
-        emit showingArrivalsChanged(true);
-    } else {
-        emit showingArrivalsChanged(false);
-    }
+    Settings *settings = Settings::instance();
+    settings->setShowArrivalsPreferred(
+                action == showArrivalsAction ? true : false);
     updateCss();
 }
 
 void StationView::updateCss(void)
 {
-    QByteArray styleSheet("data:text/css;charset=utf-8,base64,");
-    QByteArray styleSheetText = QByteArray(
-                "body {\n"
-                "-webkit-user-select: none ! important;\n"
-                "background-color: black ! important;\n"
-                "color: white ! important;}\n"
-                ".testata_red {visibility: hidden ! important;}\n"
-                "#footer {\n"
-                "visibility: hidden ! important;}\n");
-    styleSheet += styleSheetText.toBase64();
-    qDebug() << styleSheet;
-    //QUrl cssUrl = QUrl::fromEncoded(styleSheet);
     QUrl cssUrl;
-
-    // XXX Maemo5 specific
-    if (showArrivalsAction->isChecked()) {
-        cssUrl.setEncodedUrl("file:///opt/usr/share/apps/quandoparte/css/arrivals.css");
+    Settings *settings = Settings::instance();
+    QStringList paths = QDir::searchPaths("css");
+    QFileInfo fileInfo;
+    if (settings->showArrivalsPreferred()) {
+        fileInfo = QFileInfo("css:arrivals.css");
     } else {
-        cssUrl.setEncodedUrl("file:///opt/usr/share/apps/quandoparte/css/departures.css");
+        fileInfo = QFileInfo("css:departures.css");
     }
+    cssUrl = QUrl::fromLocalFile(fileInfo.absoluteFilePath());
+    qDebug() << "Css url:" << cssUrl;
     QWebSettings::globalSettings()->setUserStyleSheetUrl(cssUrl);
 }