--- /dev/null
+"""
+Search dialogs
+"""
+
+import gtk
+import hildon
+from gettext import gettext as _
+
+
+class SearchDialog:
+ """Hildon Search Dialog."""
+
+ def __init__(self, controller):
+ self.controller = controller
+
+ def run(self):
+ dialog = hildon.Dialog()
+ dialog.set_title(_('Search'))
+
+ selector = hildon.TouchSelector(text=True)
+ #for item in ('cn', 'mobile'):
+ for item in self.controller.get_fields():
+ selector.append_text(_(item))
+ selector.set_active(0, 0)
+
+ button = hildon.PickerButton(gtk.HILDON_SIZE_AUTO | \
+ gtk.HILDON_SIZE_FINGER_HEIGHT, hildon.BUTTON_ARRANGEMENT_VERTICAL)
+ button.set_alignment(0, 0, 0, 0)
+ button.set_title(_("Search criterion"))
+ button.set_selector(selector)
+
+ entry = hildon.Entry(gtk.HILDON_SIZE_AUTO | \
+ gtk.HILDON_SIZE_FINGER_HEIGHT)
+ entry.set_placeholder(_("Enter search text here"))
+
+ dialog.vbox.pack_start(button, expand=False)
+ dialog.vbox.pack_end(entry, expand=False)
+ dialog.vbox.show_all()
+ dialog.add_button(_('Search'), gtk.RESPONSE_OK)
+ response = dialog.run()
+ if response == gtk.RESPONSE_OK:
+ result = (self.controller.get_localized_fields()[ \
+ button.get_value().decode('utf-8')], entry.get_text())
+ dialog.destroy()
+ return result
+ dialog.destroy()
+ return False