diff options
author | Alexander Mikhaylenko <alexm@gnome.org> | 2020-09-24 15:35:57 +0500 |
---|---|---|
committer | Alexander Mikhaylenko <alexm@gnome.org> | 2020-09-24 15:35:57 +0500 |
commit | df55b74fb8343484f01af520a550395f35b8fa75 (patch) | |
tree | de9869a63327277d850e8d4ceb792ec7fc66e3ca /src/preferences | |
parent | afe8ee011488d4185731dd6459233065af15bcde (diff) | |
download | epiphany-df55b74fb8343484f01af520a550395f35b8fa75.tar.gz |
prefs-general-page: Don't manually scale web app iconwip/exalm/webapp-prefs
Let GtkImage scale it, ensuring it's crisp on HiDPI.
Diffstat (limited to 'src/preferences')
-rw-r--r-- | src/preferences/prefs-general-page.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/preferences/prefs-general-page.c b/src/preferences/prefs-general-page.c index ca976701d..42f5ada03 100644 --- a/src/preferences/prefs-general-page.c +++ b/src/preferences/prefs-general-page.c @@ -800,23 +800,18 @@ static void prefs_general_page_update_webapp_icon (PrefsGeneralPage *general_page, const char *icon_url) { - GdkPixbuf *icon, *scaled_icon; - int icon_width, icon_height; - double scale; + g_autoptr (GdkPixbuf) icon = gdk_pixbuf_new_from_file (icon_url, NULL); - icon = gdk_pixbuf_new_from_file (icon_url, NULL); if (!icon) return; - icon_width = gdk_pixbuf_get_width (icon); - icon_height = gdk_pixbuf_get_height (icon); - scale = MIN ((double)32 / icon_width, (double)32 / icon_height); - scaled_icon = gdk_pixbuf_scale_simple (icon, icon_width * scale, icon_height * scale, GDK_INTERP_NEAREST); - g_object_unref (icon); - gtk_image_set_from_pixbuf (GTK_IMAGE (general_page->webapp_icon), scaled_icon); + gtk_image_set_from_gicon (GTK_IMAGE (general_page->webapp_icon), + G_ICON (icon), + GTK_ICON_SIZE_DND); + gtk_image_set_pixel_size (GTK_IMAGE (general_page->webapp_icon), 32); + g_object_set_data_full (G_OBJECT (general_page->webapp_icon), "ephy-webapp-icon-url", g_strdup (icon_url), g_free); - g_object_unref (scaled_icon); } static void |