mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
+chg: Keep Dark/Light Win Mode settings (if once set manually - else auto detect)
This commit is contained in:
parent
520df93974
commit
628c22405a
@ -1652,8 +1652,7 @@ void LoadSettings()
|
||||
Globals.fvCurFile.iEncoding = Settings.DefaultEncoding;
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
Defaults.WinThemeDarkMode = ShouldAppsUseDarkModeEx();
|
||||
Settings.WinThemeDarkMode = IniSectionGetBool(IniSecSettings, L"WinThemeDarkMode", Defaults.WinThemeDarkMode) && IsDarkModeSupported();
|
||||
GET_CAST_INT_VALUE_FROM_INISECTION(WIN_DISPL_MODE, WinThemeDarkMode, 0, 0, 2);
|
||||
#endif
|
||||
|
||||
GET_BOOL_VALUE_FROM_INISECTION(UseDefaultForFileEncoding, false);
|
||||
@ -1669,7 +1668,7 @@ void LoadSettings()
|
||||
GET_BOOL_VALUE_FROM_INISECTION(FixTrailingBlanks, false);
|
||||
GET_INT_VALUE_FROM_INISECTION(PrintHeader, 1, 0, 3);
|
||||
GET_INT_VALUE_FROM_INISECTION(PrintFooter, 0, 0, 1);
|
||||
int const defPrtColMod = Settings.WinThemeDarkMode ? SC_PRINT_INVERTLIGHT : SC_PRINT_COLOURONWHITE;
|
||||
int const defPrtColMod = IsSettingDarkMode() ? SC_PRINT_INVERTLIGHT : SC_PRINT_COLOURONWHITE;
|
||||
GET_INT_VALUE_FROM_INISECTION(PrintColorMode, defPrtColMod, SC_PRINT_NORMAL, SC_PRINT_SCREENCOLOURS);
|
||||
|
||||
//int const zoomScale = 100;
|
||||
@ -2147,7 +2146,7 @@ static bool _SaveSettings(bool bForceSaveSettings)
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, ReplaceByClipboardTag);
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, WinThemeDarkMode);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Int, WinThemeDarkMode);
|
||||
#endif
|
||||
|
||||
///~IniSectionSetInt(IniSecSettings, L"IMEInteraction", Settings2.IMEInteraction);
|
||||
|
||||
@ -963,14 +963,14 @@ static void _SetEncodingTitleInfo(const ENC_DET_T* pEncDetInfo)
|
||||
//
|
||||
static void _SetFileVars(char* buffer, size_t cch, LPFILEVARS lpfv)
|
||||
{
|
||||
bool bDisableFileVar = Flags.NoFileVariables;
|
||||
bool bEnableFileVar = !Flags.NoFileVariables;
|
||||
|
||||
if (!bDisableFileVar) {
|
||||
if (bEnableFileVar) {
|
||||
int i;
|
||||
if (FileVars_ParseInt(buffer, "enable-local-variables", &i) && (!i)) {
|
||||
bDisableFileVar = true;
|
||||
bEnableFileVar = false;
|
||||
}
|
||||
if (!bDisableFileVar) {
|
||||
if (bEnableFileVar) {
|
||||
|
||||
if (FileVars_ParseInt(buffer, "tab-width", &i)) {
|
||||
lpfv->iTabWidth = clampi(i, 1, 256);
|
||||
|
||||
@ -1129,7 +1129,7 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance,
|
||||
Scintilla_RegisterClasses(hInstance);
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
SetDarkMode(IsDarkModeSupported() && Settings.WinThemeDarkMode); // settings
|
||||
SetDarkMode(IsDarkModeSupported() && IsSettingDarkMode()); // settings
|
||||
#endif
|
||||
|
||||
HRSRC const hRes = FindResourceEx(hInstance, RT_RCDATA, MAKEINTRESOURCE(IDR_STD_DARKMODE_THEME),
|
||||
@ -4320,7 +4320,7 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
EnableCmd(hmenu, IDM_VIEW_WIN_DARK_MODE, IsDarkModeSupported());
|
||||
CheckCmd(hmenu, IDM_VIEW_WIN_DARK_MODE, Settings.WinThemeDarkMode);
|
||||
CheckCmd(hmenu, IDM_VIEW_WIN_DARK_MODE, IsSettingDarkMode());
|
||||
#else
|
||||
RemoveMenu(hmenu, IDM_VIEW_WIN_DARK_MODE, 0);
|
||||
#endif
|
||||
@ -6421,8 +6421,8 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
}
|
||||
|
||||
Settings.WinThemeDarkMode = !Settings.WinThemeDarkMode; // toggle
|
||||
SetDarkMode(Settings.WinThemeDarkMode);
|
||||
Settings.WinThemeDarkMode = IsSettingDarkMode() ? WINDSPMOD_LIGHT : WINDSPMOD_DARK; // toggle non auto!
|
||||
SetDarkMode(IsSettingDarkMode());
|
||||
|
||||
Style_DynamicThemesMenuCmd(IDM_THEMES_FACTORY_RESET);
|
||||
|
||||
|
||||
@ -220,6 +220,7 @@ typedef enum BUFFER_SIZES {
|
||||
|
||||
typedef enum FR_STATES { FND_NOP = 0, NXT_NOT_FND, NXT_FND, NXT_WRP_FND, PRV_NOT_FND, PRV_FND, PRV_WRP_FND } FR_STATES;
|
||||
typedef enum FR_UPD_MODES { FRMOD_IGNORE = 0, FRMOD_NORM, FRMOD_WRAPED } FR_UPD_MODES;
|
||||
typedef enum WIN_DISPL_MODE { WINDSPMOD_AUTO = 0, WINDSPMOD_DARK, WINDSPMOD_LIGHT } WIN_DISPL_MODE;
|
||||
|
||||
//==== Statusbar ==============================================================
|
||||
|
||||
@ -676,7 +677,7 @@ typedef struct SETTINGS_T {
|
||||
AutoSaveBackupOptions AutoSaveOptions;
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
bool WinThemeDarkMode;
|
||||
WIN_DISPL_MODE WinThemeDarkMode; // auto(0), true(1), false(2)
|
||||
#endif
|
||||
|
||||
RECT PrintMargin;
|
||||
@ -696,6 +697,15 @@ extern SETTINGS_T Settings;
|
||||
#define IsFocusedViewAllowed() (IsMarkOccurrencesEnabled() && !Settings.MarkOccurrencesMatchVisible)
|
||||
#define IsColorDefHotspotEnabled() (Settings.ColorDefHotspot != 0)
|
||||
|
||||
//inline bool IsSettingDarkMode()
|
||||
//{
|
||||
// return ((Settings.WinThemeDarkMode == WINDSPMOD_AUTO) ? ShouldAppsUseDarkModeEx() : ((Settings.WinThemeDarkMode == WINDSPMOD_DARK) ? true : false));
|
||||
//}
|
||||
|
||||
#define IsSettingDarkMode() (((Settings.WinThemeDarkMode == WINDSPMOD_AUTO) ? \
|
||||
ShouldAppsUseDarkModeEx() : \
|
||||
((Settings.WinThemeDarkMode == WINDSPMOD_DARK) ? true : false)) && IsDarkModeSupported())
|
||||
|
||||
//=============================================================================
|
||||
|
||||
typedef struct FLAGS_T {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user