From e487b162ba82a1a454657a8ab5dbd6d04a17b591 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Sat, 5 Aug 2023 02:03:39 +0200 Subject: Do not hardcode icon sizes fixes https://github.com/AyatanaIndicators/ayatana-indicator-sound/issues/89 --- src/idobasicmenuitem.c | 23 +++-------------------- src/idolevelmenuitem.c | 19 ++----------------- src/idomediaplayermenuitem.c | 2 ++ src/idoremovablemenuitem.c | 21 ++++----------------- 4 files changed, 11 insertions(+), 54 deletions(-) diff --git a/src/idobasicmenuitem.c b/src/idobasicmenuitem.c index 5077546..5106144 100644 --- a/src/idobasicmenuitem.c +++ b/src/idobasicmenuitem.c @@ -1,6 +1,6 @@ /* * Copyright 2013 Canonical Ltd. - * Copyright 2021-2022 Robert Tari + * Copyright 2021-2023 Robert Tari * * Authors: * Charles Kerr @@ -163,25 +163,8 @@ ido_basic_menu_item_update_image (IdoBasicMenuItem *self) } else if (p->icon) { - GtkIconInfo *info; - const gchar *filename; - - info = gtk_icon_theme_lookup_by_gicon (gtk_icon_theme_get_default (), p->icon, 16, 0); - filename = gtk_icon_info_get_filename (info); - - if (filename) - { - GdkPixbuf *pixbuf; - - pixbuf = gdk_pixbuf_new_from_file_at_scale (filename, -1, 16, TRUE, NULL); - gtk_image_set_from_pixbuf (GTK_IMAGE (p->image), pixbuf); - - g_object_unref (pixbuf); - } - - gtk_widget_set_visible (p->image, filename != NULL); - - g_object_unref (info); + gtk_image_set_from_gicon (GTK_IMAGE (p->image), p->icon, GTK_ICON_SIZE_MENU); + gtk_widget_set_visible (p->image, TRUE); } } } diff --git a/src/idolevelmenuitem.c b/src/idolevelmenuitem.c index b7ce543..5f4f5bb 100644 --- a/src/idolevelmenuitem.c +++ b/src/idolevelmenuitem.c @@ -143,23 +143,8 @@ static void idoLevelMenuItemStyleUpdateImage (IdoLevelMenuItem *self) } else { - GtkIconInfo *pInfo; - const gchar *sFilename; - - pInfo = gtk_icon_theme_lookup_by_gicon (gtk_icon_theme_get_default(), pPrivate->pIcon, 16, 0); - sFilename = gtk_icon_info_get_filename (pInfo); - - if (sFilename) - { - GdkPixbuf *pPixbuf; - - pPixbuf = gdk_pixbuf_new_from_file_at_scale (sFilename, -1, 16, TRUE, NULL); - gtk_image_set_from_pixbuf (GTK_IMAGE (pPrivate->pImage), pPixbuf); - g_object_unref (pPixbuf); - } - - gtk_widget_set_visible (pPrivate->pImage, sFilename != NULL); - g_object_unref (pInfo); + gtk_image_set_from_gicon (GTK_IMAGE (pPrivate->pImage), pPrivate->pIcon, GTK_ICON_SIZE_MENU); + gtk_widget_set_visible (pPrivate->pImage, TRUE); } } diff --git a/src/idomediaplayermenuitem.c b/src/idomediaplayermenuitem.c index 801d57b..071c4af 100644 --- a/src/idomediaplayermenuitem.c +++ b/src/idomediaplayermenuitem.c @@ -1,5 +1,6 @@ /* * Copyright 2013 Canonical Ltd. + * Copyright 2023 Robert Tari * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published @@ -17,6 +18,7 @@ * Conor Curran * Mirco Müller * Lars Uebernickel + * Robert Tari */ #include "idomediaplayermenuitem.h" diff --git a/src/idoremovablemenuitem.c b/src/idoremovablemenuitem.c index 946ffb3..d857fd4 100644 --- a/src/idoremovablemenuitem.c +++ b/src/idoremovablemenuitem.c @@ -1,8 +1,10 @@ /* * Copyright 2013 Canonical Ltd. + * Copyright 2023 Robert Tari * * Authors: * Charles Kerr + * Robert Tari * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published @@ -131,23 +133,8 @@ static void idoRemovableMenuItemStyleUpdateImage(IdoRemovableMenuItem *self) } else { - GtkIconInfo *pInfo; - const gchar *sFilename; - - pInfo = gtk_icon_theme_lookup_by_gicon(gtk_icon_theme_get_default(), pPrivate->pIcon, 16, 0); - sFilename = gtk_icon_info_get_filename(pInfo); - - if (sFilename) - { - GdkPixbuf *pPixbuf; - - pPixbuf = gdk_pixbuf_new_from_file_at_scale(sFilename, -1, 16, TRUE, NULL); - gtk_image_set_from_pixbuf(GTK_IMAGE(pPrivate->pImage), pPixbuf); - g_object_unref (pPixbuf); - } - - gtk_widget_set_visible(pPrivate->pImage, sFilename != NULL); - g_object_unref(pInfo); + gtk_image_set_from_gicon (GTK_IMAGE (pPrivate->pImage), pPrivate->pIcon, GTK_ICON_SIZE_MENU); + gtk_widget_set_visible (pPrivate->pImage, TRUE); } } -- cgit v1.2.3