Commit fdb1fa4d authored by Matthias Clasen's avatar Matthias Clasen
Browse files

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
parent 10d7ccc8
Pipeline #223678 passed with stages
in 25 minutes and 44 seconds
......@@ -251,8 +251,6 @@ gtk_drop_down_dispose (GObject *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->button, gtk_widget_unparent);
......@@ -596,19 +594,11 @@ set_default_factory (GtkDropDown *self)
static void
gtk_drop_down_init (GtkDropDown *self)
{
GtkWidget *icon;
g_type_ensure (GTK_TYPE_BUILTIN_ICON);
g_type_ensure (GTK_TYPE_LIST_ITEM_WIDGET);
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);
}
......
......@@ -160,6 +160,8 @@ gtk_search_entry_finalize (GObject *object)
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->icon, gtk_widget_unparent);
......@@ -549,8 +551,15 @@ activate_cb (GtkText *text,
static void
gtk_search_entry_init (GtkSearchEntry *entry)
{
GtkWidget *icon;
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 ();
gtk_widget_set_parent (entry->entry, GTK_WIDGET (entry));
gtk_widget_set_hexpand (entry->entry, TRUE);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment