summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Mikhaylenko <alexm@gnome.org>2021-02-01 13:53:22 +0500
committerAlexander Mikhaylenko <alexm@gnome.org>2021-02-01 17:32:24 +0500
commit04a3cd698e93ad00598aadf5c2a409f6d7533346 (patch)
tree0d9a3dfca00c6f3a263082191e84f5a7cab707ff
parent2ffa7e87473d4a09b51e6d3142d0d6303019d2f5 (diff)
downloadepiphany-wip/exalm/urlbar.tar.gz
Fix entry icon spacing and marginswip/exalm/urlbar
This is a fallout from 5410fec78bc699b593d327e6a98b105f6cef7cd5 Move from GtkButtonBox back to GtkBox, hide the extension page actions box when empty. Add entry_icon style class to icons rather than their event boxes.
-rw-r--r--lib/widgets/ephy-location-entry.c52
-rw-r--r--src/webextension/ephy-web-extension-manager.c4
2 files changed, 23 insertions, 33 deletions
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index 17055fc00..1141b04ae 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -57,7 +57,6 @@ struct _EphyLocationEntry {
GtkOverlay parent_instance;
GtkWidget *url_entry;
- GtkWidget *button_box;
GtkWidget *page_action_box;
GtkWidget *bookmark;
GtkWidget *bookmark_event_box;
@@ -992,6 +991,7 @@ static void
ephy_location_entry_construct_contents (EphyLocationEntry *entry)
{
GtkWidget *event;
+ GtkWidget *box;
GtkStyleContext *context;
DzlShortcutController *controller;
@@ -1031,26 +1031,18 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry)
gtk_overlay_add_overlay (GTK_OVERLAY (entry), event);
/* Button Box */
- entry->button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_container_add (GTK_CONTAINER (event), entry->button_box);
- gtk_box_set_homogeneous (GTK_BOX (entry->button_box), FALSE);
- g_signal_connect (G_OBJECT (entry->button_box), "size-allocate", G_CALLBACK (button_box_size_allocated_cb), entry);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (entry->button_box), GTK_BUTTONBOX_EXPAND);
- gtk_widget_set_valign (entry->button_box, GTK_ALIGN_CENTER);
- gtk_widget_set_halign (entry->button_box, GTK_ALIGN_END);
- gtk_widget_set_margin_end (entry->button_box, 5);
- gtk_widget_show (entry->button_box);
+ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_container_add (GTK_CONTAINER (event), box);
+ g_signal_connect (G_OBJECT (box), "size-allocate", G_CALLBACK (button_box_size_allocated_cb), entry);
+ gtk_widget_set_valign (box, GTK_ALIGN_CENTER);
+ gtk_widget_set_halign (box, GTK_ALIGN_END);
+ gtk_widget_show (box);
/* Page action box */
- entry->page_action_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_box_set_homogeneous (GTK_BOX (entry->page_action_box), FALSE);
- gtk_widget_show (entry->page_action_box);
- gtk_button_box_set_layout (GTK_BUTTON_BOX (entry->page_action_box), GTK_BUTTONBOX_EXPAND);
- gtk_widget_set_valign (entry->page_action_box, GTK_ALIGN_CENTER);
- gtk_widget_set_halign (entry->page_action_box, GTK_ALIGN_END);
- gtk_box_pack_start (GTK_BOX (entry->button_box), entry->page_action_box, FALSE, FALSE, 0);
+ entry->page_action_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_box_pack_start (GTK_BOX (box), entry->page_action_box, FALSE, FALSE, 0);
- context = gtk_widget_get_style_context (entry->button_box);
+ context = gtk_widget_get_style_context (box);
gtk_style_context_add_class (context, "entry_icon_box");
/* Bookmark */
@@ -1061,7 +1053,7 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry)
gtk_widget_show (entry->bookmark);
g_signal_connect (G_OBJECT (entry->bookmark_event_box), "button_press_event", G_CALLBACK (bookmark_icon_button_press_event_cb), entry);
gtk_container_add (GTK_CONTAINER (entry->bookmark_event_box), entry->bookmark);
- gtk_box_pack_end (GTK_BOX (entry->button_box), entry->bookmark_event_box, FALSE, FALSE, 6);
+ gtk_box_pack_end (GTK_BOX (box), entry->bookmark_event_box, FALSE, FALSE, 0);
context = gtk_widget_get_style_context (entry->bookmark);
gtk_style_context_add_class (context, "entry_icon");
@@ -1079,7 +1071,7 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry)
gtk_widget_set_valign (entry->reader_mode, GTK_ALIGN_CENTER);
gtk_widget_show (entry->reader_mode);
gtk_container_add (GTK_CONTAINER (entry->reader_mode_event_box), entry->reader_mode);
- gtk_box_pack_end (GTK_BOX (entry->button_box), entry->reader_mode_event_box, FALSE, FALSE, 6);
+ gtk_box_pack_end (GTK_BOX (box), entry->reader_mode_event_box, FALSE, FALSE, 0);
context = gtk_widget_get_style_context (entry->reader_mode);
gtk_style_context_add_class (context, "entry_icon");
@@ -1523,24 +1515,16 @@ void
ephy_location_entry_page_action_add (EphyLocationEntry *entry,
GtkWidget *action)
{
- GtkStyleContext *context;
-
- context = gtk_widget_get_style_context (action);
- gtk_style_context_add_class (context, "entry_icon");
+ gtk_box_pack_end (GTK_BOX (entry->page_action_box), action, FALSE, FALSE, 0);
- gtk_box_pack_end (GTK_BOX (entry->page_action_box), action, FALSE, FALSE, 6);
+ gtk_widget_show (entry->page_action_box);
}
-static
-void clear_page_actions (GtkWidget *child,
- gpointer user_data)
+static void
+clear_page_actions (GtkWidget *child,
+ gpointer user_data)
{
EphyLocationEntry *entry = EPHY_LOCATION_ENTRY (user_data);
- GtkStyleContext *context;
-
- context = gtk_widget_get_style_context (child);
-
- gtk_style_context_remove_class (context, "entry_icon");
gtk_container_remove (GTK_CONTAINER (entry->page_action_box), child);
}
@@ -1549,4 +1533,6 @@ void
ephy_location_entry_page_action_clear (EphyLocationEntry *entry)
{
gtk_container_foreach (GTK_CONTAINER (entry->page_action_box), clear_page_actions, entry);
+
+ gtk_widget_hide (entry->page_action_box);
}
diff --git a/src/webextension/ephy-web-extension-manager.c b/src/webextension/ephy-web-extension-manager.c
index 4208c50d2..009168dee 100644
--- a/src/webextension/ephy-web-extension-manager.c
+++ b/src/webextension/ephy-web-extension-manager.c
@@ -372,6 +372,7 @@ create_page_action_widget (EphyWebExtensionManager *self,
{
GtkWidget *image;
GtkWidget *event_box;
+ GtkStyleContext *context;
/* Create new event box with page action */
event_box = gtk_event_box_new ();
@@ -380,6 +381,9 @@ create_page_action_widget (EphyWebExtensionManager *self,
g_signal_connect_object (event_box, "button_press_event", G_CALLBACK (page_action_clicked), web_extension, 0);
gtk_widget_show_all (event_box);
+ context = gtk_widget_get_style_context (image);
+ gtk_style_context_add_class (context, "entry_icon");
+
return g_object_ref (event_box);
}