mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-07-27 07:44:24 +02:00
Reorganize GUI of Preferences dialog
Follow 5447ef76235d7bdac7bdd1020d896dd9eb5cae28
This commit is contained in:
parent
5447ef7623
commit
e45f72ae39
@ -948,13 +948,11 @@ Translation note:
|
||||
<Global title="General">
|
||||
<Item id="6101" name="Toolbar"/>
|
||||
<Item id="6102" name="Hide"/>
|
||||
<ComboBox id="6135">
|
||||
<Element name="Fluent UI: small"/>
|
||||
<Element name="Fluent UI: large"/>
|
||||
<Element name="Filled Fluent UI: small"/>
|
||||
<Element name="Filled Fluent UI: large"/>
|
||||
<Element name="Standard icons: small"/>
|
||||
</ComboBox>
|
||||
<Item id="6103" name="Fluent UI: small"/>
|
||||
<Item id="6104" name="Fluent UI: large"/>
|
||||
<Item id="6129" name="Filled Fluent UI: small"/>
|
||||
<Item id="6130" name="Filled Fluent UI: large"/>
|
||||
<Item id="6105" name="Standard icons: small"/>
|
||||
|
||||
<Item id="6106" name="Tab Bar"/>
|
||||
<Item id="6107" name="Reduce"/>
|
||||
|
@ -948,13 +948,11 @@ Translation note:
|
||||
<Global title="General">
|
||||
<Item id="6101" name="Toolbar"/>
|
||||
<Item id="6102" name="Hide"/>
|
||||
<ComboBox id="6135">
|
||||
<Element name="Fluent UI: small"/>
|
||||
<Element name="Fluent UI: large"/>
|
||||
<Element name="Filled Fluent UI: small"/>
|
||||
<Element name="Filled Fluent UI: large"/>
|
||||
<Element name="Standard icons: small"/>
|
||||
</ComboBox>
|
||||
<Item id="6103" name="Fluent UI: small"/>
|
||||
<Item id="6104" name="Fluent UI: large"/>
|
||||
<Item id="6129" name="Filled Fluent UI: small"/>
|
||||
<Item id="6130" name="Filled Fluent UI: large"/>
|
||||
<Item id="6105" name="Standard icons: small"/>
|
||||
|
||||
<Item id="6106" name="Tab Bar"/>
|
||||
<Item id="6107" name="Reduce"/>
|
||||
|
@ -8509,7 +8509,7 @@ void Notepad_plus::refreshDarkMode(bool resetStyle)
|
||||
const int tabIconSet = NppDarkMode::getTabIconSet(NppDarkMode::isEnabled());
|
||||
if (tabIconSet != -1)
|
||||
{
|
||||
_preference._generalSubDlg.setTabbarAlternateIcons(tabIconSet == 1);
|
||||
_preference._tabbarSubDlg.setTabbarAlternateIcons(tabIconSet == 1);
|
||||
::SendMessage(_pPublicInterface->getHSelf(), NPPM_INTERNAL_CHANGETABBARICONSET, static_cast<WPARAM>(false), tabIconSet);
|
||||
}
|
||||
else
|
||||
|
@ -97,11 +97,15 @@ namespace NppDarkMode
|
||||
|
||||
struct TbIconInfo
|
||||
{
|
||||
// 0: Fluent small, 1: Fluent big, 2: Filled Fluent small, 3: Filled Fluent big, 4: Standard small
|
||||
int _tbIconSet = 4;
|
||||
|
||||
// fluent icon color
|
||||
FluentColor _tbColor = FluentColor::defaultColor;
|
||||
|
||||
// fluent icon custom color, used when _tbColor == FluentColor::custom
|
||||
COLORREF _tbCustomColor = 0;
|
||||
|
||||
// does fluent icon use monochrome colorization
|
||||
bool _tbUseMono = false;
|
||||
};
|
||||
|
@ -116,6 +116,8 @@ LRESULT ColourPicker::runProc(UINT Message, WPARAM wParam, LPARAM lParam)
|
||||
p.y = rc.top + rc.bottom;
|
||||
::ClientToScreen(_hSelf, &p);
|
||||
|
||||
::SendMessage(_hParent, WM_COMMAND, MAKELONG(0, CPN_COLOURCLICKED), reinterpret_cast<LPARAM>(_hSelf));
|
||||
|
||||
if (!_pColourPopup)
|
||||
{
|
||||
_pColourPopup = new ColourPopup(_currentColour);
|
||||
|
@ -22,6 +22,7 @@
|
||||
class ColourPopup;
|
||||
|
||||
#define CPN_COLOURPICKED (BN_CLICKED)
|
||||
#define CPN_COLOURCLICKED (BN_SETFOCUS)
|
||||
|
||||
class ColourPicker : public Window
|
||||
{
|
||||
|
@ -38,41 +38,67 @@ IDD_PREFERENCE_SUB_GENRAL DIALOGEX 115, 10, 460, 205
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "Localization",IDC_LOCALIZATION_GB_STATIC,39,0,186,36,BS_CENTER
|
||||
COMBOBOX IDC_COMBO_LOCALIZATION,72,14,125,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
GROUPBOX "Localization",IDC_LOCALIZATION_GB_STATIC,134,22,186,36,BS_CENTER
|
||||
COMBOBOX IDC_COMBO_LOCALIZATION,167,36,125,80,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
|
||||
GROUPBOX "Menu",IDC_MENU_GB_STATIC,39,39,186,34,BS_CENTER
|
||||
CONTROL "Hide (use Alt or F10 key to toggle)",IDC_CHECK_HIDEMENUBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,45,47,174,10
|
||||
CONTROL "Hide right shortcuts + ▼ ✕",IDC_CHECK_HIDERIGHTSHORTCUTSOFMENUBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,45,60,174,10
|
||||
GROUPBOX "Menu",IDC_MENU_GB_STATIC,134,68,186,44,BS_CENTER
|
||||
CONTROL "Hide (use Alt or F10 key to toggle)",IDC_CHECK_HIDEMENUBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,80,174,10
|
||||
CONTROL "Hide right shortcuts + ▼ ✕",IDC_CHECK_HIDERIGHTSHORTCUTSOFMENUBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,95,174,10
|
||||
|
||||
GROUPBOX "Toolbar",IDC_TOOLBAR_GB_STATIC,39,75,186,91,BS_CENTER
|
||||
CONTROL "Hide",IDC_CHECK_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,45,84,100,10
|
||||
COMBOBOX IDC_COMBO_TOOLBAR_ICON,45,97,174,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Fluent icon color",IDC_STATIC_TOOLBAR_ICON_COLOR,48,115,171,8
|
||||
COMBOBOX IDC_COMBO_TOOLBAR_ICON_COLOR,45,125,154,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "",IDC_STATIC,223,127,1,8
|
||||
CONTROL "Use monochrome color for Fluent UI",IDC_CHECK_TOOLBAR_ICON_MONO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,45,143,174,10
|
||||
|
||||
GROUPBOX "Status Bar",IDC_STATUSBAR_GB_STATIC,39,169,186,26,BS_CENTER
|
||||
CONTROL "Hide",IDC_CHECK_HIDESTATUSBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,45,179,174,10
|
||||
|
||||
GROUPBOX "Tab Bar",IDC_TABBAR_GB_STATIC,235,0,177,195,BS_CENTER
|
||||
CONTROL "Hide",IDC_CHECK_TAB_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,10,100,10
|
||||
CONTROL "Multi-line",IDC_CHECK_TAB_MULTILINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,23,164,10
|
||||
CONTROL "Vertical",IDC_CHECK_TAB_VERTICAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,36,164,10
|
||||
CONTROL "Reduce",IDC_CHECK_REDUCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,49,164,10
|
||||
CONTROL "Alternate icons",IDC_CHECK_TAB_ALTICONS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,62,164,10
|
||||
CONTROL "Lock (no drag and drop)",IDC_CHECK_LOCK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,75,164,10
|
||||
CONTROL "Change inactive tab color",IDC_CHECK_DRAWINACTIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,88,164,10
|
||||
CONTROL "Draw a coloured bar on active tab",IDC_CHECK_ORANGE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,101,164,10
|
||||
CONTROL "Show close button",IDC_CHECK_ENABLETABCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,114,164,10
|
||||
CONTROL "Enable pin tab feature",IDC_CHECK_ENABLETABPIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,127,164,10
|
||||
CONTROL "Show only pinned button",IDC_CHECK_SHOWONLYPINNEDBUTTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,140,164,10
|
||||
CONTROL "Show buttons on inactive tabs",IDC_CHECK_INACTTABDRAWBUTTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,153,164,10
|
||||
CONTROL "Double click to close document",IDC_CHECK_DBCLICK2CLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,166,164,10
|
||||
CONTROL "Exit on close the last tab",IDC_CHECK_TAB_LAST_EXIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,241,179,164,10
|
||||
GROUPBOX "Status Bar",IDC_STATUSBAR_GB_STATIC,134,122,186,34,BS_CENTER
|
||||
CONTROL "Hide",IDC_CHECK_HIDESTATUSBAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,136,174,10
|
||||
END
|
||||
|
||||
IDD_PREFERENCE_SUB_TOOLBAR DIALOGEX 115, 10, 460, 205
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "Hide",IDC_CHECK_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,28,25,100,10
|
||||
CONTROL "Fluent UI: small",IDC_RADIO_SMALLICON,"Button",BS_AUTORADIOBUTTON | WS_GROUP,28,67,135,10
|
||||
CONTROL "Fluent UI: large",IDC_RADIO_BIGICON,"Button",BS_AUTORADIOBUTTON,28,80,135,10
|
||||
CONTROL "Filled Fluent UI: small",IDC_RADIO_SMALLICON2,"Button",BS_AUTORADIOBUTTON,28,93,135,10
|
||||
CONTROL "Filled Fluent UI: large",IDC_RADIO_BIGICON2,"Button",BS_AUTORADIOBUTTON,28,106,135,10
|
||||
CONTROL "Standard icons: small",IDC_RADIO_STANDARD,"Button",BS_AUTORADIOBUTTON,28,119,135,10
|
||||
|
||||
GROUPBOX "Colorization",IDC_TOOLBAR_GB_COLORIZATION,171,19,250,173,BS_CENTER
|
||||
CONTROL "Complete",IDC_RADIO_COMPLETE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,197,32,93,10
|
||||
CONTROL "Partial",IDC_RADIO_PARTIAL,"Button",BS_AUTORADIOBUTTON,197,45,79,10
|
||||
|
||||
GROUPBOX "Color choice",IDC_TOOLBAR_GB_COLORCHOICE,184,67,224,115,BS_CENTER
|
||||
CONTROL "Red",IDC_RADIO_RED,"Button",BS_AUTORADIOBUTTON | WS_GROUP,195,80,77,10
|
||||
CONTROL "Green",IDC_RADIO_GREEN,"Button",BS_AUTORADIOBUTTON,195,94,77,10
|
||||
CONTROL "Blue",IDC_RADIO_BLUE,"Button",BS_AUTORADIOBUTTON,195,108,77,10
|
||||
CONTROL "Purple",IDC_RADIO_PURPLE,"Button",BS_AUTORADIOBUTTON,195,122,77,10
|
||||
CONTROL "Cyan",IDC_RADIO_CYAN,"Button",BS_AUTORADIOBUTTON,195,136,77,10
|
||||
CONTROL "Olive",IDC_RADIO_OLIVE,"Button",BS_AUTORADIOBUTTON,195,150,77,10
|
||||
CONTROL "Yellow",IDC_RADIO_YELLOW,"Button",BS_AUTORADIOBUTTON,195,164,77,10
|
||||
CONTROL "Default",IDC_RADIO_DEFAULTCOLOR,"Button",BS_AUTORADIOBUTTON,278,80,77,10
|
||||
CONTROL "Follow System Accent setting",IDC_RADIO_ACCENTCOLOR,"Button",BS_AUTORADIOBUTTON,278,94,127,10
|
||||
CONTROL "Custom",IDC_RADIO_CUSTOMCOLOR,"Button",BS_AUTORADIOBUTTON,278,108,114,10
|
||||
LTEXT "",IDC_STATIC,310,127,1,8 // For placing the color picker on the left
|
||||
END
|
||||
|
||||
IDD_PREFERENCE_SUB_TABBAR DIALOGEX 115, 10, 460, 205
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "Hide",IDC_CHECK_TAB_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,10,100,10
|
||||
CONTROL "Multi-line",IDC_CHECK_TAB_MULTILINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,23,164,10
|
||||
CONTROL "Vertical",IDC_CHECK_TAB_VERTICAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,36,164,10
|
||||
CONTROL "Reduce",IDC_CHECK_REDUCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,49,164,10
|
||||
CONTROL "Alternate icons",IDC_CHECK_TAB_ALTICONS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,62,164,10
|
||||
CONTROL "Lock (no drag and drop)",IDC_CHECK_LOCK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,75,164,10
|
||||
CONTROL "Change inactive tab color",IDC_CHECK_DRAWINACTIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,88,164,10
|
||||
CONTROL "Draw a coloured bar on active tab",IDC_CHECK_ORANGE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,101,164,10
|
||||
CONTROL "Show close button",IDC_CHECK_ENABLETABCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,114,164,10
|
||||
CONTROL "Enable pin tab feature",IDC_CHECK_ENABLETABPIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,127,164,10
|
||||
CONTROL "Show only pinned button",IDC_CHECK_SHOWONLYPINNEDBUTTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,140,164,10
|
||||
CONTROL "Show buttons on inactive tabs",IDC_CHECK_INACTTABDRAWBUTTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,153,164,10
|
||||
CONTROL "Double click to close document",IDC_CHECK_DBCLICK2CLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,166,164,10
|
||||
CONTROL "Exit on close the last tab",IDC_CHECK_TAB_LAST_EXIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,179,164,10
|
||||
END
|
||||
|
||||
|
||||
IDD_PREFERENCE_SUB_EDITING DIALOGEX 115, 10, 460, 205
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
|
@ -124,6 +124,12 @@ intptr_t CALLBACK PreferenceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
_generalSubDlg.create(IDD_PREFERENCE_SUB_GENRAL, false, false);
|
||||
_generalSubDlg.display();
|
||||
|
||||
_toolbarSubDlg.init(_hInst, _hSelf);
|
||||
_toolbarSubDlg.create(IDD_PREFERENCE_SUB_TOOLBAR, false, false);
|
||||
|
||||
_tabbarSubDlg.init(_hInst, _hSelf);
|
||||
_tabbarSubDlg.create(IDD_PREFERENCE_SUB_TABBAR, false, false);
|
||||
|
||||
_editingSubDlg.init(_hInst, _hSelf);
|
||||
_editingSubDlg.create(IDD_PREFERENCE_SUB_EDITING, false, false);
|
||||
|
||||
@ -188,6 +194,8 @@ intptr_t CALLBACK PreferenceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
_searchEngineSubDlg.create(IDD_PREFERENCE_SUB_SEARCHENGINE, false, false);
|
||||
|
||||
_wVector.push_back(DlgInfo(&_generalSubDlg, L"General", L"Global"));
|
||||
_wVector.push_back(DlgInfo(&_toolbarSubDlg, L"Tool Bar", L"Toolbar"));
|
||||
_wVector.push_back(DlgInfo(&_tabbarSubDlg, L"Tab bar", L"Tabbar"));
|
||||
_wVector.push_back(DlgInfo(&_editingSubDlg, L"Editing 1", L"Scintillas"));
|
||||
_wVector.push_back(DlgInfo(&_editing2SubDlg, L"Editing 2", L"Scintillas2"));
|
||||
_wVector.push_back(DlgInfo(&_darkModeSubDlg, L"Dark Mode", L"DarkMode"));
|
||||
@ -288,8 +296,6 @@ intptr_t CALLBACK PreferenceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
|
||||
case NPPM_INTERNAL_SETTOOLICONSSET: // Set icons set only option (checkbox) on general sub-dialog, the remained real operations will be done in NppDarkMode::refreshDarkMode
|
||||
{
|
||||
const HWND hGeneralSubDlg = _generalSubDlg.getHSelf();
|
||||
|
||||
NppParameters& nppParams = NppParameters::getInstance();
|
||||
NppGUI& nppGUI = nppParams.getNppGUI();
|
||||
auto& nppGUITbInfo = nppGUI._tbIconInfo;
|
||||
@ -297,15 +303,34 @@ intptr_t CALLBACK PreferenceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
nppGUITbInfo = toolbarIconInfo;
|
||||
nppGUI._toolBarStatus = static_cast<toolBarStatusType>(nppGUITbInfo._tbIconSet);
|
||||
|
||||
::SendDlgItemMessage(hGeneralSubDlg, IDC_COMBO_TOOLBAR_ICON, CB_SETCURSEL, nppGUI._toolBarStatus, 0);
|
||||
::SendDlgItemMessage(hGeneralSubDlg, IDC_COMBO_TOOLBAR_ICON_COLOR, CB_SETCURSEL, static_cast<WPARAM>(nppGUITbInfo._tbColor), 0);
|
||||
::SendDlgItemMessage(hGeneralSubDlg, IDC_CHECK_TOOLBAR_ICON_MONO, BM_SETCHECK, nppGUITbInfo._tbUseMono ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
const HWND hToolbarlSubDlg = _toolbarSubDlg.getHSelf();
|
||||
|
||||
const bool enable = nppGUI._toolBarStatus != TB_STANDARD;
|
||||
::EnableWindow(::GetDlgItem(hGeneralSubDlg, IDC_COMBO_TOOLBAR_ICON_COLOR), enable ? TRUE : FALSE);
|
||||
::EnableWindow(::GetDlgItem(hGeneralSubDlg, IDC_CHECK_TOOLBAR_ICON_MONO), enable ? TRUE : FALSE);
|
||||
auto checkOrUncheckBtn = [&hToolbarlSubDlg](int id, WPARAM check = BST_UNCHECKED) -> void
|
||||
{
|
||||
::SendDlgItemMessage(hToolbarlSubDlg, id, BM_SETCHECK, check, 0);
|
||||
};
|
||||
|
||||
_generalSubDlg.enableColorPicker(static_cast<bool>(wParam), enable);
|
||||
checkOrUncheckBtn(IDC_RADIO_SMALLICON, nppGUI._toolBarStatus == TB_SMALL ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_BIGICON, nppGUI._toolBarStatus == TB_LARGE ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_SMALLICON2, nppGUI._toolBarStatus == TB_SMALL2 ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_BIGICON2, nppGUI._toolBarStatus == TB_LARGE2 ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_STANDARD, nppGUI._toolBarStatus == TB_STANDARD ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
checkOrUncheckBtn(IDC_RADIO_RED, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::red ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_GREEN, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::green ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_BLUE, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::blue ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_PURPLE, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::purple ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_CYAN, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::cyan ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_OLIVE, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::olive ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_YELLOW, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::yellow ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_ACCENTCOLOR, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::accent ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_CUSTOMCOLOR, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::custom ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_DEFAULTCOLOR, nppGUITbInfo._tbColor == NppDarkMode::FluentColor::defaultColor ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
checkOrUncheckBtn(IDC_RADIO_COMPLETE, nppGUITbInfo._tbUseMono ? BST_CHECKED : BST_UNCHECKED);
|
||||
checkOrUncheckBtn(IDC_RADIO_PARTIAL, nppGUITbInfo._tbUseMono ? BST_UNCHECKED : BST_CHECKED);
|
||||
|
||||
::SendMessage(hToolbarlSubDlg, NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE, 0, 0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@ -314,6 +339,8 @@ intptr_t CALLBACK PreferenceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
{
|
||||
_dpiManager.setDpiWP(wParam);
|
||||
_generalSubDlg.dpiManager().setDpiWP(wParam);
|
||||
_toolbarSubDlg.dpiManager().setDpiWP(wParam);
|
||||
_tabbarSubDlg.dpiManager().setDpiWP(wParam);
|
||||
_editingSubDlg.dpiManager().setDpiWP(wParam);
|
||||
_editing2SubDlg.dpiManager().setDpiWP(wParam);
|
||||
_darkModeSubDlg.dpiManager().setDpiWP(wParam);
|
||||
@ -465,6 +492,8 @@ void PreferenceDlg::showDialogByIndex(size_t index) const
|
||||
void PreferenceDlg::destroy()
|
||||
{
|
||||
_generalSubDlg.destroy();
|
||||
_toolbarSubDlg.destroy();
|
||||
_tabbarSubDlg.destroy();
|
||||
_editingSubDlg.destroy();
|
||||
_editing2SubDlg.destroy();
|
||||
_darkModeSubDlg.destroy();
|
||||
@ -486,7 +515,7 @@ void PreferenceDlg::destroy()
|
||||
_performanceSubDlg.destroy();
|
||||
}
|
||||
|
||||
void GeneralSubDlg::setTabbarAlternateIcons(bool enable)
|
||||
void TabbarSubDlg::setTabbarAlternateIcons(bool enable)
|
||||
{
|
||||
NppGUI& nppGUI = NppParameters::getInstance().getNppGUI();
|
||||
if (!enable)
|
||||
@ -501,75 +530,53 @@ void GeneralSubDlg::setTabbarAlternateIcons(bool enable)
|
||||
}
|
||||
}
|
||||
|
||||
void GeneralSubDlg::enableColorPicker(bool useDark, bool doEnable)
|
||||
{
|
||||
NppParameters& nppParam = NppParameters::getInstance();
|
||||
NppGUI& nppGUI = nppParam.getNppGUI();
|
||||
const auto& tbInfo = nppGUI._tbIconInfo;
|
||||
|
||||
const bool enable = doEnable && (tbInfo._tbColor == NppDarkMode::FluentColor::custom);
|
||||
|
||||
::EnableWindow(_pIconColorPicker->getHSelf(), enable ? TRUE : FALSE);
|
||||
if (enable)
|
||||
{
|
||||
_pIconColorPicker->setColour(tbInfo._tbCustomColor);
|
||||
}
|
||||
else
|
||||
{
|
||||
COLORREF disabledColor = useDark ? NppDarkMode::getDlgBackgroundColor() : ::GetSysColor(COLOR_3DFACE);
|
||||
_pIconColorPicker->setColour(disabledColor);
|
||||
}
|
||||
_pIconColorPicker->setEnabled(enable);
|
||||
_pIconColorPicker->redraw();
|
||||
}
|
||||
|
||||
UINT GeneralSubDlg::getToolbarIconSetMsg(int* idxIconSet)
|
||||
UINT ToolbarSubDlg::getToolbarIconSetMsg(int* iconSetID)
|
||||
{
|
||||
|
||||
const auto idx = std::min<int>(static_cast<int>(::SendDlgItemMessage(_hSelf, IDC_COMBO_TOOLBAR_ICON, CB_GETCURSEL, 0, 0)), TB_STANDARD);
|
||||
UINT msg = NPPM_INTERNAL_TOOLBARSTANDARD;
|
||||
switch (idx)
|
||||
bool isChecked = isCheckedOrNot(IDC_RADIO_STANDARD);
|
||||
if (isChecked)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
msg = NPPM_INTERNAL_TOOLBARREDUCE;
|
||||
break;
|
||||
if (iconSetID)
|
||||
*iconSetID = IDC_RADIO_STANDARD;
|
||||
return NPPM_INTERNAL_TOOLBARSTANDARD;
|
||||
}
|
||||
|
||||
case 1:
|
||||
isChecked = isCheckedOrNot(IDC_RADIO_SMALLICON);
|
||||
if (isChecked)
|
||||
{
|
||||
msg = NPPM_INTERNAL_TOOLBARENLARGE;
|
||||
break;
|
||||
if (iconSetID)
|
||||
*iconSetID = IDC_RADIO_SMALLICON;
|
||||
return NPPM_INTERNAL_TOOLBARREDUCE;
|
||||
}
|
||||
|
||||
case 2:
|
||||
isChecked = isCheckedOrNot(IDC_RADIO_BIGICON);
|
||||
if (isChecked)
|
||||
{
|
||||
msg = NPPM_INTERNAL_TOOLBARREDUCESET2;
|
||||
break;
|
||||
if (iconSetID)
|
||||
*iconSetID = IDC_RADIO_BIGICON;
|
||||
return NPPM_INTERNAL_TOOLBARENLARGE;
|
||||
}
|
||||
|
||||
case 3:
|
||||
isChecked = isCheckedOrNot(IDC_RADIO_SMALLICON2);
|
||||
if (isChecked)
|
||||
{
|
||||
msg = NPPM_INTERNAL_TOOLBARENLARGESET2;
|
||||
break;
|
||||
if (iconSetID)
|
||||
*iconSetID = IDC_RADIO_SMALLICON2;
|
||||
return NPPM_INTERNAL_TOOLBARREDUCESET2;
|
||||
}
|
||||
|
||||
case 4:
|
||||
default:
|
||||
isChecked = isCheckedOrNot(IDC_RADIO_BIGICON2);
|
||||
if (isChecked)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (iconSetID)
|
||||
*iconSetID = IDC_RADIO_BIGICON2;
|
||||
return NPPM_INTERNAL_TOOLBARENLARGESET2;
|
||||
}
|
||||
|
||||
if (idxIconSet != nullptr)
|
||||
{
|
||||
*idxIconSet = idx;
|
||||
}
|
||||
|
||||
return msg;
|
||||
return NPPM_INTERNAL_TOOLBARSTANDARD;
|
||||
}
|
||||
|
||||
void GeneralSubDlg::move2CtrlLeft(int ctrlID, HWND handle2Move, int handle2MoveWidth, int handle2MoveHeight)
|
||||
void ToolbarSubDlg::move2CtrlLeft(int ctrlID, HWND handle2Move, int handle2MoveWidth, int handle2MoveHeight)
|
||||
{
|
||||
POINT p{};
|
||||
RECT rc{};
|
||||
@ -588,7 +595,7 @@ void GeneralSubDlg::move2CtrlLeft(int ctrlID, HWND handle2Move, int handle2MoveW
|
||||
::MoveWindow(handle2Move, p.x, p.y, handle2MoveWidth, handle2MoveHeight, TRUE);
|
||||
}
|
||||
|
||||
intptr_t CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
||||
intptr_t CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM /*lParam*/)
|
||||
{
|
||||
NppParameters& nppParam = NppParameters::getInstance();
|
||||
NppGUI& nppGUI = nppParam.getNppGUI();
|
||||
@ -597,96 +604,10 @@ intptr_t CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
toolBarStatusType tbStatus = nppGUI._toolBarStatus;
|
||||
auto& nppGUITbInfo = nppGUI._tbIconInfo;
|
||||
const auto fluentColor = static_cast<int>(nppGUITbInfo._tbColor);
|
||||
int tabBarStatus = nppGUI._tabStatus;
|
||||
bool showTool = nppGUI._toolbarShow;
|
||||
bool showStatus = nppGUI._statusBarShow;
|
||||
bool showMenu = nppGUI._menuBarShow;
|
||||
bool hideRightShortcutsFromMenu = nppGUI._hideMenuRightShortcuts;
|
||||
|
||||
auto addComboItem = [&](int comboBoxId, const wchar_t* itemText) -> void
|
||||
{
|
||||
::SendDlgItemMessage(_hSelf, comboBoxId, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(itemText));
|
||||
};
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDE, BM_SETCHECK, showTool ? BST_UNCHECKED:BST_CHECKED, 0);
|
||||
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON, L"Fluent UI: small");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON, L"Fluent UI: large");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON, L"Filled Fluent UI: small");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON, L"Filled Fluent UI: large");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON, L"Standard icons: small");
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_COMBO_TOOLBAR_ICON, CB_SETCURSEL, tbStatus, 0);
|
||||
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Default color");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Accent");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Red");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Green");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Blue");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Purple");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Cyan");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Olive");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Yellow");
|
||||
addComboItem(IDC_COMBO_TOOLBAR_ICON_COLOR, L"Custom");
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_COMBO_TOOLBAR_ICON_COLOR, CB_SETCURSEL, fluentColor, 0);
|
||||
|
||||
setChecked(IDC_CHECK_TOOLBAR_ICON_MONO, nppGUITbInfo._tbUseMono);
|
||||
|
||||
const bool enable = tbStatus != TB_STANDARD;
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_COMBO_TOOLBAR_ICON_COLOR), enable ? TRUE : FALSE);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_TOOLBAR_ICON_MONO), enable ? TRUE : FALSE);
|
||||
|
||||
_dpiManager.setDpi(_hSelf);
|
||||
const int cpDynamicalSize = _dpiManager.scale(25);
|
||||
|
||||
_pIconColorPicker = new ColourPicker;
|
||||
_pIconColorPicker->init(_hInst, _hSelf);
|
||||
|
||||
move2CtrlLeft(IDC_STATIC, _pIconColorPicker->getHSelf(), cpDynamicalSize, cpDynamicalSize);
|
||||
|
||||
enableColorPicker(NppDarkMode::isEnabled(), enable);
|
||||
|
||||
_pIconColorPicker->display();
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_REDUCE, BM_SETCHECK, tabBarStatus & TAB_REDUCE, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_LOCK, BM_SETCHECK, !(tabBarStatus & TAB_DRAGNDROP), 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_ORANGE, BM_SETCHECK, tabBarStatus & TAB_DRAWTOPBAR, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_DRAWINACTIVE, BM_SETCHECK, tabBarStatus & TAB_DRAWINACTIVETAB, 0);
|
||||
|
||||
bool showCloseButton = tabBarStatus & TAB_CLOSEBUTTON;
|
||||
bool enablePinButton = tabBarStatus & TAB_PINBUTTON;
|
||||
bool showOnlyPinnedButton = tabBarStatus & TAB_SHOWONLYPINNEDBUTTON;
|
||||
bool showButtonOnInactiveTabs = tabBarStatus & TAB_INACTIVETABSHOWBUTTON;
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLETABCLOSE, BM_SETCHECK, showCloseButton, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLETABPIN, BM_SETCHECK, enablePinButton, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_SHOWONLYPINNEDBUTTON, BM_SETCHECK, showOnlyPinnedButton, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_INACTTABDRAWBUTTON, BM_SETCHECK, showButtonOnInactiveTabs, 0);
|
||||
|
||||
if (!(showCloseButton || enablePinButton))
|
||||
{
|
||||
nppGUI._tabStatus &= ~TAB_INACTIVETABSHOWBUTTON;
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_INACTTABDRAWBUTTON, BM_SETCHECK, FALSE, 0);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_INACTTABDRAWBUTTON), FALSE);
|
||||
}
|
||||
|
||||
if (!enablePinButton)
|
||||
{
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_SHOWONLYPINNEDBUTTON), FALSE);
|
||||
}
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_DBCLICK2CLOSE, BM_SETCHECK, tabBarStatus & TAB_DBCLK2CLOSE, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_VERTICAL, BM_SETCHECK, tabBarStatus & TAB_VERTICAL, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_MULTILINE, BM_SETCHECK, tabBarStatus & TAB_MULTILINE, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_LAST_EXIT, BM_SETCHECK, tabBarStatus & TAB_QUITONEMPTY, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_ALTICONS, BM_SETCHECK, tabBarStatus & TAB_ALTICONS, 0);
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_HIDE, BM_SETCHECK, tabBarStatus & TAB_HIDE, 0);
|
||||
::SendMessage(_hSelf, WM_COMMAND, IDC_CHECK_TAB_HIDE, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDESTATUSBAR, BM_SETCHECK, !showStatus, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDEMENUBAR, BM_SETCHECK, !showMenu, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDERIGHTSHORTCUTSOFMENUBAR, BM_SETCHECK, hideRightShortcutsFromMenu, 0);
|
||||
@ -724,14 +645,6 @@ intptr_t CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
int dlgCtrlID = ::GetDlgCtrlID(reinterpret_cast<HWND>(lParam));
|
||||
|
||||
// handle blurry text with disabled states for the affected static controls
|
||||
if (dlgCtrlID == IDC_STATIC_TOOLBAR_ICON_COLOR)
|
||||
{
|
||||
const bool isEnabled = ::IsWindowEnabled(::GetDlgItem(_hSelf, IDC_COMBO_TOOLBAR_ICON_COLOR));
|
||||
return NppDarkMode::onCtlColorDlgStaticText(reinterpret_cast<HDC>(wParam), isEnabled);
|
||||
}
|
||||
return NppDarkMode::onCtlColorDlg(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
@ -744,12 +657,6 @@ intptr_t CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_DESTROY:
|
||||
{
|
||||
_pIconColorPicker->destroy();
|
||||
delete _pIconColorPicker;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
@ -792,7 +699,502 @@ intptr_t CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case IDC_CHECK_TAB_HIDE :
|
||||
default:
|
||||
switch (HIWORD(wParam))
|
||||
{
|
||||
case CBN_SELCHANGE: // == case LBN_SELCHANGE :
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_COMBO_LOCALIZATION:
|
||||
{
|
||||
LocalizationSwitcher& localizationSwitcher = nppParam.getLocalizationSwitcher();
|
||||
auto index = ::SendDlgItemMessage(_hSelf, IDC_COMBO_LOCALIZATION, CB_GETCURSEL, 0, 0);
|
||||
wchar_t langName[MAX_PATH] = { '\0' };
|
||||
auto cbTextLen = ::SendDlgItemMessage(_hSelf, IDC_COMBO_LOCALIZATION, CB_GETLBTEXTLEN, index, 0);
|
||||
if (cbTextLen > MAX_PATH - 1)
|
||||
return TRUE;
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_COMBO_LOCALIZATION, CB_GETLBTEXT, index, reinterpret_cast<LPARAM>(langName));
|
||||
if (langName[0])
|
||||
{
|
||||
// Make English as basic language, but if we switch from another language to English, we can skip it
|
||||
if ((lstrcmpW(langName, L"English") != 0) && localizationSwitcher.switchToLang(L"English"))
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_RELOADNATIVELANG, FALSE, 0);
|
||||
}
|
||||
|
||||
// Change the language
|
||||
if (localizationSwitcher.switchToLang(langName))
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_RELOADNATIVELANG, TRUE, 0);
|
||||
::InvalidateRect(_hParent, NULL, TRUE);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
intptr_t CALLBACK ToolbarSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
NppParameters& nppParam = NppParameters::getInstance();
|
||||
NppGUI& nppGUI = nppParam.getNppGUI();
|
||||
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
toolBarStatusType toolbarStatus = nppGUI._toolBarStatus;
|
||||
auto& nppGUITbInfo = nppGUI._tbIconInfo;
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_HIDE, BM_SETCHECK, nppGUI._toolbarShow ? BST_UNCHECKED : BST_CHECKED, 0);
|
||||
|
||||
int ID2Check = 0;
|
||||
switch (nppGUITbInfo._tbIconSet)
|
||||
{
|
||||
case TB_SMALL:
|
||||
ID2Check = IDC_RADIO_SMALLICON;
|
||||
break;
|
||||
case TB_LARGE:
|
||||
ID2Check = IDC_RADIO_BIGICON;
|
||||
break;
|
||||
case TB_SMALL2:
|
||||
ID2Check = IDC_RADIO_SMALLICON2;
|
||||
break;
|
||||
case TB_LARGE2:
|
||||
ID2Check = IDC_RADIO_BIGICON2;
|
||||
break;
|
||||
case TB_STANDARD:
|
||||
default:
|
||||
ID2Check = IDC_RADIO_STANDARD;
|
||||
}
|
||||
::SendDlgItemMessage(_hSelf, ID2Check, BM_SETCHECK, BST_CHECKED, 0);
|
||||
|
||||
|
||||
|
||||
ID2Check = 0;
|
||||
switch (nppGUITbInfo._tbColor)
|
||||
{
|
||||
case NppDarkMode::FluentColor::custom:
|
||||
ID2Check = IDC_RADIO_CUSTOMCOLOR;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::accent:
|
||||
ID2Check = IDC_RADIO_ACCENTCOLOR;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::red:
|
||||
ID2Check = IDC_RADIO_RED;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::green:
|
||||
ID2Check = IDC_RADIO_GREEN;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::blue:
|
||||
ID2Check = IDC_RADIO_BLUE;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::purple:
|
||||
ID2Check = IDC_RADIO_PURPLE;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::cyan:
|
||||
ID2Check = IDC_RADIO_CYAN;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::olive:
|
||||
ID2Check = IDC_RADIO_OLIVE;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::yellow:
|
||||
ID2Check = IDC_RADIO_YELLOW;
|
||||
break;
|
||||
case NppDarkMode::FluentColor::defaultColor:
|
||||
default:
|
||||
ID2Check = IDC_RADIO_DEFAULTCOLOR;
|
||||
}
|
||||
::SendDlgItemMessage(_hSelf, ID2Check, BM_SETCHECK, BST_CHECKED, 0);
|
||||
|
||||
::SendDlgItemMessage(_hSelf, nppGUITbInfo._tbUseMono ? IDC_RADIO_COMPLETE : IDC_RADIO_PARTIAL, BM_SETCHECK, BST_CHECKED, 0);
|
||||
|
||||
_dpiManager.setDpi(_hSelf);
|
||||
const int cpDynamicalSize = _dpiManager.scale(25);
|
||||
|
||||
_pIconColorPicker = new ColourPicker;
|
||||
_pIconColorPicker->init(_hInst, _hSelf);
|
||||
move2CtrlLeft(IDC_STATIC, _pIconColorPicker->getHSelf(), cpDynamicalSize, cpDynamicalSize);
|
||||
_pIconColorPicker->display();
|
||||
_pIconColorPicker->setColour(nppGUI._tbIconInfo._tbCustomColor);
|
||||
|
||||
if (toolbarStatus == TB_STANDARD)
|
||||
{
|
||||
::SendMessage(_hSelf, NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE, 0, 0);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE:
|
||||
{
|
||||
bool enableColor = !isCheckedOrNot(IDC_RADIO_STANDARD);
|
||||
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_TOOLBAR_GB_COLORIZATION), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_COMPLETE), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_PARTIAL), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_TOOLBAR_GB_COLORCHOICE), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_RED), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_GREEN), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_BLUE), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_PURPLE), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_CYAN), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_OLIVE), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_YELLOW), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_DEFAULTCOLOR), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_ACCENTCOLOR), enableColor);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_RADIO_CUSTOMCOLOR), enableColor);
|
||||
|
||||
::EnableWindow(_pIconColorPicker->getHSelf(), enableColor);
|
||||
|
||||
if (enableColor)
|
||||
{
|
||||
_pIconColorPicker->setColour(nppGUI._tbIconInfo._tbCustomColor);
|
||||
_pIconColorPicker->redraw();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_CTLCOLORDLG:
|
||||
{
|
||||
return NppDarkMode::onCtlColorDlg(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
return NppDarkMode::onCtlColorDlg(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_PRINTCLIENT:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_DESTROY:
|
||||
{
|
||||
_pIconColorPicker->destroy();
|
||||
delete _pIconColorPicker;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch (wParam)
|
||||
{
|
||||
case IDC_CHECK_HIDE:
|
||||
{
|
||||
bool isChecked = isCheckedOrNot(IDC_CHECK_HIDE);
|
||||
::SendMessage(::GetParent(_hParent), NPPM_HIDETOOLBAR, 0, isChecked ? TRUE : FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_SMALLICON:
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_TOOLBARREDUCE, 0, 0);
|
||||
NppDarkMode::setToolbarIconSet(0, NppDarkMode::isEnabled());
|
||||
::SendMessage(_hSelf, NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE, 0, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_BIGICON:
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_TOOLBARENLARGE, 0, 0);
|
||||
NppDarkMode::setToolbarIconSet(1, NppDarkMode::isEnabled());
|
||||
::SendMessage(_hSelf, NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE, 0, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_SMALLICON2:
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_TOOLBARREDUCESET2, 0, 0);
|
||||
NppDarkMode::setToolbarIconSet(2, NppDarkMode::isEnabled());
|
||||
::SendMessage(_hSelf, NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE, 0, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_BIGICON2:
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_TOOLBARENLARGESET2, 0, 0);
|
||||
NppDarkMode::setToolbarIconSet(3, NppDarkMode::isEnabled());
|
||||
::SendMessage(_hSelf, NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE, 0, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_STANDARD:
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_TOOLBARSTANDARD, 0, 0);
|
||||
NppDarkMode::setToolbarIconSet(4, NppDarkMode::isEnabled());
|
||||
::SendMessage(_hSelf, NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE, 0, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_CUSTOMCOLOR:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::custom;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_ACCENTCOLOR:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::accent;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_RED:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::red;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_GREEN:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::green;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_BLUE:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::blue;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_PURPLE:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::purple;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_CYAN:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::cyan;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_OLIVE:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::olive;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_YELLOW:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::yellow;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_DEFAULTCOLOR:
|
||||
{
|
||||
NppDarkMode::FluentColor c = NppDarkMode::FluentColor::defaultColor;
|
||||
NppDarkMode::setToolbarFluentColor(c);
|
||||
nppGUI._tbIconInfo._tbColor = c;
|
||||
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
case IDC_RADIO_COMPLETE:
|
||||
{
|
||||
NppDarkMode::setToolbarFluentMonochrome(true);
|
||||
nppGUI._tbIconInfo._tbUseMono = true;
|
||||
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_RADIO_PARTIAL:
|
||||
{
|
||||
NppDarkMode::setToolbarFluentMonochrome(false);
|
||||
nppGUI._tbIconInfo._tbUseMono = false;
|
||||
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
default:
|
||||
{
|
||||
switch (HIWORD(wParam))
|
||||
{
|
||||
case CPN_COLOURCLICKED:
|
||||
{
|
||||
setChecked(IDC_RADIO_CUSTOMCOLOR, true);
|
||||
setChecked(IDC_RADIO_RED, false);
|
||||
setChecked(IDC_RADIO_GREEN, false);
|
||||
setChecked(IDC_RADIO_BLUE, false);
|
||||
setChecked(IDC_RADIO_PURPLE, false);
|
||||
setChecked(IDC_RADIO_CYAN, false);
|
||||
setChecked(IDC_RADIO_OLIVE, false);
|
||||
setChecked(IDC_RADIO_YELLOW, false);
|
||||
setChecked(IDC_RADIO_ACCENTCOLOR, false);
|
||||
setChecked(IDC_RADIO_DEFAULTCOLOR, false);
|
||||
|
||||
NppDarkMode::FluentColor colorType = NppDarkMode::FluentColor::custom;
|
||||
NppDarkMode::setToolbarFluentColor(colorType);
|
||||
nppGUI._tbIconInfo._tbColor = colorType;
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case CPN_COLOURPICKED:
|
||||
{
|
||||
if (reinterpret_cast<HWND>(lParam) == _pIconColorPicker->getHSelf())
|
||||
{
|
||||
NppDarkMode::FluentColor colorType = NppDarkMode::FluentColor::custom;
|
||||
NppDarkMode::setToolbarFluentColor(colorType);
|
||||
nppGUI._tbIconInfo._tbColor = colorType;
|
||||
|
||||
COLORREF c = _pIconColorPicker->getColour();
|
||||
nppGUI._tbIconInfo._tbCustomColor = c;
|
||||
NppDarkMode::setToolbarFluentCustomColor(c);
|
||||
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
intptr_t CALLBACK TabbarSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM /*lParam*/)
|
||||
{
|
||||
NppParameters& nppParam = NppParameters::getInstance();
|
||||
NppGUI& nppGUI = nppParam.getNppGUI();
|
||||
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
int tabBarStatus = nppGUI._tabStatus;
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_REDUCE, BM_SETCHECK, tabBarStatus & TAB_REDUCE, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_LOCK, BM_SETCHECK, !(tabBarStatus & TAB_DRAGNDROP), 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_ORANGE, BM_SETCHECK, tabBarStatus & TAB_DRAWTOPBAR, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_DRAWINACTIVE, BM_SETCHECK, tabBarStatus & TAB_DRAWINACTIVETAB, 0);
|
||||
|
||||
bool showCloseButton = tabBarStatus & TAB_CLOSEBUTTON;
|
||||
bool enablePinButton = tabBarStatus & TAB_PINBUTTON;
|
||||
bool showOnlyPinnedButton = tabBarStatus & TAB_SHOWONLYPINNEDBUTTON;
|
||||
bool showButtonOnInactiveTabs = tabBarStatus & TAB_INACTIVETABSHOWBUTTON;
|
||||
bool hideTabbar = tabBarStatus & TAB_HIDE;
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLETABCLOSE, BM_SETCHECK, showCloseButton, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_ENABLETABPIN, BM_SETCHECK, enablePinButton, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_SHOWONLYPINNEDBUTTON, BM_SETCHECK, showOnlyPinnedButton, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_INACTTABDRAWBUTTON, BM_SETCHECK, showButtonOnInactiveTabs, 0);
|
||||
|
||||
if (!(showCloseButton || enablePinButton))
|
||||
{
|
||||
nppGUI._tabStatus &= ~TAB_INACTIVETABSHOWBUTTON;
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_INACTTABDRAWBUTTON, BM_SETCHECK, FALSE, 0);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_INACTTABDRAWBUTTON), FALSE);
|
||||
}
|
||||
|
||||
if (!enablePinButton)
|
||||
{
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_SHOWONLYPINNEDBUTTON), FALSE);
|
||||
}
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_DBCLICK2CLOSE, BM_SETCHECK, tabBarStatus & TAB_DBCLK2CLOSE, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_VERTICAL, BM_SETCHECK, tabBarStatus & TAB_VERTICAL, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_MULTILINE, BM_SETCHECK, tabBarStatus & TAB_MULTILINE, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_LAST_EXIT, BM_SETCHECK, tabBarStatus & TAB_QUITONEMPTY, 0);
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_ALTICONS, BM_SETCHECK, tabBarStatus & TAB_ALTICONS, 0);
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_CHECK_TAB_HIDE, BM_SETCHECK, tabBarStatus & TAB_HIDE, 0);
|
||||
if (hideTabbar)
|
||||
::SendMessage(_hSelf, WM_COMMAND, IDC_CHECK_TAB_HIDE, 0);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case WM_CTLCOLORDLG:
|
||||
{
|
||||
return NppDarkMode::onCtlColorDlg(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_CTLCOLORSTATIC:
|
||||
{
|
||||
return NppDarkMode::onCtlColorDlg(reinterpret_cast<HDC>(wParam));
|
||||
}
|
||||
|
||||
case WM_PRINTCLIENT:
|
||||
{
|
||||
if (NppDarkMode::isEnabled())
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch (wParam)
|
||||
{
|
||||
case IDC_CHECK_TAB_HIDE:
|
||||
{
|
||||
bool toBeHidden = isCheckedOrNot(IDC_CHECK_TAB_HIDE);
|
||||
if (toBeHidden)
|
||||
@ -989,112 +1391,6 @@ intptr_t CALLBACK GeneralSubDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
||||
nppGUI._tabStatus &= ~TAB_DBCLK2CLOSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_CHECK_HIDE:
|
||||
{
|
||||
bool isChecked = isCheckedOrNot(IDC_CHECK_HIDE);
|
||||
::SendMessage(::GetParent(_hParent), NPPM_HIDETOOLBAR, 0, isChecked?TRUE:FALSE);
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case IDC_CHECK_TOOLBAR_ICON_MONO:
|
||||
{
|
||||
const bool isChecked = isCheckedOrNot(IDC_CHECK_TOOLBAR_ICON_MONO);
|
||||
NppDarkMode::setToolbarFluentMonochrome(isChecked);
|
||||
nppGUI._tbIconInfo._tbUseMono = isChecked;
|
||||
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
default:
|
||||
switch (HIWORD(wParam))
|
||||
{
|
||||
case CPN_COLOURPICKED:
|
||||
{
|
||||
if (reinterpret_cast<HWND>(lParam) == _pIconColorPicker->getHSelf())
|
||||
{
|
||||
COLORREF c = _pIconColorPicker->getColour();
|
||||
nppGUI._tbIconInfo._tbCustomColor = c;
|
||||
NppDarkMode::setToolbarFluentCustomColor(c);
|
||||
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case CBN_SELCHANGE : // == case LBN_SELCHANGE :
|
||||
{
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_COMBO_LOCALIZATION:
|
||||
{
|
||||
LocalizationSwitcher & localizationSwitcher = nppParam.getLocalizationSwitcher();
|
||||
auto index = ::SendDlgItemMessage(_hSelf, IDC_COMBO_LOCALIZATION, CB_GETCURSEL, 0, 0);
|
||||
wchar_t langName[MAX_PATH] = { '\0' };
|
||||
auto cbTextLen = ::SendDlgItemMessage(_hSelf, IDC_COMBO_LOCALIZATION, CB_GETLBTEXTLEN, index, 0);
|
||||
if (cbTextLen > MAX_PATH - 1)
|
||||
return TRUE;
|
||||
|
||||
::SendDlgItemMessage(_hSelf, IDC_COMBO_LOCALIZATION, CB_GETLBTEXT, index, reinterpret_cast<LPARAM>(langName));
|
||||
if (langName[0])
|
||||
{
|
||||
// Make English as basic language, but if we switch from another language to English, we can skip it
|
||||
if ((lstrcmpW(langName, L"English") != 0) && localizationSwitcher.switchToLang(L"English"))
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_RELOADNATIVELANG, FALSE, 0);
|
||||
}
|
||||
|
||||
// Change the language
|
||||
if (localizationSwitcher.switchToLang(langName))
|
||||
{
|
||||
::SendMessage(::GetParent(_hParent), NPPM_INTERNAL_RELOADNATIVELANG, TRUE, 0);
|
||||
::InvalidateRect(_hParent, NULL, TRUE);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_COMBO_TOOLBAR_ICON:
|
||||
{
|
||||
int idxIconSet = 0;
|
||||
UINT msg = getToolbarIconSetMsg(&idxIconSet);
|
||||
::SendMessage(::GetParent(_hParent), msg, 0, 0);
|
||||
NppDarkMode::setToolbarIconSet(idxIconSet, NppDarkMode::isEnabled());
|
||||
|
||||
const bool enable = idxIconSet != TB_STANDARD;
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_COMBO_TOOLBAR_ICON_COLOR), enable ? TRUE : FALSE);
|
||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_CHECK_TOOLBAR_ICON_MONO), enable ? TRUE : FALSE);
|
||||
redrawDlgItem(IDC_STATIC_TOOLBAR_ICON_COLOR);
|
||||
|
||||
enableColorPicker(NppDarkMode::isEnabled(), enable);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
case IDC_COMBO_TOOLBAR_ICON_COLOR:
|
||||
{
|
||||
const auto boundMax = static_cast<int>(NppDarkMode::FluentColor::maxValue) - 1;
|
||||
auto idxFluentColor = static_cast<NppDarkMode::FluentColor>(::SendDlgItemMessage(_hSelf, IDC_COMBO_TOOLBAR_ICON_COLOR, CB_GETCURSEL, 0, 0));
|
||||
idxFluentColor = static_cast<NppDarkMode::FluentColor>(std::min<int>(static_cast<int>(idxFluentColor), boundMax));
|
||||
NppDarkMode::setToolbarFluentColor(idxFluentColor);
|
||||
nppGUI._tbIconInfo._tbColor = idxFluentColor;
|
||||
|
||||
enableColorPicker(NppDarkMode::isEnabled());
|
||||
|
||||
UINT msg = getToolbarIconSetMsg(nullptr);
|
||||
::SendMessage(::GetParent(_hParent), msg, TRUE, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -45,16 +45,33 @@ class GeneralSubDlg : public StaticDialog
|
||||
{
|
||||
public :
|
||||
GeneralSubDlg() = default;
|
||||
void setTabbarAlternateIcons(bool enable = false);
|
||||
void enableColorPicker(bool useDark, bool doEnable = true);
|
||||
|
||||
private :
|
||||
intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
|
||||
};
|
||||
|
||||
class ToolbarSubDlg : public StaticDialog
|
||||
{
|
||||
public:
|
||||
ToolbarSubDlg() = default;
|
||||
|
||||
private:
|
||||
intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
|
||||
UINT getToolbarIconSetMsg(int* idxIconSet);
|
||||
void move2CtrlLeft(int ctrlID, HWND handle2Move, int handle2MoveWidth, int handle2MoveHeight);
|
||||
ColourPicker* _pIconColorPicker = nullptr;
|
||||
};
|
||||
|
||||
class TabbarSubDlg : public StaticDialog
|
||||
{
|
||||
public:
|
||||
TabbarSubDlg() = default;
|
||||
void setTabbarAlternateIcons(bool enable = false);
|
||||
|
||||
private:
|
||||
intptr_t CALLBACK run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam) override;
|
||||
};
|
||||
|
||||
class EditingSubDlg : public StaticDialog
|
||||
{
|
||||
friend class PreferenceDlg;
|
||||
@ -390,6 +407,8 @@ private :
|
||||
void showDialogByIndex(size_t index) const;
|
||||
WindowVector _wVector;
|
||||
GeneralSubDlg _generalSubDlg;
|
||||
ToolbarSubDlg _toolbarSubDlg;
|
||||
TabbarSubDlg _tabbarSubDlg;
|
||||
EditingSubDlg _editingSubDlg;
|
||||
Editing2SubDlg _editing2SubDlg;
|
||||
DarkModeSubDlg _darkModeSubDlg;
|
||||
|
@ -21,12 +21,30 @@
|
||||
#define IDC_BUTTON_CLOSE (IDD_PREFERENCE_BOX + 1)
|
||||
#define IDC_LIST_DLGTITLE (IDD_PREFERENCE_BOX + 2)
|
||||
|
||||
#define IDD_PREFERENCE_SUB_TOOLBAR 6010 //(IDD_PREFERENCE_BOX + 10)
|
||||
#define IDC_TOOLBAR_GB_COLORIZATION (IDD_PREFERENCE_SUB_TOOLBAR + 1)
|
||||
#define IDC_RADIO_COMPLETE (IDD_PREFERENCE_SUB_TOOLBAR + 2)
|
||||
#define IDC_RADIO_PARTIAL (IDD_PREFERENCE_SUB_TOOLBAR + 3)
|
||||
#define IDC_TOOLBAR_GB_COLORCHOICE (IDD_PREFERENCE_SUB_TOOLBAR + 4)
|
||||
#define IDC_RADIO_RED (IDD_PREFERENCE_SUB_TOOLBAR + 5)
|
||||
#define IDC_RADIO_GREEN (IDD_PREFERENCE_SUB_TOOLBAR + 6)
|
||||
#define IDC_RADIO_BLUE (IDD_PREFERENCE_SUB_TOOLBAR + 7)
|
||||
#define IDC_RADIO_PURPLE (IDD_PREFERENCE_SUB_TOOLBAR + 8)
|
||||
#define IDC_RADIO_CYAN (IDD_PREFERENCE_SUB_TOOLBAR + 9)
|
||||
#define IDC_RADIO_OLIVE (IDD_PREFERENCE_SUB_TOOLBAR + 10)
|
||||
#define IDC_RADIO_YELLOW (IDD_PREFERENCE_SUB_TOOLBAR + 11)
|
||||
#define IDC_RADIO_DEFAULTCOLOR (IDD_PREFERENCE_SUB_TOOLBAR + 12)
|
||||
#define IDC_RADIO_ACCENTCOLOR (IDD_PREFERENCE_SUB_TOOLBAR + 13)
|
||||
#define IDC_RADIO_CUSTOMCOLOR (IDD_PREFERENCE_SUB_TOOLBAR + 14)
|
||||
|
||||
#define IDD_PREFERENCE_SUB_TABBAR 6040 //(IDD_PREFERENCE_BOX + 40)
|
||||
|
||||
#define IDD_PREFERENCE_SUB_GENRAL 6100 //(IDD_PREFERENCE_BOX + 100)
|
||||
#define IDC_TOOLBAR_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 1)
|
||||
#define IDC_CHECK_HIDE (IDD_PREFERENCE_SUB_GENRAL + 2)
|
||||
//#define IDC_RADIO_SMALLICON (IDD_PREFERENCE_SUB_GENRAL + 3)
|
||||
//#define IDC_RADIO_BIGICON (IDD_PREFERENCE_SUB_GENRAL + 4)
|
||||
//#define IDC_RADIO_STANDARD (IDD_PREFERENCE_SUB_GENRAL + 5)
|
||||
#define IDC_RADIO_SMALLICON (IDD_PREFERENCE_SUB_GENRAL + 3)
|
||||
#define IDC_RADIO_BIGICON (IDD_PREFERENCE_SUB_GENRAL + 4)
|
||||
#define IDC_RADIO_STANDARD (IDD_PREFERENCE_SUB_GENRAL + 5)
|
||||
|
||||
#define IDC_TABBAR_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 6)
|
||||
#define IDC_CHECK_REDUCE (IDD_PREFERENCE_SUB_GENRAL + 7)
|
||||
@ -48,17 +66,13 @@
|
||||
#define IDC_LOCALIZATION_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 23)
|
||||
#define IDC_COMBO_LOCALIZATION (IDD_PREFERENCE_SUB_GENRAL + 24)
|
||||
#define IDC_CHECK_TAB_ALTICONS (IDD_PREFERENCE_SUB_GENRAL + 28)
|
||||
//#define IDC_RADIO_SMALLICON2 (IDD_PREFERENCE_SUB_GENRAL + 29)
|
||||
//#define IDC_RADIO_BIGICON2 (IDD_PREFERENCE_SUB_GENRAL + 30)
|
||||
#define IDC_RADIO_SMALLICON2 (IDD_PREFERENCE_SUB_GENRAL + 29)
|
||||
#define IDC_RADIO_BIGICON2 (IDD_PREFERENCE_SUB_GENRAL + 30)
|
||||
#define IDC_MENU_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 31)
|
||||
#define IDC_CHECK_HIDERIGHTSHORTCUTSOFMENUBAR (IDD_PREFERENCE_SUB_GENRAL + 32)
|
||||
#define IDC_STATUSBAR_GB_STATIC (IDD_PREFERENCE_SUB_GENRAL + 33)
|
||||
#define IDC_CHECK_HIDESTATUSBAR (IDD_PREFERENCE_SUB_GENRAL + 34)
|
||||
#define IDC_CHECK_SHOWONLYPINNEDBUTTON (IDD_PREFERENCE_SUB_GENRAL + 35)
|
||||
#define IDC_COMBO_TOOLBAR_ICON (IDD_PREFERENCE_SUB_GENRAL + 36)
|
||||
#define IDC_STATIC_TOOLBAR_ICON_COLOR (IDD_PREFERENCE_SUB_GENRAL + 37)
|
||||
#define IDC_COMBO_TOOLBAR_ICON_COLOR (IDD_PREFERENCE_SUB_GENRAL + 38)
|
||||
#define IDC_CHECK_TOOLBAR_ICON_MONO (IDD_PREFERENCE_SUB_GENRAL + 39)
|
||||
|
||||
#define IDD_PREFERENCE_SUB_MULTIINSTANCE 6150 //(IDD_PREFERENCE_BOX + 150)
|
||||
#define IDC_MULTIINST_GB_STATIC (IDD_PREFERENCE_SUB_MULTIINSTANCE + 1)
|
||||
@ -180,7 +194,7 @@
|
||||
#define IDD_STATIC_BLABLA (IDD_PREFERENCE_SUB_DELIMITER + 7)
|
||||
#define IDD_STATIC_BLABLA2NDLINE (IDD_PREFERENCE_SUB_DELIMITER + 8)
|
||||
|
||||
#define IDD_PREFERENCE_SUB_CLOUD_LINK 6260 //(IDD_PREFERENCE_BOX + 250)
|
||||
#define IDD_PREFERENCE_SUB_CLOUD_LINK 6260 //(IDD_PREFERENCE_BOX + 260)
|
||||
#define IDC_SETTINGSONCLOUD_WARNING_STATIC (IDD_PREFERENCE_SUB_CLOUD_LINK + 1)
|
||||
#define IDC_SETTINGSONCLOUD_GB_STATIC (IDD_PREFERENCE_SUB_CLOUD_LINK + 2)
|
||||
#define IDC_NOCLOUD_RADIO (IDD_PREFERENCE_SUB_CLOUD_LINK + 3)
|
||||
|
@ -1022,6 +1022,20 @@ void NativeLangSpeaker::changePrefereceDlgLang(PreferenceDlg & preference)
|
||||
preference.renameDialogTitle(L"Global", nameW);
|
||||
}
|
||||
|
||||
changeDlgLang(preference._toolbarSubDlg.getHSelf(), "Toolbar", titre, titreMaxSize);
|
||||
if (titre[0] != '\0')
|
||||
{
|
||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||
preference.renameDialogTitle(L"Toolbar", nameW);
|
||||
}
|
||||
|
||||
changeDlgLang(preference._tabbarSubDlg.getHSelf(), "Tabbar", titre, titreMaxSize);
|
||||
if (titre[0] != '\0')
|
||||
{
|
||||
const wchar_t *nameW = wmc.char2wchar(titre, _nativeLangEncoding);
|
||||
preference.renameDialogTitle(L"Tabbar", nameW);
|
||||
}
|
||||
|
||||
changeDlgLang(preference._editingSubDlg.getHSelf(), "Scintillas", titre, titreMaxSize);
|
||||
if (titre[0] != '\0')
|
||||
{
|
||||
|
@ -746,7 +746,7 @@
|
||||
#define NPPM_INTERNAL_LWINDENT (NOTEPADPLUS_USER_INTERNAL + 105)
|
||||
#define NPPM_INTERNAL_CHECKDOCSTATUS (NOTEPADPLUS_USER_INTERNAL + 106)
|
||||
#define NPPM_INTERNAL_HIDEMENURIGHTSHORTCUTS (NOTEPADPLUS_USER_INTERNAL + 107)
|
||||
//#define NPPM_INTERNAL_ (NOTEPADPLUS_USER_INTERNAL + 108)
|
||||
#define NPPM_INTERNAL_CHANGETOOLBARCOLORABLESTATE (NOTEPADPLUS_USER_INTERNAL + 108)
|
||||
#define NPPM_INTERNAL_SQLBACKSLASHESCAPE (NOTEPADPLUS_USER_INTERNAL + 109)
|
||||
|
||||
// See Notepad_plus_msgs.h
|
||||
|
Loading…
x
Reference in New Issue
Block a user