Project

General

Profile

Bug #1672 » 1672.patch

Dean Brown, 10/07/2025 06:43 AM

View differences:

client/helpdata.c
while (*p == ' ') {
p++;
}
#ifdef __APPLE__
// See comment in helpdlg_g.h about Qt client issue with menu entries
// starting with "About".
// If help list item starts with "About" and name contains "About",
// then line them up.
// Note - the invisible character is unicode and becomes 3 bytes.
{
char *ptr = strstr(name, "About");
if ((strncmp(p, "About", strlen("About")) == 0) && (ptr != NULL)) {
name = ptr;
}
}
#endif // __APPLE__
if (strcmp(name, p) == 0 && (htype == HELP_ANY || htype == ptmp->type)) {
pitem = ptmp;
break;
client/include/helpdlg_g.h
#define HELP_WORKLIST_EDITOR_ITEM N_("Worklist Editor")
#define HELP_CMA_ITEM N_("Citizen Governor")
#define HELP_CONTROLS_ITEM N_("Controls")
#ifdef __APPLE__
// On Mac, Qt moves any menu entry that starts with "About" to the
// application menu, which is the Mac standard UI but not what we want.
// To work around, prepend an invisible unicode character so the string
// comparison fails. Also have to hack get_help_item_spec() in helpdata.c
// to skip over that invisible character when it does its string comparison.
#define HELP_RULESET_ITEM N_("\u200B""About Current Ruleset")
#define HELP_TILESET_ITEM N_("\u200B""About Current Tileset")
#define HELP_MUSICSET_ITEM N_("\u200B""About Current Musicset")
#define HELP_NATIONS_ITEM N_("\u200B""About Nations")
#define HELP_ABOUT_ITEM N_("\u200B""About Freeciv")
#else // __APPLE__
#define HELP_RULESET_ITEM N_("About Current Ruleset")
#define HELP_TILESET_ITEM N_("About Current Tileset")
#define HELP_MUSICSET_ITEM N_("About Current Musicset")
#define HELP_NATIONS_ITEM N_("About Nations")
#define HELP_ABOUT_ITEM N_("About Freeciv")
#endif // __APPLE__
#define HELP_ECONOMY_ITEM N_("Economy")
#define HELP_CITIES_ITEM N_("Cities")
#define HELP_IMPROVEMENTS_ITEM N_("City Improvements")
......
#define HELP_DIPLOMACY_ITEM N_("Diplomacy")
#define HELP_SPACE_RACE_ITEM N_("Space Race")
#define HELP_COPYING_ITEM N_("Copying")
#define HELP_ABOUT_ITEM N_("About Freeciv")
#define HELP_MULTIPLIER_ITEM N_("Policies")
#define HELP_COUNTER_ITEM N_("Counters")
(3-3/3)