diff options
author | Robert Tari <robert@tari.in> | 2023-08-05 02:03:39 +0200 |
---|---|---|
committer | Robert Tari <robert@tari.in> | 2023-08-05 02:04:19 +0200 |
commit | e487b162ba82a1a454657a8ab5dbd6d04a17b591 (patch) | |
tree | 89f3201214321fbc0384562f70164f2f057d0711 | |
parent | ebb915b50119f79968a8e93697a90660eab93872 (diff) | |
download | ayatana-ido-e487b162ba82a1a454657a8ab5dbd6d04a17b591.tar.gz ayatana-ido-e487b162ba82a1a454657a8ab5dbd6d04a17b591.tar.bz2 ayatana-ido-e487b162ba82a1a454657a8ab5dbd6d04a17b591.zip |
Do not hardcode icon sizes
fixes https://github.com/AyatanaIndicators/ayatana-indicator-sound/issues/89
-rw-r--r-- | src/idobasicmenuitem.c | 23 | ||||
-rw-r--r-- | src/idolevelmenuitem.c | 19 | ||||
-rw-r--r-- | src/idomediaplayermenuitem.c | 2 | ||||
-rw-r--r-- | 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 <charles.kerr@canonical.com> @@ -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 <conor.curran@canonical.com> * Mirco Müller <mirco.mueller@canonical.com> * Lars Uebernickel <lars.uebernickel@canonical.com> + * Robert Tari <robert@tari.in> */ #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 <charles.kerr@canonical.com> + * Robert Tari <robert@tari.in> * * 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); } } |