Fix window stacking on Maemo 5
authorThomas Perl <m@thp.io>
Wed, 4 May 2011 12:58:19 +0000 (14:58 +0200)
committerThomas Perl <m@thp.io>
Wed, 4 May 2011 12:58:19 +0000 (14:58 +0200)
Ui_Qt.py
gotoVienna.py
ui/OverviewItem.qml
wlSearch.py

index 191e4b3..874d371 100644 (file)
--- a/Ui_Qt.py
+++ b/Ui_Qt.py
@@ -104,7 +104,7 @@ class Ui_MainWindow(object):
         MainWindow.setTabOrder(self.comboDestination, self.btnSearch)
 
     def retranslateUi(self, MainWindow):
-        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "pyWienerLinien", None, QtGui.QApplication.UnicodeUTF8))
+        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "gotoVienna", None, QtGui.QApplication.UnicodeUTF8))
         self.btnSearch.setText(QtGui.QApplication.translate("MainWindow", "Search", None, QtGui.QApplication.UnicodeUTF8))
         self.comboDestination.setItemText(0, QtGui.QApplication.translate("MainWindow", "Stop", None, QtGui.QApplication.UnicodeUTF8))
         self.comboDestination.setItemText(1, QtGui.QApplication.translate("MainWindow", "Address", None, QtGui.QApplication.UnicodeUTF8))
index 19b1576..e322dcd 100644 (file)
@@ -3,7 +3,7 @@
 import sys
 import os.path
 import webbrowser
-from PySide.QtCore import SIGNAL, QTranslator, QObject
+from PySide.QtCore import SIGNAL, QTranslator, QObject, Qt
 from PySide.QtGui import QApplication, QMainWindow
 from Ui_Qt import Ui_MainWindow
 from wlSearch import Search
@@ -16,6 +16,7 @@ class WienerLinienQt(QMainWindow, Ui_MainWindow):
 
     def __init__(self):
         QMainWindow.__init__(self)
+        self.setAttribute(Qt.WA_Maemo5StackedWindow)
         # _s is used to keep a reference to the Search object, so it does
         # not get destroyed when it falls out of scope (the QML view is
         # destroyed as soon as the Search object is destroyed!)
@@ -52,7 +53,8 @@ class WienerLinienQt(QMainWindow, Ui_MainWindow):
 
         self._s = Search(origin, destination, \
                    origin_type=self.types[self.comboOrigin.currentIndex()], \
-                   destination_type=self.types[self.comboDestination.currentIndex()])
+                   destination_type=self.types[self.comboDestination.currentIndex()], \
+                   parent=self)
         self._s.open_qml()
         return True
 
index b0baf29..f15ccad 100644 (file)
@@ -62,7 +62,7 @@ Rectangle {
     Text {
         id: dauer
         color: row.textColor
-        text: 'Dauer: ' + modelData.duration + ' (' + modelData.change + ' x umsteigen)'
+        text: 'Dauer: ' + modelData.duration + ((modelData.change > 0)?(' (' + modelData.change + ' x umsteigen)'):'')
         font.pixelSize: 17
         anchors.left: time_from.right
         anchors.top: parent.top
index bbf11b4..8b99c90 100644 (file)
@@ -9,6 +9,7 @@ import urllib2
 
 from parseHtml import Parser
 
+from PySide.QtCore import Qt
 from PySide.QtDeclarative import QDeclarativeView
 
 def QMLModel(overview):
@@ -37,11 +38,12 @@ def QMLModel(overview):
 
 class Search:
 
-    def __init__(self, origin, destination, origin_type='stop', destination_type='stop'):
+    def __init__(self, origin, destination, origin_type='stop', destination_type='stop', parent=None):
         self.origin = origin
         self.destination = destination
         self.origin_type = origin_type
         self.destination_type = destination_type
+        self.parent = parent
         self.view = None
         self.qml_model = None
 
@@ -54,7 +56,10 @@ class Search:
     def open_qml(self, dtime=datetime.now()):
         p = Parser(self.get_html(dtime))
         self.qml_model = QMLModel(p.overview)
-        self.view = QDeclarativeView()
+        self.view = QDeclarativeView(self.parent)
+        self.view.setWindowTitle('Search results')
+        self.view.setWindowFlags(Qt.Window)
+        self.view.setAttribute(Qt.WA_Maemo5StackedWindow)
         self.view.setResizeMode(QDeclarativeView.SizeRootObjectToView)
         self.view.setSource('ui/Overview.qml')
         self.view.rootObject().setProperty('model', self.qml_model)