#include "modest-maemo-utils.h"
#include "modest-country-picker.h"
+#include <hildon/hildon-touch-selector-entry.h>
#include <gtk/gtkliststore.h>
#include <gtk/gtkcelllayout.h>
#include <gtk/gtkcellrenderertext.h>
priv->locale_mcc = 0;
}
+static gchar *
+country_picker_print_func (HildonTouchSelector *selector)
+{
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ gchar *text = NULL;
+
+ /* Always pick the selected country from the tree view and
+ never from the entry */
+ model = hildon_touch_selector_get_model (selector, 0);
+ if (hildon_touch_selector_get_selected (selector, 0, &iter)) {
+ gint column;
+
+ column = hildon_touch_selector_entry_get_text_column (HILDON_TOUCH_SELECTOR_ENTRY (selector));
+ gtk_tree_model_get (model, &iter, column, &text, -1);
+ }
+ return text;
+}
+
void
modest_country_picker_load_data(ModestCountryPicker *self)
{
renderer = gtk_cell_renderer_text_new ();
g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
- selector = hildon_touch_selector_new ();
+ selector = hildon_touch_selector_entry_new ();
+ hildon_touch_selector_set_print_func (HILDON_TOUCH_SELECTOR (selector), country_picker_print_func);
column = hildon_touch_selector_append_column (HILDON_TOUCH_SELECTOR (selector), GTK_TREE_MODEL (model),
renderer, "text", MODEL_COL_NAME, NULL);
g_object_set (G_OBJECT (column), "text-column", MODEL_COL_NAME, NULL);
/* Set this _after_ loading from file, it makes loading faster */
hildon_touch_selector_set_model (HILDON_TOUCH_SELECTOR (selector),
0, GTK_TREE_MODEL (model));
+ hildon_touch_selector_entry_set_text_column (HILDON_TOUCH_SELECTOR_ENTRY (selector),
+ MODEL_COL_NAME);
+ hildon_touch_selector_entry_set_input_mode (HILDON_TOUCH_SELECTOR_ENTRY (selector),
+ HILDON_GTK_INPUT_MODE_ALPHA |
+ HILDON_GTK_INPUT_MODE_AUTOCAP);
+
hildon_picker_button_set_selector (HILDON_PICKER_BUTTON (self), HILDON_TOUCH_SELECTOR (selector));
g_object_unref (model);