diff options
author | Alexander Mikhaylenko <alexm@gnome.org> | 2021-11-30 03:05:57 +0500 |
---|---|---|
committer | Alexander Mikhaylenko <alexm@gnome.org> | 2021-12-01 00:43:47 +0500 |
commit | 0e8c0e1a6045599e99c09969c32d224e5e9bc22d (patch) | |
tree | b3dcfda182e530206f007c7acc43d373eaffeafe /lib | |
parent | e28ad77d89907ec0e8ecc5fcc78930c47b51bfb5 (diff) | |
download | epiphany-0e8c0e1a6045599e99c09969c32d224e5e9bc22d.tar.gz |
location-entry: Stop subclassing GtkOverlay
Part-of: <https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1035>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/widgets/ephy-location-entry.c | 14 | ||||
-rw-r--r-- | lib/widgets/ephy-location-entry.h | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c index b20243b74..91524187a 100644 --- a/lib/widgets/ephy-location-entry.c +++ b/lib/widgets/ephy-location-entry.c @@ -53,8 +53,9 @@ */ struct _EphyLocationEntry { - GtkOverlay parent_instance; + GtkBin parent_instance; + GtkWidget *overlay; GtkWidget *url_entry; GtkWidget *page_action_box; GtkWidget *bookmark_icon; @@ -114,7 +115,7 @@ static void ephy_location_entry_title_widget_interface_init (EphyTitleWidgetInte static void schedule_dns_prefetch (EphyLocationEntry *entry, const gchar *url); -G_DEFINE_TYPE_WITH_CODE (EphyLocationEntry, ephy_location_entry, GTK_TYPE_OVERLAY, +G_DEFINE_TYPE_WITH_CODE (EphyLocationEntry, ephy_location_entry, GTK_TYPE_BIN, G_IMPLEMENT_INTERFACE (EPHY_TYPE_TITLE_WIDGET, ephy_location_entry_title_widget_interface_init)) static gboolean @@ -1062,6 +1063,11 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry) LOG ("EphyLocationEntry constructing contents %p", entry); + /* Overlay */ + entry->overlay = gtk_overlay_new (); + gtk_widget_show (GTK_WIDGET (entry->overlay)); + gtk_container_add (GTK_CONTAINER (entry), entry->overlay); + /* URL entry */ entry->url_entry = dzl_suggestion_entry_new (); dzl_suggestion_entry_set_compact (DZL_SUGGESTION_ENTRY (entry->url_entry), TRUE); @@ -1081,7 +1087,7 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry) g_signal_connect (G_OBJECT (entry->url_entry), "changed", G_CALLBACK (editable_changed_cb), entry); g_signal_connect (G_OBJECT (entry->url_entry), "suggestion-selected", G_CALLBACK (suggestion_selected), entry); gtk_widget_show (GTK_WIDGET (entry->url_entry)); - gtk_overlay_add_overlay (GTK_OVERLAY (entry), GTK_WIDGET (entry->url_entry)); + gtk_container_add (GTK_CONTAINER (entry->overlay), GTK_WIDGET (entry->url_entry)); /* Custom hover state. FIXME: Remove this for GTK4 */ gtk_widget_add_events (GTK_WIDGET (entry->url_entry), GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); @@ -1093,7 +1099,7 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry) gtk_widget_set_halign (event, GTK_ALIGN_END); gtk_widget_show (event); g_signal_connect (G_OBJECT (event), "button-press-event", G_CALLBACK (event_button_press_event_cb), entry); - gtk_overlay_add_overlay (GTK_OVERLAY (entry), event); + gtk_overlay_add_overlay (GTK_OVERLAY (entry->overlay), event); /* Button Box */ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); diff --git a/lib/widgets/ephy-location-entry.h b/lib/widgets/ephy-location-entry.h index 1284b30f6..a344128c7 100644 --- a/lib/widgets/ephy-location-entry.h +++ b/lib/widgets/ephy-location-entry.h @@ -33,7 +33,7 @@ G_BEGIN_DECLS #define EPHY_TYPE_LOCATION_ENTRY (ephy_location_entry_get_type()) -G_DECLARE_FINAL_TYPE (EphyLocationEntry, ephy_location_entry, EPHY, LOCATION_ENTRY, GtkOverlay) +G_DECLARE_FINAL_TYPE (EphyLocationEntry, ephy_location_entry, EPHY, LOCATION_ENTRY, GtkBin) GtkWidget *ephy_location_entry_new (void); |