diff options
author | Alexander Mikhaylenko <alexm@gnome.org> | 2020-10-02 20:44:26 +0500 |
---|---|---|
committer | Alexander Mikhaylenko <alexm@gnome.org> | 2020-10-02 21:00:23 +0500 |
commit | b73bc03f9aa946471de8bab5f0cff191d021d936 (patch) | |
tree | 0445a0f000f1d5c13e41ce674793f163e4bbfb08 | |
parent | 84ffc1bc71340e702e44afbc83e7da3e40d3c4bb (diff) | |
download | epiphany-b73bc03f9aa946471de8bab5f0cff191d021d936.tar.gz |
page-menu-popover: Set minimum width for zoom button
Also refactor how it's set, there's no need to pass widgets around here.
Fixes https://gitlab.gnome.org/GNOME/epiphany/issues/953
-rw-r--r-- | src/ephy-header-bar.c | 19 | ||||
-rw-r--r-- | src/ephy-header-bar.h | 3 | ||||
-rw-r--r-- | src/ephy-window.c | 8 | ||||
-rw-r--r-- | src/resources/gtk/page-menu-popover.ui | 9 |
4 files changed, 21 insertions, 18 deletions
diff --git a/src/ephy-header-bar.c b/src/ephy-header-bar.c index a248b0ef9..c0fd583c0 100644 --- a/src/ephy-header-bar.c +++ b/src/ephy-header-bar.c @@ -60,7 +60,7 @@ struct _EphyHeaderBar { EphyActionBarStart *action_bar_start; EphyActionBarEnd *action_bar_end; GtkWidget *page_menu_button; - GtkWidget *zoom_level_button; + GtkWidget *zoom_level_label; GtkWidget *restore_button; GtkWidget *combined_stop_reload_button; GtkWidget *combined_stop_reload_image; @@ -265,7 +265,7 @@ ephy_header_bar_constructed (GObject *object) g_type_ensure (G_TYPE_THEMED_ICON); builder = gtk_builder_new_from_resource ("/org/gnome/epiphany/gtk/page-menu-popover.ui"); page_menu_popover = GTK_WIDGET (gtk_builder_get_object (builder, "page-menu-popover")); - header_bar->zoom_level_button = GTK_WIDGET (gtk_builder_get_object (builder, "zoom-level")); + header_bar->zoom_level_label = GTK_WIDGET (gtk_builder_get_object (builder, "zoom-level")); if (ephy_embed_shell_get_mode (embed_shell) == EPHY_EMBED_SHELL_MODE_APPLICATION) { gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "new-window-separator"))); gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "new-window-button"))); @@ -384,12 +384,6 @@ ephy_header_bar_get_title_widget (EphyHeaderBar *header_bar) } GtkWidget * -ephy_header_bar_get_zoom_level_button (EphyHeaderBar *header_bar) -{ - return header_bar->zoom_level_button; -} - -GtkWidget * ephy_header_bar_get_page_menu_button (EphyHeaderBar *header_bar) { return header_bar->page_menu_button; @@ -455,3 +449,12 @@ ephy_header_bar_start_change_combined_stop_reload_state (EphyHeaderBar *header_b _(REFRESH_BUTTON_TOOLTIP)); } } + +void +ephy_header_bar_set_zoom_level (EphyHeaderBar *header_bar, + gdouble zoom) +{ + g_autofree gchar *zoom_level = g_strdup_printf ("%2.0f%%", zoom * 100); + + gtk_label_set_label (GTK_LABEL (header_bar->zoom_level_label), zoom_level); +} diff --git a/src/ephy-header-bar.h b/src/ephy-header-bar.h index 206c34268..5227bcbff 100644 --- a/src/ephy-header-bar.h +++ b/src/ephy-header-bar.h @@ -36,7 +36,6 @@ G_DECLARE_FINAL_TYPE (EphyHeaderBar, ephy_header_bar, EPHY, HEADER_BAR, GtkHeade GtkWidget *ephy_header_bar_new (EphyWindow *window); EphyTitleWidget *ephy_header_bar_get_title_widget (EphyHeaderBar *header_bar); -GtkWidget *ephy_header_bar_get_zoom_level_button (EphyHeaderBar *header_bar); GtkWidget *ephy_header_bar_get_page_menu_button (EphyHeaderBar *header_bar); EphyWindow *ephy_header_bar_get_window (EphyHeaderBar *header_bar); void ephy_header_bar_set_reader_mode_state (EphyHeaderBar *header_bar, @@ -47,5 +46,7 @@ void ephy_header_bar_set_adaptive_mode (EphyHeaderBa EphyAdaptiveMode adaptive_mode); void ephy_header_bar_start_change_combined_stop_reload_state (EphyHeaderBar *header_bar, gboolean loading); +void ephy_header_bar_set_zoom_level (EphyHeaderBar *header_bar, + gdouble zoom); G_END_DECLS diff --git a/src/ephy-window.c b/src/ephy-window.c index bf2e3bb4f..b661d99d1 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -1104,19 +1104,13 @@ sync_tab_zoom (WebKitWebView *web_view, GAction *action; gboolean can_zoom_in = TRUE, can_zoom_out = TRUE, can_zoom_normal = FALSE; double zoom; - GtkWidget *zoom_level_button; - gchar *zoom_level; if (window->closing) return; zoom = webkit_web_view_get_zoom_level (web_view); - zoom_level_button = ephy_header_bar_get_zoom_level_button (EPHY_HEADER_BAR (window->header_bar)); - - zoom_level = g_strdup_printf ("%2.0f%%", zoom * 100); - gtk_button_set_label (GTK_BUTTON (zoom_level_button), zoom_level); - g_free (zoom_level); + ephy_header_bar_set_zoom_level (EPHY_HEADER_BAR (window->header_bar), zoom); if (zoom >= ZOOM_MAXIMAL) { can_zoom_in = FALSE; diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui index 366b2ddc5..8627bda0a 100644 --- a/src/resources/gtk/page-menu-popover.ui +++ b/src/resources/gtk/page-menu-popover.ui @@ -38,12 +38,17 @@ </packing> </child> <child> - <object class="GtkButton" id="zoom-level"> - <property name="label">100%</property> + <object class="GtkButton"> <property name="tooltip_text" translatable="yes">Restore Zoom</property> <property name="action-name">win.zoom-normal</property> <property name="xalign">0.5</property> <property name="visible">True</property> + <child> + <object class="GtkLabel" id="zoom-level"> + <property name="visible">True</property> + <property name="width-chars">5</property> + </object> + </child> </object> <packing> <property name="expand">True</property> |