Convert provider picker to use live search
[modest] / src / hildon2 / modest-provider-picker.c
index b152968..539089f 100644 (file)
@@ -28,7 +28,7 @@
  */
 
 #include "modest-provider-picker.h"
-#include <hildon/hildon-touch-selector-entry.h>
+#include <hildon/hildon.h>
 #include <gtk/gtkliststore.h>
 #include <gtk/gtkcelllayout.h>
 #include <gtk/gtkcellrenderertext.h>
@@ -199,21 +199,13 @@ modest_provider_picker_new (HildonSizeType size,
        renderer = gtk_cell_renderer_text_new ();
        g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
 
-       selector = hildon_touch_selector_entry_new ();
+       selector = hildon_touch_selector_new ();
        hildon_touch_selector_set_print_func (HILDON_TOUCH_SELECTOR (selector), 
                                              (HildonTouchSelectorPrintFunc) touch_selector_print_func);
+       hildon_touch_selector_set_model (HILDON_TOUCH_SELECTOR (selector), 0, GTK_TREE_MODEL (priv->model));
        column = hildon_touch_selector_append_column (HILDON_TOUCH_SELECTOR (selector), GTK_TREE_MODEL (priv->model),
                                                      renderer, "text", MODEL_COL_NAME, NULL);
-       hildon_touch_selector_entry_set_text_column (HILDON_TOUCH_SELECTOR_ENTRY (selector),
-                                                    MODEL_COL_NAME);
-
-       /* Set this _after_ loading from file, it makes loading faster */
-       hildon_touch_selector_set_model (HILDON_TOUCH_SELECTOR (selector), 0, GTK_TREE_MODEL (priv->model));
-       hildon_touch_selector_entry_set_input_mode (HILDON_TOUCH_SELECTOR_ENTRY (selector),
-                                                   HILDON_GTK_INPUT_MODE_ALPHA |
-                                                   HILDON_GTK_INPUT_MODE_SPECIAL |
-                                                   HILDON_GTK_INPUT_MODE_NUMERIC |
-                                                   HILDON_GTK_INPUT_MODE_AUTOCAP);
+       hildon_touch_selector_column_set_text_column (column, MODEL_COL_NAME);
 
 
        hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (self), HILDON_TOUCH_SELECTOR (selector));
@@ -398,9 +390,9 @@ modest_provider_picker_refresh (ModestProviderPicker *self)
                                        continue;
 
                                do {
-                                       const gchar *id;
-                                       gtk_tree_model_get (priv->model, &iter, 
-                                                           MODEL_COL_ID, id,
+                                       gchar *id = NULL;
+                                       gtk_tree_model_get (priv->model, &iter,
+                                                           MODEL_COL_ID, &id,
                                                            -1);
 
                                        if (g_strcmp0 (id, modest_protocol_get_name (proto)) == 0) {
@@ -425,9 +417,6 @@ modest_provider_picker_refresh (ModestProviderPicker *self)
        }
        g_slist_free (provider_protos);
        
-       g_slist_foreach (provider_ids_used_already, (GFunc)g_free, NULL);
-       g_slist_free (provider_ids_used_already);
-
 }
 
 /**