Simplify dark mode user interface

This commit is contained in:
Don HO 2021-05-11 19:21:41 +02:00
parent a0f2586102
commit 69a5438671
4 changed files with 11 additions and 33 deletions

View File

@ -100,7 +100,8 @@ IDD_PREFERENCE_SUB_DARKMODE DIALOGEX 0, 0, 455, 185
STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
CONTROL "Enable &dark mode",IDC_CHECK_DARKMODE_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,20,289,10
CONTROL "Enable &dark mode",IDC_CHECK_DARKMODE_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,20,150,10
/*
CONTROL "Override &menubar drawing", IDC_CHECK_DARKMODE_ENABLE_MENUBAR,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,66,289,10
CONTROL "&Use system dark mode API* (dark title bar and menus)",IDC_CHECK_DARKMODE_ENABLE_EXPERIMENTAL,
@ -108,7 +109,8 @@ BEGIN
CONTROL "Override &scrollbar themes*", IDC_CHECK_DARKMODE_ENABLE_SCROLLBAR_HACK,
"Button", BS_AUTOCHECKBOX | WS_TABSTOP, 20,94,289,10
GROUPBOX "Experimental Dark Mode Options",IDC_GROUPBOX_DARKMODE,11,47,307,70,BS_CENTER
LTEXT "*Notepad++ must be restarted to take effect",IDC_STATIC_DARKMODE,11,119,308,16
*/
LTEXT "* Notepad++ must be restarted to take effect completely",IDC_STATIC_DARKMODE_WARNING,20,35,310,16
END
IDD_PREFERENCE_SUB_MARGING_BORDER_EDGE DIALOGEX 0, 0, 455, 185

View File

@ -791,11 +791,6 @@ INT_PTR CALLBACK EditingSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
return FALSE;
}
void DarkModeSubDlg::enableDependentControls()
{
bool experimentalEnabled = isCheckedOrNot(IDC_CHECK_DARKMODE_ENABLE_EXPERIMENTAL);
EnableWindow(GetDlgItem(_hSelf, IDC_CHECK_DARKMODE_ENABLE_SCROLLBAR_HACK), experimentalEnabled ? TRUE : FALSE);
}
INT_PTR CALLBACK DarkModeSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
{
@ -808,11 +803,6 @@ INT_PTR CALLBACK DarkModeSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
case WM_INITDIALOG:
{
::SendDlgItemMessage(_hSelf, IDC_CHECK_DARKMODE_ENABLE, BM_SETCHECK, nppGUI._darkmode.enable, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_DARKMODE_ENABLE_EXPERIMENTAL, BM_SETCHECK, nppGUI._darkmode.enableExperimental, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_DARKMODE_ENABLE_MENUBAR, BM_SETCHECK, nppGUI._darkmode.enableMenubar, 0);
::SendDlgItemMessage(_hSelf, IDC_CHECK_DARKMODE_ENABLE_SCROLLBAR_HACK, BM_SETCHECK, nppGUI._darkmode.enableScrollbarHack, 0);
enableDependentControls();
ETDTProc enableDlgTheme = (ETDTProc)nppParam.getEnableThemeDlgTexture();
if (enableDlgTheme)
@ -826,8 +816,12 @@ INT_PTR CALLBACK DarkModeSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
switch (wParam)
{
case IDC_CHECK_DARKMODE_ENABLE:
nppGUI._darkmode.enable = isCheckedOrNot(static_cast<int>(wParam));
bool enableDarkMode = isCheckedOrNot(static_cast<int>(wParam));
nppGUI._darkmode.enable = enableDarkMode;
nppGUI._darkmode.enableExperimental = enableDarkMode;
nppGUI._darkmode.enableMenubar = enableDarkMode;
nppGUI._darkmode.enableScrollbarHack = enableDarkMode;
// if dark mode enabled & TB_STANDARD is selected, switch to TB_SMALL
if (nppGUI._darkmode.enable)
{
@ -838,24 +832,11 @@ INT_PTR CALLBACK DarkModeSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
}
changed = true;
break;
case IDC_CHECK_DARKMODE_ENABLE_EXPERIMENTAL:
nppGUI._darkmode.enableExperimental = isCheckedOrNot(static_cast<int>(wParam));
changed = true;
break;
case IDC_CHECK_DARKMODE_ENABLE_MENUBAR:
nppGUI._darkmode.enableMenubar = isCheckedOrNot(static_cast<int>(wParam));
changed = true;
break;
case IDC_CHECK_DARKMODE_ENABLE_SCROLLBAR_HACK:
nppGUI._darkmode.enableScrollbarHack = isCheckedOrNot(static_cast<int>(wParam));
changed = true;
break;
}
if (changed)
{
NppDarkMode::refreshDarkMode(_hSelf);
enableDependentControls();
return TRUE;
}

View File

@ -60,7 +60,6 @@ public:
private:
INT_PTR CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam);
void enableDependentControls();
};
class MarginsBorderEdgeSubDlg : public StaticDialog

View File

@ -373,10 +373,6 @@
#define IDD_PREFERENCE_SUB_DARKMODE 7100 //(IDD_PREFERENCE_BOX + 1100)
#define IDC_CHECK_DARKMODE_ENABLE (IDD_PREFERENCE_SUB_DARKMODE + 1)
#define IDC_CHECK_DARKMODE_ENABLE_EXPERIMENTAL (IDD_PREFERENCE_SUB_DARKMODE + 2)
#define IDC_CHECK_DARKMODE_ENABLE_MENUBAR (IDD_PREFERENCE_SUB_DARKMODE + 3)
#define IDC_CHECK_DARKMODE_ENABLE_SCROLLBAR_HACK (IDD_PREFERENCE_SUB_DARKMODE + 4)
#define IDC_GROUPBOX_DARKMODE (IDD_PREFERENCE_SUB_DARKMODE + 5)
#define IDC_STATIC_DARKMODE (IDD_PREFERENCE_SUB_DARKMODE + 6)
#define IDC_STATIC_DARKMODE_WARNING (IDD_PREFERENCE_SUB_DARKMODE + 6)
#endif //PREFERENCE_RC_H