diff --git a/PowerEditor/src/Parameters.cpp b/PowerEditor/src/Parameters.cpp index a805660d5..3266870a4 100644 --- a/PowerEditor/src/Parameters.cpp +++ b/PowerEditor/src/Parameters.cpp @@ -1440,18 +1440,17 @@ bool NppParameters::load() delete _pXmlExternalLexerDoc[i]; } - //------------------------------// - // blacklist.xml : for per user // - //------------------------------// - _blacklistPath = _userPath; - PathAppend(_blacklistPath, TEXT("blacklist.xml")); + //-------------------------------------------------------------// + // enableSelectFgColor.xml : for per user // + // This empty xmj file is optional - user adds this empty file // + // manually in order to set selected text's foreground color. // + //-------------------------------------------------------------// + generic_string enableSelectFgColorPath = _userPath; + PathAppend(enableSelectFgColorPath, TEXT("enableSelectFgColor.xml")); - if (PathFileExists(_blacklistPath.c_str())) + if (PathFileExists(enableSelectFgColorPath.c_str())) { - _pXmlBlacklistDoc = new TiXmlDocument(_blacklistPath); - loadOkay = _pXmlBlacklistDoc->LoadFile(); - if (loadOkay) - getBlackListFromXmlTree(); + _isSelectFgColorEnabled = true; } return isAllLaoded; } diff --git a/PowerEditor/src/Parameters.h b/PowerEditor/src/Parameters.h index 3f2969443..1eecfb7d9 100644 --- a/PowerEditor/src/Parameters.h +++ b/PowerEditor/src/Parameters.h @@ -1810,6 +1810,7 @@ public: void setAdminMode(bool isAdmin) { _isAdminMode = isAdmin; } bool isAdmin() const { return _isAdminMode; } bool regexBackward4PowerUser() const { return _findHistory._regexBackward4PowerUser; } + bool isSelectFgColorEnabled() const { return _isSelectFgColorEnabled; }; private: bool _isAnyShortcutModified = false; @@ -1837,7 +1838,6 @@ private: generic_string _shortcutsPath; generic_string _contextMenuPath; generic_string _sessionPath; - generic_string _blacklistPath; generic_string _nppPath; generic_string _userPath; generic_string _stylerPath; @@ -1873,6 +1873,8 @@ private: bool _isElevationRequired = false; bool _isAdminMode = false; + bool _isSelectFgColorEnabled = false; + public: generic_string getWingupFullPath() const { return _wingupFullPath; }; generic_string getWingupParams() const { return _wingupParams; }; diff --git a/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp b/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp index 746fcacc9..b89b375a8 100644 --- a/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp +++ b/PowerEditor/src/ScintillaComponent/ScintillaEditView.cpp @@ -2557,7 +2557,8 @@ void ScintillaEditView::expand(size_t& line, bool doExpand, bool force, int visL void ScintillaEditView::performGlobalStyles() { - StyleArray & stylers = NppParameters::getInstance().getMiscStylerArray(); + NppParameters& nppParams = NppParameters::getInstance(); + StyleArray & stylers = nppParams.getMiscStylerArray(); int i = stylers.getStylerIndexByName(TEXT("Current line background colour")); if (i != -1) @@ -2576,7 +2577,9 @@ void ScintillaEditView::performGlobalStyles() selectColorFore = style._fgColor; } execute(SCI_SETSELBACK, 1, selectColorBack); - execute(SCI_SETSELFORE, 1, selectColorFore); + + if (nppParams.isSelectFgColorEnabled()) + execute(SCI_SETSELFORE, 1, selectColorFore); COLORREF caretColor = black; i = stylers.getStylerIndexByID(SCI_SETCARETFORE); @@ -2640,7 +2643,7 @@ void ScintillaEditView::performGlobalStyles() COLORREF foldfgColor = white, foldbgColor = grey, activeFoldFgColor = red; getFoldColor(foldfgColor, foldbgColor, activeFoldFgColor); - ScintillaViewParams & svp = (ScintillaViewParams &)NppParameters::getInstance().getSVP(); + ScintillaViewParams & svp = (ScintillaViewParams &)nppParams.getSVP(); for (int j = 0 ; j < NB_FOLDER_STATE ; ++j) defineMarker(_markersArray[FOLDER_TYPE][j], _markersArray[svp._folderStyle][j], foldfgColor, foldbgColor, activeFoldFgColor); diff --git a/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.cpp b/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.cpp index 88fb5adaa..07d2e220a 100644 --- a/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.cpp +++ b/PowerEditor/src/WinControls/ColourPicker/WordStyleDlg.cpp @@ -751,6 +751,15 @@ void WordStyleDlg::setVisualFromStyleList() _pFgColour->setEnabled((style._colorStyle & COLORSTYLE_FOREGROUND) != 0); isEnable = true; } + + // Selected text colour style + if (style._styleDesc && lstrcmp(style._styleDesc, TEXT("Selected text colour")) == 0) + { + isEnable = false; // disable by default for "Selected text colour" style + + if (NppParameters::getInstance().isSelectFgColorEnabled()) + isEnable = true; + } enableFg(isEnable); isEnable = false;