Initial support for multiple query services
[maevies] / ui / maeviesui / maeviesui / gui.py
index 4fd83f3..0fb52fd 100644 (file)
@@ -31,6 +31,8 @@ from maeviesui.util.asyncworker import AsyncWorker, AsyncItem
 from maeviesui.util.util import image_downloader
 from maeviesui.util.moviemanager import MovieManager
 
+moviemanager = MovieManager()
+
 class Maevies(hildon.StackableWindow):
 
     ACTION_SEARCH = 0
@@ -112,10 +114,10 @@ class Maevies(hildon.StackableWindow):
 
 class SearchDialog(gtk.Dialog):
 
-    _search_fields = [
-           'Movies',
-           'People',
-           ]
+    TMDB_SEARCH = 0
+    WATC_SEARCH = 1
+    search_fields = {TMDB_SEARCH:'TMDb',
+                      WATC_SEARCH:'WATC'}
 
     def __init__(self, parent):
         super(SearchDialog, self).__init__(parent=parent,
@@ -143,13 +145,13 @@ class SearchDialog(gtk.Dialog):
     def _create_picker_button(self):
         self._picker_button = hildon.PickerButton(gtk.HILDON_SIZE_FINGER_HEIGHT,
                                                   hildon.BUTTON_ARRANGEMENT_HORIZONTAL)
-        self._picker_button.set_title('Search for')
+        self._picker_button.set_title('Search on')
 
         selector = hildon.TouchSelector(text=True)
         selector.set_column_selection_mode(hildon.TOUCH_SELECTOR_SELECTION_MODE_SINGLE)
 
-        for field in self._search_fields:
-            selector.append_text(field)
+        for search_method in [self.TMDB_SEARCH, self.WATC_SEARCH]:
+            selector.append_text(self.search_fields[search_method])
 
         self._picker_button.set_selector(selector)
         self._picker_button.set_active(0)
@@ -160,7 +162,7 @@ class SearchDialog(gtk.Dialog):
         return self._search_entry.get_text()
 
     def get_search_category(self):
-        return self._search_fields[self._picker_button.get_active()]
+        return self._picker_button.get_active()
 
 class ResultsWindow(hildon.StackableWindow):
 
@@ -170,7 +172,7 @@ class ResultsWindow(hildon.StackableWindow):
 
         self.add(self._create_contents())
 
-        self.moviemanager = MovieManager(response_received_cb=self._response_received_cb)
+        moviemanager.response_received_cb = self._response_received_cb
         self.show_all()
 
     def _create_contents(self):
@@ -188,15 +190,15 @@ class ResultsWindow(hildon.StackableWindow):
     def start_search(self, search_term, search_category):
         self._show_banner(search_term, search_category)
         hildon.hildon_gtk_window_set_progress_indicator(self, True)
-        self.moviemanager.query(search_term)
+        moviemanager.query(search_term, search_category)
 
     def _response_received_cb(self, movies):
         self._movies_view.add_movies(movies)
         hildon.hildon_gtk_window_set_progress_indicator(self, False)
 
     def _show_banner(self, search_term, search_category):
-        message = ('Searching <i>%(category)s</i> for <i>%(term)s</i>' %
-                   {'category': search_category,
+        message = ('Searching on <i>%(category)s</i> for <i>%(term)s</i>' %
+                   {'category': SearchDialog.search_fields[search_category],
                     'term' : search_term})
         banner = hildon.hildon_banner_show_information_with_markup(self,
                                                                    'ignored',