summaryrefslogtreecommitdiff
path: root/gtk/gtkentrycompletion.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2003-11-19 21:26:27 +0000
committerKristian Rietveld <kristian@src.gnome.org>2003-11-19 21:26:27 +0000
commit720873b9cc38f0bc9b77647684c0c52cbe4ed664 (patch)
tree7357c03fc3ed0756613af68ff96429b681caec66 /gtk/gtkentrycompletion.c
parenta4cc4cd1dade1aa80a5794ca1d71eff5957cc941 (diff)
downloadgtk+-720873b9cc38f0bc9b77647684c0c52cbe4ed664.tar.gz
always resize the popup when it is visible, popdown when there are less
Wed Nov 19 22:15:01 2003 Kristian Rietveld <kris@gtk.org> * gtk/gtkentry.c (gtk_entry_completion_timeout): always resize the popup when it is visible, popdown when there are less chars than the minimum key length in the entry, (gtk_entry_completion_changed): popdown when the entry is empty. * gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the size request of the vscrollbar to (-1, 0), to get a nicely sized completion treeview (Fixes #126573, reported by Piers Cornwell), (_gtk_entry_completion_resize_popup): show/hide the action_view based on items.
Diffstat (limited to 'gtk/gtkentrycompletion.c')
-rw-r--r--gtk/gtkentrycompletion.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c
index 2dc0896b27..de8664e520 100644
--- a/gtk/gtkentrycompletion.c
+++ b/gtk/gtkentrycompletion.c
@@ -258,6 +258,8 @@ gtk_entry_completion_init (GtkEntryCompletion *completion)
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window),
GTK_SHADOW_ETCHED_IN);
+ /* a nasty hack to get the completions treeview to size nicely */
+ gtk_widget_set_size_request (GTK_SCROLLED_WINDOW (priv->scrolled_window)->vscrollbar, -1, 0);
/* actions */
priv->actions = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN);
@@ -1061,6 +1063,8 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion)
if (items)
{
+ gtk_widget_show (completion->priv->action_view);
+
gtk_tree_view_column_cell_get_size (gtk_tree_view_get_column (GTK_TREE_VIEW (completion->priv->action_view), 0),
NULL, NULL, NULL, NULL,
&height);
@@ -1069,6 +1073,8 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion)
completion->priv->entry->allocation.width - 2 * x_border,
items * height);
}
+ else
+ gtk_widget_hide (completion->priv->action_view);
return height;
}