escape ampersand in tray menu labels on Windows

Win32 swallows a lone & in an MFT_STRING menu item as the mnemonic
prefix, so "Help & Support" rendered as "Help  Support". Add a
build-tagged menuLabel() helper that doubles & to && on Windows and is
the identity on macOS/Linux (which render & literally), and apply it to
the About submenu label.
This commit is contained in:
Zoltán Papp
2026-06-01 16:44:18 +02:00
parent c5611dd766
commit 49df24b18c
3 changed files with 26 additions and 1 deletions
+1 -1
View File
@@ -459,7 +459,7 @@ func (t *Tray) buildMenu() *application.Menu {
SetAccelerator("CmdOrCtrl+,").
OnClick(func(*application.Context) { t.svc.WindowManager.OpenSettings("") })
aboutLabel := t.loc.T("tray.menu.about")
aboutLabel := menuLabel(t.loc.T("tray.menu.about"))
about := menu.AddSubmenu(aboutLabel)
about.Add(t.loc.T("tray.menu.github")).OnClick(func(*application.Context) {
_ = t.app.Browser.OpenURL(urlGitHubRepo)