[BUG_FIXED] Changing global stylers now affects the Finder window.
[BUG_FIXED] Changing current line background color of the search result styler now affects the Finder window. [UPDATE] Some other updates regarding the finder styles. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@427 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
e1c1a64b1f
commit
4e74b2dff4
@ -8212,6 +8212,7 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
_subEditView.defineDocType(_subEditView.getCurrentBuffer()->getLangType());
|
_subEditView.defineDocType(_subEditView.getCurrentBuffer()->getLangType());
|
||||||
_mainEditView.performGlobalStyles();
|
_mainEditView.performGlobalStyles();
|
||||||
_subEditView.performGlobalStyles();
|
_subEditView.performGlobalStyles();
|
||||||
|
_findReplaceDlg.updateFinderScintilla();
|
||||||
|
|
||||||
drawTabbarColoursFromStylerArray();
|
drawTabbarColoursFromStylerArray();
|
||||||
|
|
||||||
@ -8224,12 +8225,6 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WM_UPDATEFINDERSCINTILLA :
|
|
||||||
{
|
|
||||||
_findReplaceDlg.updateFinderScintilla();
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
case WM_QUERYENDSESSION:
|
case WM_QUERYENDSESSION:
|
||||||
case WM_CLOSE:
|
case WM_CLOSE:
|
||||||
{
|
{
|
||||||
|
@ -461,7 +461,7 @@ void Finder::DeleteResult()
|
|||||||
int end = _scintView.execute(SCI_GETLINEENDPOSITION, lno);
|
int end = _scintView.execute(SCI_GETLINEENDPOSITION, lno);
|
||||||
if (start + 2 >= end) return; // avoid empty lines
|
if (start + 2 >= end) return; // avoid empty lines
|
||||||
|
|
||||||
setFinderStyle(); // Restore searchResult lexer in case the lexer was changed to SCLEX_NULL in GotoFoundLine()
|
_scintView.setLexer(SCLEX_SEARCHRESULT, L_SEARCHRESULT, 0); // Restore searchResult lexer in case the lexer was changed to SCLEX_NULL in GotoFoundLine()
|
||||||
|
|
||||||
if (_scintView.execute(SCI_GETFOLDLEVEL, lno) & SC_FOLDLEVELHEADERFLAG) // delete a folder
|
if (_scintView.execute(SCI_GETFOLDLEVEL, lno) & SC_FOLDLEVELHEADERFLAG) // delete a folder
|
||||||
{
|
{
|
||||||
@ -1458,21 +1458,6 @@ void FindReplaceDlg::findAllIn(InWhat op)
|
|||||||
// Subclass the ScintillaEditView for the Finder (Scintilla doesn't notify all key presses)
|
// Subclass the ScintillaEditView for the Finder (Scintilla doesn't notify all key presses)
|
||||||
originalFinderProc = SetWindowLong( _pFinder->_scintView.getHSelf(), GWL_WNDPROC, (LONG) finderProc);
|
originalFinderProc = SetWindowLong( _pFinder->_scintView.getHSelf(), GWL_WNDPROC, (LONG) finderProc);
|
||||||
|
|
||||||
|
|
||||||
//_pFinder->_scintView.performGlobalStyles(); // yniq - needed?
|
|
||||||
// Set current line background color for the finder
|
|
||||||
TCHAR* lang = TEXT("searchResult");
|
|
||||||
NppParameters *_pParameter = NppParameters::getInstance();
|
|
||||||
LexerStylerArray & stylers = _pParameter->getLStylerArray();
|
|
||||||
LexerStyler *pStyler = stylers.getLexerStylerByName(lang);
|
|
||||||
int i = pStyler->getStylerIndexByID(SCE_SEARCHRESULT_CURRENT_LINE);
|
|
||||||
if (i != -1)
|
|
||||||
{
|
|
||||||
Style & style = pStyler->getStyler(i);
|
|
||||||
_pFinder->_scintView.execute(SCI_SETCARETLINEBACK, style._bgColor);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
_pFinder->setFinderReadOnly(true);
|
_pFinder->setFinderReadOnly(true);
|
||||||
_pFinder->_scintView.execute(SCI_SETCODEPAGE, SC_CP_DBCS);
|
_pFinder->_scintView.execute(SCI_SETCODEPAGE, SC_CP_DBCS);
|
||||||
_pFinder->_scintView.execute(SCI_USEPOPUP, FALSE);
|
_pFinder->_scintView.execute(SCI_USEPOPUP, FALSE);
|
||||||
@ -1480,7 +1465,9 @@ void FindReplaceDlg::findAllIn(InWhat op)
|
|||||||
_pFinder->_scintView.execute(SCI_SETCARETLINEVISIBLE, 1);
|
_pFinder->_scintView.execute(SCI_SETCARETLINEVISIBLE, 1);
|
||||||
_pFinder->_scintView.execute(SCI_SETCARETWIDTH, 0);
|
_pFinder->_scintView.execute(SCI_SETCARETWIDTH, 0);
|
||||||
_pFinder->_scintView.showMargin(ScintillaEditView::_SC_MARGE_FOLDER, true);
|
_pFinder->_scintView.showMargin(ScintillaEditView::_SC_MARGE_FOLDER, true);
|
||||||
|
//_pFinder->_scintView.execute(SCI_SETEOLMODE, SC_EOL_CRLF); // yniq - needed?
|
||||||
|
|
||||||
|
// Send the address of _MarkingsStruct to the lexer
|
||||||
char ptrword[sizeof(void*)*2+1];
|
char ptrword[sizeof(void*)*2+1];
|
||||||
sprintf(ptrword, "%p", &_pFinder->_MarkingsStruct);
|
sprintf(ptrword, "%p", &_pFinder->_MarkingsStruct);
|
||||||
_pFinder->_scintView.execute(SCI_SETKEYWORDS, 0, (LPARAM) ptrword);
|
_pFinder->_scintView.execute(SCI_SETKEYWORDS, 0, (LPARAM) ptrword);
|
||||||
@ -1613,19 +1600,24 @@ void FindReplaceDlg::getPatterns(vector<generic_string> & patternVect)
|
|||||||
|
|
||||||
void Finder::setFinderStyle()
|
void Finder::setFinderStyle()
|
||||||
{
|
{
|
||||||
StyleArray & stylers = (_scintView.getParameter())->getMiscStylerArray();
|
// Set global styles for the finder
|
||||||
int iStyleDefault = stylers.getStylerIndexByID(STYLE_DEFAULT);
|
_scintView.performGlobalStyles();
|
||||||
if (iStyleDefault != -1)
|
|
||||||
{
|
// Set current line background color for the finder
|
||||||
Style & styleDefault = stylers.getStyler(iStyleDefault);
|
const TCHAR * lexerName = ScintillaEditView::langNames[L_SEARCHRESULT].lexerName;
|
||||||
styleDefault._colorStyle = COLORSTYLE_ALL; //All colors set
|
LexerStyler *pStyler = (_scintView._pParameter->getLStylerArray()).getLexerStylerByName(lexerName);
|
||||||
_scintView.setStyle(styleDefault);
|
if (pStyler)
|
||||||
}
|
{
|
||||||
_scintView.execute(SCI_STYLECLEARALL);
|
int i = pStyler->getStylerIndexByID(SCE_SEARCHRESULT_CURRENT_LINE);
|
||||||
_scintView.execute(SCI_SETSTYLEBITS, 5);
|
if (i != -1)
|
||||||
|
{
|
||||||
|
Style & style = pStyler->getStyler(i);
|
||||||
|
_scintView.execute(SCI_SETCARETLINEBACK, style._bgColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
_scintView.setSearchResultLexer();
|
_scintView.setSearchResultLexer();
|
||||||
_scintView.execute(SCI_COLOURISE, 0, -1);
|
_scintView.execute(SCI_COLOURISE, 0, -1);
|
||||||
_scintView.execute(SCI_SETEOLMODE, SC_EOL_CRLF);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL CALLBACK Finder::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
BOOL CALLBACK Finder::run_dlgProc(UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
|
@ -217,7 +217,6 @@ BOOL CALLBACK WordStyleDlg::run_dlgProc(UINT Message, WPARAM wParam, LPARAM lPar
|
|||||||
_isDirty = false;
|
_isDirty = false;
|
||||||
setVisualFromStyleList();
|
setVisualFromStyleList();
|
||||||
::SendMessage(_hParent, WM_UPDATESCINTILLAS, 0, 0);
|
::SendMessage(_hParent, WM_UPDATESCINTILLAS, 0, 0);
|
||||||
::SendMessage(_hParent, WM_UPDATEFINDERSCINTILLA, 0, 0);
|
|
||||||
}
|
}
|
||||||
::EnableWindow(::GetDlgItem(_hSelf, IDC_SAVECLOSE_BUTTON), !_isSync);
|
::EnableWindow(::GetDlgItem(_hSelf, IDC_SAVECLOSE_BUTTON), !_isSync);
|
||||||
display(false);
|
display(false);
|
||||||
@ -707,17 +706,5 @@ void WordStyleDlg::apply()
|
|||||||
::EnableWindow(::GetDlgItem(_hSelf, IDOK), FALSE);
|
::EnableWindow(::GetDlgItem(_hSelf, IDOK), FALSE);
|
||||||
//_isDirty = false;
|
//_isDirty = false;
|
||||||
_isSync = false;
|
_isSync = false;
|
||||||
|
::SendMessage(_hParent, WM_UPDATESCINTILLAS, 0, 0);
|
||||||
TCHAR str[256] = TEXT("");
|
|
||||||
int i = ::SendDlgItemMessage(_hSelf, IDC_LANGUAGES_LIST, LB_GETCURSEL, 0, 0);
|
|
||||||
if (i == LB_ERR)
|
|
||||||
return;
|
|
||||||
::SendDlgItemMessage(_hSelf, IDC_LANGUAGES_LIST, LB_GETTEXT, i, (LPARAM)str);
|
|
||||||
|
|
||||||
int cmdid = 0;
|
|
||||||
if (lstrcmp(str, TEXT("Search result")) == 0)
|
|
||||||
cmdid = WM_UPDATEFINDERSCINTILLA;
|
|
||||||
else
|
|
||||||
cmdid = WM_UPDATESCINTILLAS;
|
|
||||||
::SendMessage(_hParent, cmdid, 0, 0);
|
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
#define WM_UPDATESCINTILLAS (WORDSTYLE_USER + 1) //GlobalStyleDlg's msg 2 send 2 its parent
|
#define WM_UPDATESCINTILLAS (WORDSTYLE_USER + 1) //GlobalStyleDlg's msg 2 send 2 its parent
|
||||||
#define WM_UPDATEFINDERSCINTILLA (WORDSTYLE_USER + 2) //the msg 2 notify the finder's styles changed
|
|
||||||
|
|
||||||
enum fontStyleType {BOLD_STATUS, ITALIC_STATUS, UNDERLINE_STATUS};
|
enum fontStyleType {BOLD_STATUS, ITALIC_STATUS, UNDERLINE_STATUS};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user