X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fhildon-touch-selector-entry.c;h=2e2001144186e9344e10fb3314c2a43525046d15;hb=ebd45b521cb15d31c51675859a7b9ff35c130ac9;hp=97f1e3b2d90a26b41ac75f7b0013ec33c8fedc2f;hpb=64c1e2160a4351193293c7dd711cd8fd2cedc8a2;p=hildon diff --git a/src/hildon-touch-selector-entry.c b/src/hildon-touch-selector-entry.c index 97f1e3b..2e20011 100644 --- a/src/hildon-touch-selector-entry.c +++ b/src/hildon-touch-selector-entry.c @@ -23,14 +23,14 @@ * @short_description: A selector widget with one column and a text entry * @see_also: #HildonTouchSelector, #HildonPickerButton * - * #HildonTouchSelectorEntry is a selector widget with a text entry, similar in behaviour - * to #GtkComboBoxEntry, that allows user to select an item from a predefined list - * or to enter a different one in a #GtkEntry. Items can also be searched and selected - * by typing in the entry. + * #HildonTouchSelectorEntry is a selector widget with a text entry, similar in + * behaviour to #GtkComboBoxEntry, that allows user to select an item from a + * predefined list or to enter a different one in a #GtkEntry. Items can also + * be searched and selected by typing in the entry. * * The main difference between the #GtkTreeModel used by #HildonTouchSelector - * and #HildonTouchSelectorEntry, is that the latter must always include a text column. - * You should set it with hildon_touch_selector_entry_set_text_column(). + * and #HildonTouchSelectorEntry, is that the latter must always include a text + * column. You should set it with hildon_touch_selector_entry_set_text_column(). * * Normally, you would use #HildonTouchSelectorEntry together with a * #HildonPickerDialog activated from a button. For the most common @@ -137,10 +137,24 @@ static gchar * hildon_touch_selector_entry_print_func (HildonTouchSelector * selector) { HildonTouchSelectorEntryPrivate *priv; + GtkTreeModel *model; + GtkTreeIter iter; + gint column; + gchar *text = NULL; priv = HILDON_TOUCH_SELECTOR_ENTRY_GET_PRIVATE (selector); - return g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry))); + if (*(gtk_entry_get_text (GTK_ENTRY (priv->entry))) != '\0') { + text = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry))); + } else { + model = hildon_touch_selector_get_model (selector, 0); + if (hildon_touch_selector_get_selected (selector, 0, &iter)) { + column = hildon_touch_selector_entry_get_text_column (HILDON_TOUCH_SELECTOR_ENTRY (selector)); + gtk_tree_model_get (model, &iter, column, &text, -1); + } + } + + return text; } static void @@ -235,7 +249,7 @@ _text_column_modified (GObject *pspec, GParamSpec *gobject, gpointer data) * @text_column: A column in model to get the strings from * * Sets the model column which touch selector box should use to get strings - * from to be text_column. + * from to be @text_column. * **/ void @@ -256,7 +270,9 @@ hildon_touch_selector_entry_set_text_column (HildonTouchSelectorEntry *selector, * hildon_touch_selector_entry_get_text_column: * @selector: A #HildonTouchSelectorEntry * - * Returns the @column which the touch selector is using to get the strings from + * Gets the text column that @selector is using as a text column. + * + * Returns: the number of the column used as a text column. * **/ gint