corrected search window
[meabook] / ui / hildon_ui / search.py
1 """
2 Search dialogs
3 """
4
5 import gtk
6 import hildon
7 from gettext import gettext as _
8
9
10 class SearchDialog:
11     """Hildon Search Dialog."""
12
13     def __init__(self, controller):
14         self.controller = controller
15
16     def run(self):
17         dialog = hildon.Dialog()
18         dialog.set_title(_('Search'))
19
20         selector = hildon.TouchSelector(text=True)
21         #for item in ('cn', 'mobile'):
22         for item in self.controller.get_fields():
23             selector.append_text(_(item))
24         selector.set_active(0, 0)
25
26         button = hildon.PickerButton(gtk.HILDON_SIZE_AUTO | \
27             gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
28         button.set_alignment(0, 0, 0, 0)
29         button.set_title(_("Search criterion"))
30         button.set_selector(selector)
31
32         entry = hildon.Entry(gtk.HILDON_SIZE_AUTO | \
33             gtk.HILDON_SIZE_FINGER_HEIGHT)
34         entry.set_placeholder(_("Enter search text here"))
35
36         dialog.vbox.pack_start(button, expand=False)
37         dialog.vbox.pack_end(entry, expand=False)
38         dialog.vbox.show_all()
39         dialog.add_button(_('Search'), gtk.RESPONSE_OK)
40         response = dialog.run()
41         if response == gtk.RESPONSE_OK:
42             result = (self.controller.get_localized_fields()[ \
43                 button.get_value().decode('utf-8')], entry.get_text())
44             dialog.destroy()
45             return result
46         dialog.destroy()
47         return False