Standardized GTK3 menu-related icon constants to the bundled zc-menu-* namespace so menu actions stop depending on mixed system-theme icon names (edit-copy, view-refresh, etc.) and instead use the same internal set. This was updated in channel list, plugin manager, URL grabber, and spell-entry menu definitions.

Updated GTK3 icon rendering paths in affected UI helpers to call gtkutil_image_new_from_stock(...), which is the path that resolves zc-menu-* resources correctly and consistently from data/icons/menu (instead of raw theme lookup).

Added new icons to the shared bundled menu icon set (light/dark) for copy, delete, add, remove, spell-check, and refresh, and registered them in the GResource manifest so they are always available at runtime.
This commit is contained in:
2026-02-17 23:56:49 -07:00
parent bc2b1bd509
commit ebf695abdf
17 changed files with 60 additions and 12 deletions

View File

@@ -47,9 +47,9 @@
#if HAVE_GTK3
#define ICON_CHANLIST_JOIN "zc-menu-join"
#define ICON_CHANLIST_COPY "edit-copy"
#define ICON_CHANLIST_COPY "zc-menu-copy"
#define ICON_CHANLIST_FIND "zc-menu-find"
#define ICON_CHANLIST_REFRESH "view-refresh"
#define ICON_CHANLIST_REFRESH "zc-menu-refresh"
#define ICON_CHANLIST_SAVE "zc-menu-save"
#endif
#if !HAVE_GTK3
@@ -132,7 +132,7 @@ chanlist_icon_button (const char *label, const char *icon_name,
button = gtk_button_new_with_mnemonic (label);
#if HAVE_GTK3
image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
image = gtkutil_image_new_from_stock (icon_name, GTK_ICON_SIZE_MENU);
#elif !HAVE_GTK3
image = gtk_image_new_from_stock (icon_name, GTK_ICON_SIZE_MENU);
#endif
@@ -160,7 +160,7 @@ chanlist_icon_menu_item (const char *label, const char *icon_name,
icon_name_gtk3 = gtkutil_icon_name_from_stock (icon_name);
if (!icon_name_gtk3)
icon_name_gtk3 = icon_name;
image = icon_name_gtk3 ? gtk_image_new_from_icon_name (icon_name_gtk3, GTK_ICON_SIZE_MENU) : NULL;
image = icon_name_gtk3 ? gtkutil_image_new_from_stock (icon_name_gtk3, GTK_ICON_SIZE_MENU) : NULL;
label_widget = gtk_label_new_with_mnemonic (label);
if (image)
gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 0);