Merge https://vcs.maemo.org/git/pywienerlinien
[pywienerlinien] / pyWienerLinien.py
1 #!/usr/bin/env python
2
3 import sys
4 import os
5 import time
6 import logging
7 import webbrowser
8 from PySide import QtCore, QtGui
9 from Ui_Qt import Ui_MainWindow
10 from wlSearch import Search
11 from history import History
12 import settings
13
14
15 class WienerLinienQt(QtGui.QMainWindow, Ui_MainWindow):
16     types = ('stop', 'address', 'poi')
17
18     def __init__(self):
19         QtGui.QMainWindow.__init__(self)
20         self.setupUi(self)
21         self.connect(self.btnSearch, QtCore.SIGNAL("clicked()"), self.search)
22
23         self.history = History(settings.hist_file)
24         self.editOrigin.addItems(self.history)
25         self.editDestination.addItems(self.history)
26
27     def search(self):
28         origin = self.editOrigin.currentText()
29         destination = self.editDestination.currentText()
30
31         self.history.insert(0, origin)
32         self.history.insert(0, destination)
33
34         self.editOrigin.insertItems(1, self.history)
35         self.editDestination.insertItems(1, self.history)
36
37         if not origin and destination:
38             self.btnSearch.setText("Search - Missing input")
39         else:
40             s = Search(origin, destination, \
41                        origin_type=self.types[self.comboOrigin.currentIndex()], \
42                        destination_type=self.types[self.comboDestination.currentIndex()])
43             try:
44                 s.open_browser()
45             except webbrowser.Error:
46                 self.btnSearch.setText("Error starting webbrowser")
47                 return False
48             self.btnSearch.setText("Search - Opening webbrowser")
49             return True
50
51
52 if __name__ == "__main__":
53     app = QtGui.QApplication(sys.argv)
54     w = WienerLinienQt()
55     w.show()
56     app.exec_()