From 92f9d5db8ef5d0c17c5cbad0b7c6b26150b13701 Mon Sep 17 00:00:00 2001 From: "Geoffrey D. Bennett" Date: Sun, 31 Mar 2024 03:00:04 +1030 Subject: [PATCH] Switch to embedded SVG icons Make the icons independent of the desktop theme so they always look good. --- src/alsa-scarlett-gui-resources.xml | 4 ++++ src/img/audio-volume-high.svg | 4 ++++ src/img/audio-volume-low.svg | 4 ++++ src/img/audio-volume-medium.svg | 7 +++++++ src/img/audio-volume-muted.svg | 7 +++++++ src/widget-boolean.c | 8 +++++++- 6 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/img/audio-volume-high.svg create mode 100644 src/img/audio-volume-low.svg create mode 100644 src/img/audio-volume-medium.svg create mode 100644 src/img/audio-volume-muted.svg diff --git a/src/alsa-scarlett-gui-resources.xml b/src/alsa-scarlett-gui-resources.xml index 117f1d6..a708d4c 100644 --- a/src/alsa-scarlett-gui-resources.xml +++ b/src/alsa-scarlett-gui-resources.xml @@ -3,6 +3,10 @@ img/alsa-scarlett-gui-logo.png img/socket.svg + img/audio-volume-high.svg + img/audio-volume-low.svg + img/audio-volume-medium.svg + img/audio-volume-muted.svg alsa-scarlett-gui.css diff --git a/src/img/audio-volume-high.svg b/src/img/audio-volume-high.svg new file mode 100644 index 0000000..585ccba --- /dev/null +++ b/src/img/audio-volume-high.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/img/audio-volume-low.svg b/src/img/audio-volume-low.svg new file mode 100644 index 0000000..1bc37c6 --- /dev/null +++ b/src/img/audio-volume-low.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/img/audio-volume-medium.svg b/src/img/audio-volume-medium.svg new file mode 100644 index 0000000..92f720e --- /dev/null +++ b/src/img/audio-volume-medium.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/img/audio-volume-muted.svg b/src/img/audio-volume-muted.svg new file mode 100644 index 0000000..4f8858b --- /dev/null +++ b/src/img/audio-volume-muted.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/widget-boolean.c b/src/widget-boolean.c index b3017df..20d60dc 100644 --- a/src/widget-boolean.c +++ b/src/widget-boolean.c @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2022-2024 Geoffrey D. Bennett // SPDX-License-Identifier: GPL-3.0-or-later +#include "gtkhelper.h" #include "widget-boolean.h" struct boolean { @@ -65,8 +66,13 @@ static void on_destroy(struct boolean *data) { static void load_icons(struct boolean *data) { for (int i = 0; i < 2; i++) if (data->text[i] && *data->text[i] == '*') { - data->icons[i] = gtk_image_new_from_icon_name(data->text[i] + 1); + char *path = g_strdup_printf( + "/vu/b4/alsa-scarlett-gui/icons/%s.svg", data->text[i] + 1 + ); + data->icons[i] = gtk_image_new_from_resource(path); + gtk_widget_set_align(data->icons[i], GTK_ALIGN_CENTER, GTK_ALIGN_CENTER); g_object_ref(data->icons[i]); + g_free(path); } }