Updated the Network List Connect button icon on GTK3 to use the bundled zc-menu-connect asset, which avoids theme-dependent missing network-connect behavior.

Added a Help menu _Update entry with a dedicated zc-menu-update icon constant, so Windows builds can display an appropriate update icon in the Help menu.

    Extended icon mapping/fallback logic so emoji/update icons resolve correctly across stock/icon-name paths (zc-menu-emoji, zc-menu-update) including GTK2 stock fallback compatibility.

    Added zc-menu-emoji to the input entry fallback icon list so the emoji affordance has a deterministic built-in fallback when theme emoji icons are missing.

    Added new update and emoji icon assets in both SVG and PNG for light/dark variants, and registered the PNG resources in the gresource manifest for runtime loading.
This commit is contained in:
2026-02-18 01:30:45 -07:00
parent 6ce7de23a3
commit 7568c73062
13 changed files with 18 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="5.6" fill="rgb(255,199,64)" stroke="rgb(240,240,240)" stroke-width="1"/><circle cx="6" cy="7" r="0.8" fill="rgb(240,240,240)"/><circle cx="10" cy="7" r="0.8" fill="rgb(240,240,240)"/><path d="M5.5 9.4c.6 1 1.4 1.6 2.5 1.6s1.9-.6 2.5-1.6" fill="none" stroke="rgb(240,240,240)" stroke-width="1" stroke-linecap="round"/></svg>

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill="none" stroke="rgb(240,240,240)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 5.8A5.5 5.5 0 1 0 5 13"/><path d="M13 2.2v3h-3"/><path d="M3 10.2A5.5 5.5 0 1 0 11 3"/><path d="M3 13.8v-3h3"/></g></svg>

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="5.6" fill="rgb(255,211,67)" stroke="rgb(56,56,56)" stroke-width="1"/><circle cx="6" cy="7" r="0.8" fill="rgb(56,56,56)"/><circle cx="10" cy="7" r="0.8" fill="rgb(56,56,56)"/><path d="M5.5 9.4c.6 1 1.4 1.6 2.5 1.6s1.9-.6 2.5-1.6" fill="none" stroke="rgb(56,56,56)" stroke-width="1" stroke-linecap="round"/></svg>

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill="none" stroke="rgb(56,56,56)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 5.8A5.5 5.5 0 1 0 5 13"/><path d="M13 2.2v3h-3"/><path d="M3 10.2A5.5 5.5 0 1 0 11 3"/><path d="M3 13.8v-3h3"/></g></svg>

After

Width:  |  Height:  |  Size: 321 B

View File

@@ -47,6 +47,8 @@
<file alias="menu/light/next.png" preprocess="to-pixdata">icons/menu/light/next.png</file>
<file alias="menu/light/help.png" preprocess="to-pixdata">icons/menu/light/help.png</file>
<file alias="menu/light/about.png" preprocess="to-pixdata">icons/menu/light/about.png</file>
<file alias="menu/light/update.png" preprocess="to-pixdata">icons/menu/light/update.png</file>
<file alias="menu/light/emoji.png" preprocess="to-pixdata">icons/menu/light/emoji.png</file>
<file alias="menu/dark/new.png" preprocess="to-pixdata">icons/menu/dark/new.png</file>
<file alias="menu/dark/network-list.png" preprocess="to-pixdata">icons/menu/dark/network-list.png</file>
@@ -74,5 +76,7 @@
<file alias="menu/dark/next.png" preprocess="to-pixdata">icons/menu/dark/next.png</file>
<file alias="menu/dark/help.png" preprocess="to-pixdata">icons/menu/dark/help.png</file>
<file alias="menu/dark/about.png" preprocess="to-pixdata">icons/menu/dark/about.png</file>
<file alias="menu/dark/update.png" preprocess="to-pixdata">icons/menu/dark/update.png</file>
<file alias="menu/dark/emoji.png" preprocess="to-pixdata">icons/menu/dark/emoji.png</file>
</gresource>
</gresources>

View File

@@ -96,6 +96,7 @@ gtkutil_menu_custom_icon_from_stock (const char *stock_name)
{ "gtk-go-forward", "zc-menu-next" },
{ "gtk-help", "zc-menu-help" },
{ "gtk-about", "zc-menu-about" },
{ "gtk-convert", "zc-menu-emoji" },
};
size_t i;
@@ -143,6 +144,9 @@ gtkutil_menu_custom_icon_from_icon_name (const char *icon_name)
{ "go-next", "zc-menu-next" },
{ "help-browser", "zc-menu-help" },
{ "help-about", "zc-menu-about" },
{ "face-smile", "zc-menu-emoji" },
{ "insert-emoticon", "zc-menu-emoji" },
{ "software-update-available", "zc-menu-update" },
{ "network-workgroup", "zc-menu-chanlist" },
};
size_t i;
@@ -195,6 +199,8 @@ gtkutil_stock_from_menu_custom_icon (const char *custom_icon)
{ "zc-menu-next", GTK_STOCK_GO_FORWARD },
{ "zc-menu-help", GTK_STOCK_HELP },
{ "zc-menu-about", GTK_STOCK_ABOUT },
{ "zc-menu-emoji", GTK_STOCK_CONVERT },
{ "zc-menu-update", GTK_STOCK_REFRESH },
};
size_t i;

View File

@@ -3545,6 +3545,7 @@ mg_create_entry (session *sess, GtkWidget *box)
"face-smile",
"insert-emoticon-symbolic",
"insert-emoticon",
"zc-menu-emoji",
NULL
};
const char *emoji_fallback_icon_name;

View File

@@ -2014,6 +2014,7 @@ menu_about (GtkWidget *wid, gpointer sess)
#define ICON_FIND "zc-menu-find"
#define ICON_HELP "zc-menu-help"
#define ICON_ABOUT "zc-menu-about"
#define ICON_UPDATE "zc-menu-update"
static struct mymenu mymenu[] = {
{N_("_ZoiteChat"), 0, 0, M_NEWMENU, MENU_ID_ZOITECHAT, 0, 1},
@@ -2109,6 +2110,7 @@ static struct mymenu mymenu[] = {
{N_("_Help"), 0, 0, M_NEWMENU, 0, 0, 1}, /* 74 */
{N_("_Contents"), menu_docs, ICON_HELP, M_MENUSTOCK, 0, 0, 1, GDK_KEY_F1},
{N_("_Update"), menu_docs, ICON_UPDATE, M_MENUSTOCK, 0, 0, 1},
{N_("_About"), menu_about, ICON_ABOUT, M_MENUSTOCK, 0, 0, 1},
{0, 0, 0, M_END, 0, 0, 0},

View File

@@ -40,7 +40,7 @@
#define SERVLIST_Y_PADDING 0 /* vertical padding in the network editor */
#if HAVE_GTK3
#define ICON_SERVLIST_CONNECT "network-connect"
#define ICON_SERVLIST_CONNECT "zc-menu-connect"
#define ICON_SERVLIST_ADD "list-add"
#define ICON_SERVLIST_REMOVE "list-remove"
#define ICON_SERVLIST_CLOSE "window-close"