mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
Give all search entries an icon
This was first requested for the search entry in GtkDropDown, but it is better to be consistent and give every search entry an icon. Related: #3291
This commit is contained in:
parent
10d7ccc8e0
commit
fdb1fa4d08
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.9 KiB |
@ -251,8 +251,6 @@ gtk_drop_down_dispose (GObject *object)
|
|||||||
{
|
{
|
||||||
GtkDropDown *self = GTK_DROP_DOWN (object);
|
GtkDropDown *self = GTK_DROP_DOWN (object);
|
||||||
|
|
||||||
gtk_widget_unparent (gtk_widget_get_first_child (self->search_entry));
|
|
||||||
|
|
||||||
g_clear_pointer (&self->popup, gtk_widget_unparent);
|
g_clear_pointer (&self->popup, gtk_widget_unparent);
|
||||||
g_clear_pointer (&self->button, gtk_widget_unparent);
|
g_clear_pointer (&self->button, gtk_widget_unparent);
|
||||||
|
|
||||||
@ -596,19 +594,11 @@ set_default_factory (GtkDropDown *self)
|
|||||||
static void
|
static void
|
||||||
gtk_drop_down_init (GtkDropDown *self)
|
gtk_drop_down_init (GtkDropDown *self)
|
||||||
{
|
{
|
||||||
GtkWidget *icon;
|
|
||||||
|
|
||||||
g_type_ensure (GTK_TYPE_BUILTIN_ICON);
|
g_type_ensure (GTK_TYPE_BUILTIN_ICON);
|
||||||
g_type_ensure (GTK_TYPE_LIST_ITEM_WIDGET);
|
g_type_ensure (GTK_TYPE_LIST_ITEM_WIDGET);
|
||||||
|
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
icon = g_object_new (GTK_TYPE_IMAGE,
|
|
||||||
"accessible-role", GTK_ACCESSIBLE_ROLE_NONE,
|
|
||||||
"icon-name", "system-search-symbolic",
|
|
||||||
NULL);
|
|
||||||
gtk_widget_insert_after (icon, self->search_entry, NULL);
|
|
||||||
|
|
||||||
set_default_factory (self);
|
set_default_factory (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,6 +160,8 @@ gtk_search_entry_finalize (GObject *object)
|
|||||||
|
|
||||||
gtk_editable_finish_delegate (GTK_EDITABLE (entry));
|
gtk_editable_finish_delegate (GTK_EDITABLE (entry));
|
||||||
|
|
||||||
|
gtk_widget_unparent (gtk_widget_get_first_child (GTK_WIDGET (entry)));
|
||||||
|
|
||||||
g_clear_pointer (&entry->entry, gtk_widget_unparent);
|
g_clear_pointer (&entry->entry, gtk_widget_unparent);
|
||||||
g_clear_pointer (&entry->icon, gtk_widget_unparent);
|
g_clear_pointer (&entry->icon, gtk_widget_unparent);
|
||||||
|
|
||||||
@ -549,8 +551,15 @@ activate_cb (GtkText *text,
|
|||||||
static void
|
static void
|
||||||
gtk_search_entry_init (GtkSearchEntry *entry)
|
gtk_search_entry_init (GtkSearchEntry *entry)
|
||||||
{
|
{
|
||||||
|
GtkWidget *icon;
|
||||||
GtkGesture *press;
|
GtkGesture *press;
|
||||||
|
|
||||||
|
icon = g_object_new (GTK_TYPE_IMAGE,
|
||||||
|
"accessible-role", GTK_ACCESSIBLE_ROLE_NONE,
|
||||||
|
"icon-name", "system-search-symbolic",
|
||||||
|
NULL);
|
||||||
|
gtk_widget_set_parent (icon, GTK_WIDGET (entry));
|
||||||
|
|
||||||
entry->entry = gtk_text_new ();
|
entry->entry = gtk_text_new ();
|
||||||
gtk_widget_set_parent (entry->entry, GTK_WIDGET (entry));
|
gtk_widget_set_parent (entry->entry, GTK_WIDGET (entry));
|
||||||
gtk_widget_set_hexpand (entry->entry, TRUE);
|
gtk_widget_set_hexpand (entry->entry, TRUE);
|
||||||
|
Loading…
Reference in New Issue
Block a user