From: Thomas Perl Date: Wed, 4 May 2011 12:58:19 +0000 (+0200) Subject: Fix window stacking on Maemo 5 X-Git-Url: http://vcs.maemo.org/git/?a=commitdiff_plain;h=ee6d0b1b97e0ceb0007fccd4569b99180d22603c;p=pywienerlinien Fix window stacking on Maemo 5 --- diff --git a/Ui_Qt.py b/Ui_Qt.py index 191e4b3..874d371 100644 --- 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)) diff --git a/gotoVienna.py b/gotoVienna.py index 19b1576..e322dcd 100644 --- a/gotoVienna.py +++ b/gotoVienna.py @@ -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 diff --git a/ui/OverviewItem.qml b/ui/OverviewItem.qml index b0baf29..f15ccad 100644 --- a/ui/OverviewItem.qml +++ b/ui/OverviewItem.qml @@ -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 diff --git a/wlSearch.py b/wlSearch.py index bbf11b4..8b99c90 100644 --- a/wlSearch.py +++ b/wlSearch.py @@ -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)