[epiphany/wip/exalm/elementary-reader] location-entry: Use better reader mode icon on elementary



commit a50ff924a0510871caa9feb2b928f0c26f021132
Author: Alexander Mikhaylenko <exalm7659 gmail com>
Date:   Wed Nov 6 13:52:22 2019 +0500

    location-entry: Use better reader mode icon on elementary
    
    Use view-reader-symbolic if available, fall back to
    ephy-reader-mode-symbolic otherwise.

 lib/widgets/ephy-location-entry.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
---
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index b5d1c0579..3a562ed27 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -900,6 +900,23 @@ position_func (DzlSuggestionEntry *self,
   area->width -= margin.left + margin.right;
 }
 
+static void
+update_reader_icon (EphyLocationEntry *entry)
+{
+  GtkIconTheme *theme;
+  const gchar *name;
+
+  theme = gtk_icon_theme_get_default ();
+
+  if (gtk_icon_theme_has_icon (theme, "view-reader-symbolic"))
+    name = "view-reader-symbolic";
+  else
+    name = "ephy-reader-mode-symbolic";
+
+  gtk_image_set_from_icon_name (GTK_IMAGE (entry->reader_mode),
+                                name, GTK_ICON_SIZE_MENU);
+}
+
 static void
 ephy_location_entry_construct_contents (EphyLocationEntry *entry)
 {
@@ -968,7 +985,7 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry)
   /* Reader Mode */
   entry->reader_mode_event_box = gtk_event_box_new ();
   gtk_widget_set_tooltip_text (entry->reader_mode_event_box, _("Toggle reader mode"));
-  entry->reader_mode = gtk_image_new_from_icon_name ("ephy-reader-mode-symbolic", GTK_ICON_SIZE_MENU);
+  entry->reader_mode = gtk_image_new ();
   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);
@@ -977,6 +994,10 @@ ephy_location_entry_construct_contents (EphyLocationEntry *entry)
   context = gtk_widget_get_style_context (entry->reader_mode);
   gtk_style_context_add_class (context, "entry_icon");
 
+  update_reader_icon (entry);
+  g_signal_connect_object (gtk_settings_get_default (), "notify::gtk-icon-theme-name",
+                            G_CALLBACK (update_reader_icon), entry, G_CONNECT_SWAPPED);
+
   g_object_connect (entry->url_entry,
                     "signal::icon-press", G_CALLBACK (icon_button_icon_press_event_cb), entry,
                     "signal::populate-popup", G_CALLBACK (entry_populate_popup_cb), entry,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]