From 061a860e2efd1984fce2d336e4cafb1aa4009d46 Mon Sep 17 00:00:00 2001 From: sepro <4618135+seproDev@users.noreply.github.com> Date: Mon, 24 Jul 2023 23:25:44 +0200 Subject: [PATCH] Add option to enable experimental dark mode --- src/libresrc/default_config.json | 3 ++- src/main.cpp | 6 ++++++ src/preferences.cpp | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libresrc/default_config.json b/src/libresrc/default_config.json index 318f8d3ee..52331dedf 100644 --- a/src/libresrc/default_config.json +++ b/src/libresrc/default_config.json @@ -16,7 +16,8 @@ "Save Charset" : "UTF-8", "Save UI State" : true, "Show Toolbar" : true, - "Toolbar Icon Size" : 16 + "Toolbar Icon Size" : 16, + "Dark Mode" : false }, diff --git a/src/main.cpp b/src/main.cpp index 7f6d9162c..dd07763ff 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -224,6 +224,12 @@ bool AegisubApp::OnInit() { } #endif +#if defined(__WXMSW__) && wxVERSION_NUMBER >= 3300 + if (OPT_GET("App/Dark Mode")->GetBool()) { + MSWEnableDarkMode(wxApp::DarkMode_Always); + } +#endif + // Init commands. cmd::init_builtin_commands(); diff --git a/src/preferences.cpp b/src/preferences.cpp index f6320dd75..792bcf291 100644 --- a/src/preferences.cpp +++ b/src/preferences.cpp @@ -228,6 +228,11 @@ void Interface(wxTreebook *book, Preferences *parent) { auto tl_assistant = p->PageSizer(_("Translation Assistant")); p->OptionAdd(tl_assistant, _("Skip over whitespace"), "Tool/Translation Assistant/Skip Whitespace"); +#if defined(__WXMSW__) && wxVERSION_NUMBER >= 3300 + auto dark_mode = p->PageSizer(_("Dark Mode")); + p->OptionAdd(dark_mode, _("Enable experimental dark mode (restart required)"), "App/Dark Mode"); +#endif + p->SetSizerAndFit(p->sizer); }