forked from AuroraMiddleware/gtk
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.
This commit is contained in:
parent
a4cc4cd1da
commit
720873b9cc
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
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.
|
||||
|
||||
2003-11-19 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
|
||||
|
@ -1,3 +1,16 @@
|
||||
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.
|
||||
|
||||
2003-11-19 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
|
||||
|
@ -1,3 +1,16 @@
|
||||
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.
|
||||
|
||||
2003-11-19 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
|
||||
|
@ -1,3 +1,16 @@
|
||||
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.
|
||||
|
||||
2003-11-19 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
|
||||
|
@ -1,3 +1,16 @@
|
||||
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.
|
||||
|
||||
2003-11-19 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_init): Turn
|
||||
|
@ -4514,14 +4514,14 @@ gtk_entry_completion_timeout (gpointer data)
|
||||
|
||||
actions = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (completion->priv->actions), NULL);
|
||||
|
||||
if (matches > 0 || actions > 0)
|
||||
{
|
||||
if (! GTK_WIDGET_MAPPED (completion->priv->popup_window))
|
||||
_gtk_entry_completion_popup (completion);
|
||||
else
|
||||
_gtk_entry_completion_resize_popup (completion);
|
||||
}
|
||||
if ((matches > 0 || actions > 0)
|
||||
&& ! GTK_WIDGET_VISIBLE (completion->priv->popup_window))
|
||||
_gtk_entry_completion_popup (completion);
|
||||
else if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
|
||||
_gtk_entry_completion_resize_popup (completion);
|
||||
}
|
||||
else if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
|
||||
_gtk_entry_completion_popdown (completion);
|
||||
|
||||
GDK_THREADS_LEAVE ();
|
||||
|
||||
@ -4682,7 +4682,11 @@ gtk_entry_completion_changed (GtkWidget *entry,
|
||||
|
||||
/* no need to normalize for this test */
|
||||
if (! strcmp ("", gtk_entry_get_text (GTK_ENTRY (entry))))
|
||||
return;
|
||||
{
|
||||
if (GTK_WIDGET_VISIBLE (completion->priv->popup_window))
|
||||
_gtk_entry_completion_popdown (completion);
|
||||
return;
|
||||
}
|
||||
|
||||
completion->priv->completion_timeout =
|
||||
g_timeout_add (COMPLETION_TIMEOUT,
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user