From 08665c36c6274417e0fca4ffad2f85b09ec62ced Mon Sep 17 00:00:00 2001 From: Rafael Kitover Date: Fri, 20 Oct 2023 19:13:38 +0000 Subject: [PATCH] Support for Windows dark mode and force option WIP Use the new experimental wxWidgets API for dark mode on Windows. Also add an option to force dark mode on all platforms. Signed-off-by: Rafael Kitover --- po/wxvbam/wxvbam.pot | 406 +++++++++++---------- src/wx/config/internal/option-internal.cpp | 1 + src/wx/config/option-id.h | 1 + src/wx/config/option-proxy.h | 1 + src/wx/guiinit.cpp | 1 + src/wx/opts.h | 1 + src/wx/wxvbam.cpp | 7 +- src/wx/xrc/UIConfig.xrc | 7 + 8 files changed, 223 insertions(+), 202 deletions(-) diff --git a/po/wxvbam/wxvbam.pot b/po/wxvbam/wxvbam.pot index 083ad5a4..f58f9c5b 100644 --- a/po/wxvbam/wxvbam.pot +++ b/po/wxvbam/wxvbam.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-23 14:26-0700\n" +"POT-Creation-Date: 2023-10-20 19:12+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,60 +17,60 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: wxvbam.cpp:309 +#: wxvbam.cpp:322 msgid "visualboyadvance-m" msgstr "" -#: wxvbam.cpp:380 wxvbam.cpp:397 +#: wxvbam.cpp:393 wxvbam.cpp:410 #, c-format msgid "Invalid configuration file provided: %s" msgstr "" -#: wxvbam.cpp:536 +#: wxvbam.cpp:559 msgid "Could not create main window" msgstr "" -#: wxvbam.cpp:617 +#: wxvbam.cpp:640 msgid "Save built-in XRC file and exit" msgstr "" -#: wxvbam.cpp:620 +#: wxvbam.cpp:643 msgid "Save built-in vba-over.ini and exit" msgstr "" -#: wxvbam.cpp:623 +#: wxvbam.cpp:646 msgid "Print configuration path and exit" msgstr "" -#: wxvbam.cpp:626 +#: wxvbam.cpp:649 msgid "Start in full-screen mode" msgstr "" -#: wxvbam.cpp:629 +#: wxvbam.cpp:652 msgid "Set a configuration file" msgstr "" -#: wxvbam.cpp:633 +#: wxvbam.cpp:656 msgid "Delete shared link state first, if it exists" msgstr "" -#: wxvbam.cpp:640 +#: wxvbam.cpp:663 msgid "List all settable options and exit" msgstr "" -#: wxvbam.cpp:643 +#: wxvbam.cpp:666 msgid "ROM file" msgstr "" -#: wxvbam.cpp:645 +#: wxvbam.cpp:668 msgid "=" msgstr "" -#: wxvbam.cpp:676 +#: wxvbam.cpp:699 msgid "Configuration / build error: can't find built-in xrc" msgstr "" -#: wxvbam.cpp:684 +#: wxvbam.cpp:707 #, c-format msgid "" "Wrote built-in configuration to %s.\n" @@ -79,11 +79,11 @@ msgid "" "built-in:" msgstr "" -#: wxvbam.cpp:698 +#: wxvbam.cpp:721 msgid "Configuration is read from, in order:" msgstr "" -#: wxvbam.cpp:712 +#: wxvbam.cpp:735 #, c-format msgid "" "Wrote built-in override file to %s\n" @@ -91,13 +91,13 @@ msgid "" "from search path:" msgstr "" -#: wxvbam.cpp:718 +#: wxvbam.cpp:741 msgid "" "\n" "\tbuilt-in" msgstr "" -#: wxvbam.cpp:733 +#: wxvbam.cpp:756 msgid "" "Options set from the command line are saved if any configuration changes are " "made in the user interface.\n" @@ -106,187 +106,187 @@ msgid "" "\n" msgstr "" -#: wxvbam.cpp:741 +#: wxvbam.cpp:764 msgid "" "The commands available for the Keyboard/* option are:\n" "\n" msgstr "" -#: wxvbam.cpp:752 +#: wxvbam.cpp:775 msgid "Configuration file not found." msgstr "" -#: wxvbam.cpp:783 +#: wxvbam.cpp:806 msgid "Bad configuration option or multiple ROM files given:\n" msgstr "" -#: guiinit.cpp:103 +#: guiinit.cpp:104 msgid "Start!" msgstr "" -#: guiinit.cpp:122 xrc/NetLink.xrc:99 +#: guiinit.cpp:123 xrc/NetLink.xrc:99 msgid "Connect" msgstr "" -#: guiinit.cpp:139 +#: guiinit.cpp:140 msgid "You must enter a valid host name" msgstr "" -#: guiinit.cpp:140 +#: guiinit.cpp:141 msgid "Host name invalid" msgstr "" -#: guiinit.cpp:158 +#: guiinit.cpp:159 msgid "Waiting for clients..." msgstr "" -#: guiinit.cpp:159 +#: guiinit.cpp:160 #, c-format msgid "Server IP address is: %s\n" msgstr "" -#: guiinit.cpp:161 +#: guiinit.cpp:162 msgid "Waiting for connection..." msgstr "" -#: guiinit.cpp:162 +#: guiinit.cpp:163 #, c-format msgid "Connecting to %s\n" msgstr "" -#: guiinit.cpp:195 +#: guiinit.cpp:196 msgid "" "Error occurred.\n" "Please try again." msgstr "" -#: guiinit.cpp:262 guiinit.cpp:315 +#: guiinit.cpp:263 guiinit.cpp:316 msgid "Select cheat file" msgstr "" -#: guiinit.cpp:263 +#: guiinit.cpp:264 msgid "VBA cheat lists (*.clt)|*.clt|CHT cheat lists (*.cht)|*.cht" msgstr "" -#: guiinit.cpp:282 panel.cpp:517 +#: guiinit.cpp:283 panel.cpp:517 msgid "Loaded cheats" msgstr "" -#: guiinit.cpp:316 +#: guiinit.cpp:317 msgid "VBA cheat lists (*.clt)|*.clt" msgstr "" -#: guiinit.cpp:334 +#: guiinit.cpp:335 msgid "Saved cheats" msgstr "" -#: guiinit.cpp:365 guiinit.cpp:384 +#: guiinit.cpp:366 guiinit.cpp:385 msgid "Restore old values?" msgstr "" -#: guiinit.cpp:366 guiinit.cpp:385 +#: guiinit.cpp:367 guiinit.cpp:386 msgid "Removing cheats" msgstr "" -#: guiinit.cpp:776 dialogs/gb-rom-info.cpp:60 xrc/JoyPanel.xrc:364 +#: guiinit.cpp:777 dialogs/gb-rom-info.cpp:60 xrc/JoyPanel.xrc:364 msgid "Game Shark" msgstr "" -#: guiinit.cpp:777 dialogs/gb-rom-info.cpp:57 +#: guiinit.cpp:778 dialogs/gb-rom-info.cpp:57 msgid "Game Genie" msgstr "" -#: guiinit.cpp:779 +#: guiinit.cpp:780 msgid "Generic Code" msgstr "" -#: guiinit.cpp:780 +#: guiinit.cpp:781 msgid "Game Shark Advance" msgstr "" -#: guiinit.cpp:781 +#: guiinit.cpp:782 msgid "Code Breaker Advance" msgstr "" -#: guiinit.cpp:782 +#: guiinit.cpp:783 msgid "Flashcart CHT" msgstr "" -#: guiinit.cpp:850 guiinit.cpp:1105 +#: guiinit.cpp:851 guiinit.cpp:1106 msgid "Number cannot be empty" msgstr "" -#: guiinit.cpp:900 +#: guiinit.cpp:901 msgid "Search produced no results" msgstr "" -#: guiinit.cpp:1063 +#: guiinit.cpp:1064 msgid "8-bit " msgstr "" -#: guiinit.cpp:1067 +#: guiinit.cpp:1068 msgid "16-bit " msgstr "" -#: guiinit.cpp:1071 +#: guiinit.cpp:1072 msgid "32-bit " msgstr "" -#: guiinit.cpp:1077 +#: guiinit.cpp:1078 msgid "signed decimal" msgstr "" -#: guiinit.cpp:1081 +#: guiinit.cpp:1082 msgid "unsigned decimal" msgstr "" -#: guiinit.cpp:1085 +#: guiinit.cpp:1086 msgid "unsigned hexadecimal" msgstr "" -#: guiinit.cpp:1486 +#: guiinit.cpp:1487 #, c-format msgid "%d frames = %.2f ms" msgstr "" -#: guiinit.cpp:1498 +#: guiinit.cpp:1499 msgid "Default device" msgstr "" -#: guiinit.cpp:1951 +#: guiinit.cpp:1918 msgid "Main icon not found" msgstr "" -#: guiinit.cpp:1969 +#: guiinit.cpp:1936 msgid "Main display panel not found" msgstr "" -#: guiinit.cpp:2228 +#: guiinit.cpp:2195 #, c-format msgid "Invalid menu item %s; removing" msgstr "" -#: guiinit.cpp:2413 +#: guiinit.cpp:2380 msgid "Code" msgstr "" -#: guiinit.cpp:2422 +#: guiinit.cpp:2389 msgid "Description" msgstr "" -#: guiinit.cpp:2496 xrc/CheatAdd.xrc:31 +#: guiinit.cpp:2463 xrc/CheatAdd.xrc:31 msgid "Address" msgstr "" -#: guiinit.cpp:2497 +#: guiinit.cpp:2464 msgid "Old Value" msgstr "" -#: guiinit.cpp:2498 +#: guiinit.cpp:2465 msgid "New Value" msgstr "" -#: guiinit.cpp:2872 +#: guiinit.cpp:2793 msgid "JoyBus host invalid; disabling" msgstr "" @@ -631,29 +631,29 @@ msgstr "" msgid "Could not initialize the sound driver!" msgstr "" -#: cmdevents.cpp:2280 +#: cmdevents.cpp:2284 msgid "" "YOUR CONFIGURATION WILL BE DELETED!\n" "\n" "Are you sure?" msgstr "" -#: cmdevents.cpp:2281 +#: cmdevents.cpp:2285 msgid "FACTORY RESET" msgstr "" -#: cmdevents.cpp:2316 +#: cmdevents.cpp:2320 msgid "Nintendo Game Boy / Color / Advance emulator." msgstr "" -#: cmdevents.cpp:2317 +#: cmdevents.cpp:2321 msgid "" "Copyright (C) 1999-2003 Forgotten\n" "Copyright (C) 2004-2006 VBA development team\n" "Copyright (C) 2007-2020 VBA-M development team" msgstr "" -#: cmdevents.cpp:2319 +#: cmdevents.cpp:2323 msgid "" "This program is free software: you can redistribute it and / or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -669,15 +669,15 @@ msgid "" "along with this program. If not, see http://www.gnu.org/licenses ." msgstr "" -#: cmdevents.cpp:2504 +#: cmdevents.cpp:2508 msgid "Cannot use Game Boy BIOS when Colorizer Hack is enabled." msgstr "" -#: cmdevents.cpp:2558 +#: cmdevents.cpp:2564 msgid "LAN link is already active. Disable link mode to disconnect." msgstr "" -#: cmdevents.cpp:2564 +#: cmdevents.cpp:2570 msgid "Network is not supported in local mode." msgstr "" @@ -715,17 +715,17 @@ msgid "" "values may have been reset." msgstr "" -#: opts.cpp:457 opts.cpp:477 opts.cpp:662 +#: opts.cpp:457 opts.cpp:477 opts.cpp:665 #, c-format msgid "Invalid key binding %s for %s" msgstr "" -#: opts.cpp:598 opts.cpp:607 opts.cpp:616 opts.cpp:625 config/option.cpp:492 +#: opts.cpp:601 opts.cpp:610 opts.cpp:619 opts.cpp:628 config/option.cpp:492 #, c-format msgid "Invalid value %s for option %s" msgstr "" -#: opts.cpp:684 +#: opts.cpp:687 #, c-format msgid "Unknown option %s with value %s" msgstr "" @@ -896,86 +896,86 @@ msgstr "" msgid "Error writing rewind state" msgstr "" -#: panel.cpp:2285 +#: panel.cpp:2299 msgid "Enabling EGL VSync." msgstr "" -#: panel.cpp:2287 +#: panel.cpp:2301 msgid "Disabling EGL VSync." msgstr "" -#: panel.cpp:2294 +#: panel.cpp:2308 msgid "Enabling GLX VSync." msgstr "" -#: panel.cpp:2296 +#: panel.cpp:2310 msgid "Disabling GLX VSync." msgstr "" -#: panel.cpp:2314 +#: panel.cpp:2328 msgid "Failed to set glXSwapIntervalEXT" msgstr "" -#: panel.cpp:2323 +#: panel.cpp:2337 msgid "Failed to set glXSwapIntervalSGI" msgstr "" -#: panel.cpp:2332 +#: panel.cpp:2346 msgid "Failed to set glXSwapIntervalMESA" msgstr "" -#: panel.cpp:2339 +#: panel.cpp:2353 msgid "No support for wglGetExtensionsStringEXT" msgstr "" -#: panel.cpp:2342 +#: panel.cpp:2356 msgid "No support for WGL_EXT_swap_control" msgstr "" -#: panel.cpp:2351 +#: panel.cpp:2365 msgid "Failed to set wglSwapIntervalEXT" msgstr "" -#: panel.cpp:2357 +#: panel.cpp:2371 msgid "No VSYNC available on this platform" msgstr "" -#: panel.cpp:2457 +#: panel.cpp:2473 msgid "memory allocation error" msgstr "" -#: panel.cpp:2460 +#: panel.cpp:2476 msgid "error initializing codec" msgstr "" -#: panel.cpp:2463 +#: panel.cpp:2479 msgid "error writing to output file" msgstr "" -#: panel.cpp:2466 +#: panel.cpp:2482 msgid "can't guess output format from file name" msgstr "" -#: panel.cpp:2471 +#: panel.cpp:2487 msgid "programming error; aborting!" msgstr "" -#: panel.cpp:2483 panel.cpp:2512 +#: panel.cpp:2499 panel.cpp:2528 #, c-format msgid "Unable to begin recording to %s (%s)" msgstr "" -#: panel.cpp:2540 +#: panel.cpp:2556 #, c-format msgid "Error in audio / video recording (%s); aborting" msgstr "" -#: panel.cpp:2546 +#: panel.cpp:2562 #, c-format msgid "Error in audio recording (%s); aborting" msgstr "" -#: panel.cpp:2556 +#: panel.cpp:2572 #, c-format msgid "Error in video recording (%s); aborting" msgstr "" @@ -992,174 +992,174 @@ msgstr "" msgid "B:" msgstr "" -#: config/internal/option-internal.cpp:376 +#: config/internal/option-internal.cpp:380 msgid "Use bilinear filter with 3d renderer" msgstr "" -#: config/internal/option-internal.cpp:377 +#: config/internal/option-internal.cpp:381 msgid "Full-screen filter to apply" msgstr "" -#: config/internal/option-internal.cpp:378 +#: config/internal/option-internal.cpp:382 msgid "Filter plugin library" msgstr "" -#: config/internal/option-internal.cpp:379 +#: config/internal/option-internal.cpp:383 msgid "Interframe blending function" msgstr "" -#: config/internal/option-internal.cpp:380 +#: config/internal/option-internal.cpp:384 msgid "Keep window on top" msgstr "" -#: config/internal/option-internal.cpp:382 +#: config/internal/option-internal.cpp:386 msgid "Maximum number of threads to run filters in" msgstr "" -#: config/internal/option-internal.cpp:384 +#: config/internal/option-internal.cpp:388 msgid "Render method; if unsupported, simple method will be used" msgstr "" -#: config/internal/option-internal.cpp:385 +#: config/internal/option-internal.cpp:389 msgid "Default scale factor" msgstr "" -#: config/internal/option-internal.cpp:387 +#: config/internal/option-internal.cpp:391 msgid "Retain aspect ratio when resizing" msgstr "" -#: config/internal/option-internal.cpp:391 +#: config/internal/option-internal.cpp:395 msgid "BIOS file to use for Game Boy, if enabled" msgstr "" -#: config/internal/option-internal.cpp:393 +#: config/internal/option-internal.cpp:397 msgid "Game Boy color enhancement, if enabled" msgstr "" -#: config/internal/option-internal.cpp:395 +#: config/internal/option-internal.cpp:399 msgid "Enable DX Colorization Hacks" msgstr "" -#: config/internal/option-internal.cpp:397 -#: config/internal/option-internal.cpp:423 +#: config/internal/option-internal.cpp:401 +#: config/internal/option-internal.cpp:427 msgid "Apply LCD filter, if enabled" msgstr "" -#: config/internal/option-internal.cpp:399 +#: config/internal/option-internal.cpp:403 msgid "BIOS file to use for Game Boy Color, if enabled" msgstr "" -#: config/internal/option-internal.cpp:401 +#: config/internal/option-internal.cpp:405 msgid "" "The default palette, as 8 comma-separated 4-digit hex integers (rgb555)." msgstr "" -#: config/internal/option-internal.cpp:404 +#: config/internal/option-internal.cpp:408 msgid "" "The first user palette, as 8 comma-separated 4-digit hex integers (rgb555)." msgstr "" -#: config/internal/option-internal.cpp:407 +#: config/internal/option-internal.cpp:411 msgid "" "The second user palette, as 8 comma-separated 4-digit hex integers (rgb555)." msgstr "" -#: config/internal/option-internal.cpp:410 +#: config/internal/option-internal.cpp:414 msgid "Automatically gather a full page before printing" msgstr "" -#: config/internal/option-internal.cpp:412 +#: config/internal/option-internal.cpp:416 msgid "Automatically save printouts as screen captures with -print suffix" msgstr "" -#: config/internal/option-internal.cpp:414 -#: config/internal/option-internal.cpp:444 +#: config/internal/option-internal.cpp:418 +#: config/internal/option-internal.cpp:448 msgid "Directory to look for ROM files" msgstr "" -#: config/internal/option-internal.cpp:416 +#: config/internal/option-internal.cpp:420 msgid "Directory to look for Game Boy Color ROM files" msgstr "" -#: config/internal/option-internal.cpp:419 +#: config/internal/option-internal.cpp:423 msgid "BIOS file to use, if enabled" msgstr "" -#: config/internal/option-internal.cpp:429 +#: config/internal/option-internal.cpp:433 msgid "Enable link at boot" msgstr "" -#: config/internal/option-internal.cpp:434 +#: config/internal/option-internal.cpp:438 msgid "Enable faster network protocol by default" msgstr "" -#: config/internal/option-internal.cpp:436 +#: config/internal/option-internal.cpp:440 msgid "Default network link client host" msgstr "" -#: config/internal/option-internal.cpp:437 +#: config/internal/option-internal.cpp:441 msgid "Default network link server IP to bind" msgstr "" -#: config/internal/option-internal.cpp:439 +#: config/internal/option-internal.cpp:443 msgid "Default network link port (server and client)" msgstr "" -#: config/internal/option-internal.cpp:440 +#: config/internal/option-internal.cpp:444 msgid "Default network protocol" msgstr "" -#: config/internal/option-internal.cpp:441 +#: config/internal/option-internal.cpp:445 msgid "Link timeout (ms)" msgstr "" -#: config/internal/option-internal.cpp:442 +#: config/internal/option-internal.cpp:446 msgid "Link cable type" msgstr "" -#: config/internal/option-internal.cpp:448 +#: config/internal/option-internal.cpp:452 msgid "Automatically load last saved state" msgstr "" -#: config/internal/option-internal.cpp:450 +#: config/internal/option-internal.cpp:454 msgid "" "Directory to store game save files (relative paths are relative to ROM; " "blank is config dir)" msgstr "" -#: config/internal/option-internal.cpp:452 +#: config/internal/option-internal.cpp:456 msgid "Freeze recent load list" msgstr "" -#: config/internal/option-internal.cpp:454 +#: config/internal/option-internal.cpp:458 msgid "" "Directory to store A / V and game recordings (relative paths are relative to " "ROM)" msgstr "" -#: config/internal/option-internal.cpp:457 +#: config/internal/option-internal.cpp:461 msgid "Number of seconds between rewind snapshots (0 to disable)" msgstr "" -#: config/internal/option-internal.cpp:459 +#: config/internal/option-internal.cpp:463 msgid "Directory to store screenshots (relative paths are relative to ROM)" msgstr "" -#: config/internal/option-internal.cpp:462 +#: config/internal/option-internal.cpp:466 msgid "" "Directory to store saved state files (relative paths are relative to " "BatteryDir)" msgstr "" -#: config/internal/option-internal.cpp:464 +#: config/internal/option-internal.cpp:468 msgid "Enable status bar" msgstr "" -#: config/internal/option-internal.cpp:465 +#: config/internal/option-internal.cpp:469 msgid "INI file version (DO NOT MODIFY)" msgstr "" -#: config/internal/option-internal.cpp:469 +#: config/internal/option-internal.cpp:473 msgid "" "The parameter Joypad//