diff options
author | Matthias Clasen <mclasen@redhat.com> | 2008-09-17 15:22:52 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2008-09-17 15:22:52 +0000 |
commit | 0f397dccccf3f5fc5279c97a831b110d10fb3c0b (patch) | |
tree | 6ebc4cce1dff22a16e4608d38c3dfcb4701288be /gtk | |
parent | 5f9c268e561a3064704e6e9295428e7916e58a94 (diff) | |
download | gtk+-0f397dccccf3f5fc5279c97a831b110d10fb3c0b.tar.gz |
Bug 408154 – [PATCH] Change GtkEntryCompletion max-items to style
2008-09-17 Matthias Clasen <mclasen@redhat.com>
Bug 408154 – [PATCH] Change GtkEntryCompletion max-items to style
property
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Take actions into account when finding the available space for
matches. Patch by Ross Burton
svn path=/trunk/; revision=21413
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkentrycompletion.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index e739f5f8a7..932637488a 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -1365,7 +1365,7 @@ gboolean _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) { gint x, y; - gint matches, items, height, x_border, y_border; + gint matches, actions, items, height, x_border, y_border; GdkScreen *screen; gint monitor_num; gint vertical_separator; @@ -1383,6 +1383,7 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) _gtk_entry_get_borders (GTK_ENTRY (completion->priv->entry), &x_border, &y_border); matches = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->filter_model), NULL); + actions = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->actions), NULL); gtk_tree_view_column_cell_get_size (completion->priv->column, NULL, NULL, NULL, NULL, &height); @@ -1403,9 +1404,9 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) if (y > monitor.height / 2) - items = MIN (matches, (monitor.y + y) / height); + items = MIN (matches, (monitor.y + y) / height - actions); else - items = MIN (matches, (monitor.height - y) / height - 1); + items = MIN (matches, (monitor.height - y) / height - 1 - actions); if (items <= 0) gtk_widget_hide (completion->priv->scrolled_window); @@ -1423,9 +1424,7 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) /* default on no match */ completion->priv->current_selected = -1; - items = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->actions), NULL); - - if (items) + if (actions) { gtk_widget_show (completion->priv->action_view); gtk_widget_set_size_request (completion->priv->action_view, width, -1); |