diff options
author | stig <stig@f5534014-38df-0310-8fa8-9805f1628bb7> | 2008-10-24 22:13:07 +0000 |
---|---|---|
committer | stig <stig@f5534014-38df-0310-8fa8-9805f1628bb7> | 2008-10-24 22:13:07 +0000 |
commit | ca094ddd20734fbe7f53fd68530314f26123275d (patch) | |
tree | 6381b03adf3fdfa128647ce6b8b222a4153537ae /gtk/filter_autocomplete.c | |
parent | b446b8497acbfd4ba085e05b0493092886c6c0c6 (diff) |
Always select an entry in the autocomplete list.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26544 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'gtk/filter_autocomplete.c')
-rw-r--r-- | gtk/filter_autocomplete.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/gtk/filter_autocomplete.c b/gtk/filter_autocomplete.c index 8bde024f9f..8d109c4e6c 100644 --- a/gtk/filter_autocomplete.c +++ b/gtk/filter_autocomplete.c @@ -430,8 +430,6 @@ filter_string_te_key_pressed_cb(GtkWidget *filter_te, GdkEventKey *event) case GDK_BackSpace: filter_autocomplete_handle_backspace(treeview, popup_win, prefix, w_toplevel); - if( strlen(prefix) ) - autocompletion_list_lookup(popup_win, treeview, prefix); break; default: { @@ -554,12 +552,10 @@ filter_autocomplete_new(GtkWidget *filter_te, const gchar *protocol_name, gboole g_signal_connect(filter_te, "focus-out-event", G_CALLBACK(filter_te_focus_out_cb), w_toplevel); g_signal_connect(popup_win, "destroy", G_CALLBACK(filter_autocomplete_win_destroy_cb), NULL); - if (protocols_only) { - /* Select first entry */ - selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); - gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); - gtk_tree_selection_select_iter(GTK_TREE_SELECTION(selection), &iter); - } + /* Select first entry */ + selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); + gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); + gtk_tree_selection_select_iter(GTK_TREE_SELECTION(selection), &iter); gtk_widget_size_request(treeview, &requisition); @@ -581,6 +577,10 @@ static void filter_autocomplete_handle_backspace(GtkWidget *list, GtkWidget *popup_win, gchar *prefix, GtkWidget *main_win) { GtkListStore *store; + GtkTreeSelection *selection; + GtkRequisition requisition; + GtkTreeIter iter; + void *cookie, *cookie2; protocol_t *protocol; int i; @@ -635,6 +635,16 @@ filter_autocomplete_handle_backspace(GtkWidget *list, GtkWidget *popup_win, gcha } } } + + /* Select first entry */ + selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(list)); + gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); + gtk_tree_selection_select_iter(GTK_TREE_SELECTION(selection), &iter); + + gtk_widget_size_request(list, &requisition); + + gtk_widget_set_size_request (popup_win, (requisition.width<100?125:requisition.width+25), (requisition.height<200? requisition.height+8:200)); + gtk_window_resize(GTK_WINDOW(popup_win), (requisition.width<100?125:requisition.width+25), (requisition.height<200? requisition.height+8:200)); } static void |