summaryrefslogtreecommitdiff
path: root/gtk/gtkentrycompletion.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-09-13 17:34:54 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-09-13 17:34:54 +0000
commit8a5e6cae09bcdcf33c8d8149f11cd8ab96973429 (patch)
treedb8a644da14ee85fb77d8513a26e6709cff0b5dd /gtk/gtkentrycompletion.c
parent150ac78106717e2fa5ccccd1d653d61416d90600 (diff)
downloadgtk+-8a5e6cae09bcdcf33c8d8149f11cd8ab96973429.tar.gz
Resize the popup if the model is replaced. (#152333)
2004-09-13 Matthias Clasen <mclasen@redhat.com> * gtk/gtkentrycompletion.c (gtk_entry_completion_get_model): Resize the popup if the model is replaced. (#152333)
Diffstat (limited to 'gtk/gtkentrycompletion.c')
-rw-r--r--gtk/gtkentrycompletion.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c
index f541134004..eb7288e239 100644
--- a/gtk/gtkentrycompletion.c
+++ b/gtk/gtkentrycompletion.c
@@ -905,6 +905,18 @@ gtk_entry_completion_get_entry (GtkEntryCompletion *completion)
return completion->priv->entry;
}
+static void
+filter_model_changed_cb (GtkTreeModel *model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ gpointer user_data)
+{
+ GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (user_data);
+
+ if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
+ _gtk_entry_completion_resize_popup (completion);
+}
+
/**
* gtk_entry_completion_set_model:
* @completion: A #GtkEntryCompletion.
@@ -930,9 +942,13 @@ gtk_entry_completion_set_model (GtkEntryCompletion *completion,
gtk_entry_completion_visible_func,
completion,
NULL);
+
gtk_tree_view_set_model (GTK_TREE_VIEW (completion->priv->tree_view),
GTK_TREE_MODEL (completion->priv->filter_model));
g_object_unref (G_OBJECT (completion->priv->filter_model));
+
+ if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
+ _gtk_entry_completion_resize_popup (completion);
}
/**