From b6fc0165ebd2144875d37d5ab0cd71f6df658cec Mon Sep 17 00:00:00 2001 From: RaiKoHoff Date: Fri, 17 Jan 2020 12:48:14 +0100 Subject: [PATCH 1/3] + chg: remove "extra" drag n' drop handler --- src/Helpers.c | 348 -------------------- src/Helpers.h | 24 -- src/Notepad3.c | 22 -- uchardet/uchardet/src/nsSBCSGroupProber.cpp | 3 +- 4 files changed, 1 insertion(+), 396 deletions(-) diff --git a/src/Helpers.c b/src/Helpers.c index 5ecde541c..e8558f4f7 100644 --- a/src/Helpers.c +++ b/src/Helpers.c @@ -2506,352 +2506,4 @@ void Float2String(float fValue, LPWSTR lpszStrg, int cchSize) StringCchPrintf(lpszStrg, cchSize, L"%i", float2int(fValue)); } - -/////////////////////////////////////////////////////////////////////////////// -// -// Drag N Drop helpers -// -/////////////////////////////////////////////////////////////////////////////// - -static HANDLE g_hHeap = NULL; - -typedef struct tIDROPTARGET { - IDropTarget idt; - LONG lRefCount; - ULONG lNumFormats; - CLIPFORMAT *pFormat; - HWND hWnd; - bool bAllowDrop; - DWORD dwKeyState; - IDataObject *pDataObject; - UINT nMsg; - void *pUserData; - DNDCALLBACK pDropProc; -} -IDROPTARGET, *PIDROPTARGET; - - -typedef struct IDRPTRG_VTBL -{ - BEGIN_INTERFACE - HRESULT(STDMETHODCALLTYPE *QueryInterface)(PIDROPTARGET pThis, REFIID riid, void **ppvObject); - ULONG(STDMETHODCALLTYPE *AddRef)(PIDROPTARGET pThis); - ULONG(STDMETHODCALLTYPE *Release)(PIDROPTARGET pThis); - HRESULT(STDMETHODCALLTYPE *DragEnter)(PIDROPTARGET pThis, IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect); - HRESULT(STDMETHODCALLTYPE *DragOver)(PIDROPTARGET pThis, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect); - HRESULT(STDMETHODCALLTYPE *DragLeave)(PIDROPTARGET pThis); - HRESULT(STDMETHODCALLTYPE *Drop)(PIDROPTARGET pThis, IDataObject *pDataObject, DWORD dwKeyState, POINTL pt, DWORD *pdwEffect); - END_INTERFACE -} -IDRPTRG_VTBL, *PIDRPTRG_VTBL; - - -//============================================================================= -// -// DragAndDropInit() -// -void DragAndDropInit(HANDLE hHeap) -{ - if (g_hHeap == NULL && hHeap == NULL) - g_hHeap = GetProcessHeap(); - else if (g_hHeap == NULL) - g_hHeap = hHeap; - - //OleInitialize(NULL); // just in case -} - - -//============================================================================= -// -// GetDnDHeap() -// -static HANDLE GetDnDHeap() -{ - if (g_hHeap == NULL) { - g_hHeap = GetProcessHeap(); - } - return g_hHeap; -} - - -//============================================================================= -// -// IDRPTRG_AddRef() -// -static ULONG STDMETHODCALLTYPE IDRPTRG_AddRef(PIDROPTARGET pThis) -{ - return InterlockedIncrement(&pThis->lRefCount); -} - - -//============================================================================= -// -// IDRPTRG_QueryDataObject() -// -static bool IDRPTRG_QueryDataObject(PIDROPTARGET pDropTarget, IDataObject *pDataObject) -{ - ULONG lFmt; - FORMATETC fmtetc = { CF_TEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }; - - for (lFmt = 0; lFmt < pDropTarget->lNumFormats; lFmt++) - { - fmtetc.cfFormat = pDropTarget->pFormat[lFmt]; - if (pDataObject->lpVtbl->QueryGetData(pDataObject, &fmtetc) == S_OK) - return true; - } - return false; -} - - -//============================================================================= -// -// IDRPTRG_QueryInterface() -// -static HRESULT STDMETHODCALLTYPE IDRPTRG_QueryInterface(PIDROPTARGET pThis, REFIID riid, - LPVOID *ppvObject) -{ - *ppvObject = NULL; - - if (IsEqualGUID(riid, &IID_IUnknown)) - { - IDRPTRG_AddRef(pThis); - *ppvObject = pThis; - return S_OK; - } - if (IsEqualGUID(riid, &IID_IDropTarget)) - { - IDRPTRG_AddRef(pThis); - *ppvObject = pThis; - return S_OK; - } - return E_NOINTERFACE; -} - - -//============================================================================= -// -// IDRPTRG_Release() -// -static ULONG STDMETHODCALLTYPE IDRPTRG_Release(PIDROPTARGET pThis) -{ - ULONG nCount; - - if ((nCount = InterlockedDecrement(&pThis->lRefCount)) == 0) - { - HeapFree(GetDnDHeap(), 0, pThis); - return 0; - } - return nCount; -} - - - -//============================================================================= -// -// IDRPTRG_DropEffect() -// -static DWORD IDRPTRG_DropEffect(DWORD dwKeyState, POINTL pt, DWORD dwAllowed) -{ - DWORD dwEffect = 0; - - if (dwKeyState & MK_CONTROL) - dwEffect = dwAllowed & DROPEFFECT_COPY; - else if (dwKeyState & MK_SHIFT) - dwEffect = dwAllowed & DROPEFFECT_MOVE; - - if (dwEffect == 0) - { - if (dwAllowed & DROPEFFECT_COPY) - dwEffect = DROPEFFECT_COPY; - if (dwAllowed & DROPEFFECT_MOVE) - dwEffect = DROPEFFECT_MOVE; - } - UNUSED(pt); - return dwEffect; -} - - -//============================================================================= -// -// IDRPTRG_DragEnter() -// -static HRESULT STDMETHODCALLTYPE IDRPTRG_DragEnter(PIDROPTARGET pThis, IDataObject *pDataObject, - DWORD dwKeyState, POINTL pt, DWORD *pdwEffect) -{ - pThis->bAllowDrop = IDRPTRG_QueryDataObject(pThis, pDataObject); - if (pThis->bAllowDrop) - { - *pdwEffect = IDRPTRG_DropEffect(dwKeyState, pt, *pdwEffect); - SetFocus(pThis->hWnd); - } - else - *pdwEffect = DROPEFFECT_NONE; - - return S_OK; -} - - -//============================================================================= -// -// IDRPTRG_DragOver() -// -static HRESULT STDMETHODCALLTYPE IDRPTRG_DragOver(PIDROPTARGET pThis, DWORD dwKeyState, POINTL pt, - DWORD *pdwEffect) -{ - if (pThis->bAllowDrop) - { - pThis->dwKeyState = dwKeyState; - - *pdwEffect = IDRPTRG_DropEffect(dwKeyState, pt, *pdwEffect); - } - else - *pdwEffect = DROPEFFECT_NONE; - - return S_OK; -} - - -//============================================================================= -// -// IDRPTRG_DragLeave() -// -static HRESULT STDMETHODCALLTYPE IDRPTRG_DragLeave(PIDROPTARGET pThis) -{ - UNUSED(pThis); - return S_OK; -} - - -//============================================================================= -// -// IDRPTRG_Drop() -// -static HRESULT STDMETHODCALLTYPE IDRPTRG_Drop(PIDROPTARGET pThis, IDataObject *pDataObject, - DWORD dwKeyState, POINTL pt, DWORD *pdwEffect) -{ - FORMATETC fmtetc = { CF_TEXT, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL }; - STGMEDIUM medium; - DROPDATA DropData; - - UNUSED(dwKeyState); - UNUSED(pt); - - if (pThis->bAllowDrop) - { - ULONG lFmt; - for (lFmt = 0; lFmt < pThis->lNumFormats; lFmt++) - { - fmtetc.cfFormat = pThis->pFormat[lFmt]; - if (pDataObject->lpVtbl->QueryGetData(pDataObject, &fmtetc) == S_OK) - break; - } - if (lFmt < pThis->lNumFormats) - { - pDataObject->lpVtbl->GetData(pDataObject, &fmtetc, &medium); - *pdwEffect = DROPEFFECT_NONE; - if (pThis->pDropProc != NULL) { - *pdwEffect = (*pThis->pDropProc)(pThis->pFormat[lFmt], medium.hGlobal, pThis->hWnd, pThis->dwKeyState, pt, pThis->pUserData); - } - else if (pThis->nMsg != WM_NULL) - { - DropData.cf = pThis->pFormat[lFmt]; - DropData.dwKeyState = pThis->dwKeyState; - DropData.hData = medium.hGlobal; - DropData.pt = pt; - - *pdwEffect = (DWORD)SendMessage(pThis->hWnd, pThis->nMsg, (WPARAM)&DropData, (LPARAM)pThis->pUserData); - } - if (*pdwEffect != DROPEFFECT_NONE) - ReleaseStgMedium(&medium); - } - } - else - *pdwEffect = DROPEFFECT_NONE; - - return S_OK; -} - - -//============================================================================= -// -// CreateDropTarget() -// -IDropTarget* CreateDropTarget(const CLIPFORMAT *pFormat, ULONG lFmt, HWND hWnd, UINT nMsg, - DWORD(*pDropProc)(CLIPFORMAT cf, HGLOBAL hData, HWND hWnd, DWORD dwKeyState, POINTL pt, void *pUserData), - void *pUserData) -{ - PIDROPTARGET pRet; - static IDRPTRG_VTBL idt_vtbl = { - IDRPTRG_QueryInterface, - IDRPTRG_AddRef, - IDRPTRG_Release, - IDRPTRG_DragEnter, - IDRPTRG_DragOver, - IDRPTRG_DragLeave, - IDRPTRG_Drop }; - - if ((pRet = HeapAlloc(GetDnDHeap(), 0, sizeof(IDROPTARGET) + lFmt * sizeof(CLIPFORMAT))) == NULL) - return NULL; - - pRet->pFormat = (CLIPFORMAT *)(((char *)pRet) + sizeof(IDROPTARGET)); - - pRet->idt.lpVtbl = (IDropTargetVtbl*)&idt_vtbl; - pRet->lRefCount = 1; - pRet->hWnd = hWnd; - pRet->nMsg = nMsg; - pRet->bAllowDrop = false; - pRet->dwKeyState = 0; - pRet->lNumFormats = lFmt; - pRet->pDropProc = pDropProc; - pRet->pUserData = pUserData; - - for (lFmt = 0; lFmt < pRet->lNumFormats; lFmt++) { - pRet->pFormat[lFmt] = pFormat[lFmt]; - } - return (IDropTarget *)pRet; -} - - - -//============================================================================= -// -// RegisterDragAndDrop() -// -PDROPTARGET RegisterDragAndDrop(HWND hWnd, CLIPFORMAT *pFormat, ULONG lFmt, UINT nMsg, DNDCALLBACK pDropProc, void *pUserData) -{ - IDropTarget *pTarget; - - if ((pTarget = CreateDropTarget(pFormat, lFmt, hWnd, nMsg, pDropProc, pUserData)) == NULL) - return NULL; - - if (RegisterDragDrop(hWnd, pTarget) != S_OK) - { - HeapFree(GetDnDHeap(), 0, pTarget); - return NULL; - } - - return (PDROPTARGET)pTarget; -} - - -//============================================================================= -// -// RevokeDragAndDrop() -// -PDROPTARGET RevokeDragAndDrop(PDROPTARGET pTarget) -{ - if (pTarget == NULL) - return NULL; - - if (((PIDROPTARGET)pTarget)->hWnd != NULL) - { - if (GetWindowLongPtr(((PIDROPTARGET)pTarget)->hWnd, GWLP_WNDPROC) != 0) - RevokeDragDrop(((PIDROPTARGET)pTarget)->hWnd); - } - - ((IDropTarget *)pTarget)->lpVtbl->Release((IDropTarget *)pTarget); - - return NULL; -} - /// End of Helpers.c /// diff --git a/src/Helpers.h b/src/Helpers.h index 96d5b21eb..f85937d8c 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -571,30 +571,6 @@ inline HRESULT PathCchCanonicalize(PWSTR p,size_t l,PCWSTR a) { UNUSED(l); re inline HRESULT PathCchRenameExtension(PWSTR p,size_t l,PCWSTR a) { UNUSED(l); return (PathRenameExtension(p,a) ? S_OK : E_FAIL); } inline HRESULT PathCchRemoveFileSpec(PWSTR p,size_t l) { UNUSED(l); return (PathRemoveFileSpec(p) ? S_OK : E_FAIL); } -#define _EXTRA_DRAG_N_DROP_HANDLER_ 1 - -#ifdef _EXTRA_DRAG_N_DROP_HANDLER_ - -// special Drag and Drop Handling - -typedef struct tDROPDATA -{ - CLIPFORMAT cf; - POINTL pt; - DWORD dwKeyState; - HGLOBAL hData; -} -DROPDATA, *PDROPDATA; - -typedef struct tDROPTARGET *PDROPTARGET; -typedef DWORD(*DNDCALLBACK)(CLIPFORMAT cf, HGLOBAL hData, HWND hWnd, DWORD dwKeyState, POINTL pt, void *pUserData); - -void DragAndDropInit(HANDLE hHeap); -PDROPTARGET RegisterDragAndDrop(HWND hWnd, CLIPFORMAT *pFormat, ULONG lFmt, UINT nMsg, DNDCALLBACK pDropProc, void *pUserData); -PDROPTARGET RevokeDragAndDrop(PDROPTARGET pTarget); - -#endif - #endif //_NP3_HELPERS_H_ diff --git a/src/Notepad3.c b/src/Notepad3.c index ee4731816..7b57303b0 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -393,14 +393,6 @@ static void _SplitUndoTransaction(const int iModType); static void _DelayClearZoomCallTip(int delay); static void _DelaySplitUndoTransaction(int delay, int iModType); -#ifdef _EXTRA_DRAG_N_DROP_HANDLER_ -static CLIPFORMAT cfDrpF = CF_HDROP; -static POINTL ptDummy = { 0, 0 }; -static PDROPTARGET pDropTarget = NULL; -static DWORD DropFilesProc(CLIPFORMAT cf, HGLOBAL hData, HWND hWnd, DWORD dwKeyState, POINTL pt, void *pUserData); -#endif - - //#define NP3_VIRTUAL_SPACE_ACCESS_OPTIONS (SCVS_RECTANGULARSELECTION | SCVS_NOWRAPLINESTART | SCVS_USERACCESSIBLE) #define NP3_VIRTUAL_SPACE_ACCESS_OPTIONS (SCVS_RECTANGULARSELECTION) @@ -961,10 +953,6 @@ int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, } DrawMenuBar(hwnd); -#ifdef _EXTRA_DRAG_N_DROP_HANDLER_ - DragAndDropInit(NULL); -#endif - HACCEL const hAccMain = LoadAccelerators(hInstance,MAKEINTRESOURCE(IDR_MAINWND)); HACCEL const hAccFindReplace = LoadAccelerators(hInstance,MAKEINTRESOURCE(IDR_ACCFINDREPLACE)); HACCEL const hAccCoustomizeSchemes = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDR_ACCCUSTOMSCHEMES)); @@ -2095,9 +2083,6 @@ LRESULT MsgCreate(HWND hwnd, WPARAM wParam,LPARAM lParam) // Drag & Drop DragAcceptFiles(hwnd,true); -#ifdef _EXTRA_DRAG_N_DROP_HANDLER_ - pDropTarget = RegisterDragAndDrop(hwnd, &cfDrpF, 1, WM_NULL, DropFilesProc, (void*)Globals.hwndEdit); -#endif if (Globals.hwndEdit == NULL || s_hwndEditFrame == NULL || Globals.hwndStatus == NULL || Globals.hwndToolbar == NULL || s_hwndReBar == NULL) { @@ -2517,9 +2502,6 @@ LRESULT MsgEndSession(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) InstallFileWatching(NULL); DragAcceptFiles(hwnd, true); -#ifdef _EXTRA_DRAG_N_DROP_HANDLER_ - RevokeDragAndDrop(pDropTarget); -#endif // Terminate clipboard watching if (s_flagPasteBoard) { @@ -2762,10 +2744,6 @@ LRESULT MsgDropFiles(HWND hwnd, WPARAM wParam, LPARAM lParam) } } else { -#ifndef _EXTRA_DRAG_N_DROP_HANDLER_ - // Windows Bug: wParam (HDROP) pointer is corrupted if dropped from 32-bit App - InfoBoxLng(MB_ICONWARNING, NULL, IDS_MUI_DROP_NO_FILE); -#endif // delegated to SCN_URIDROPPED } diff --git a/uchardet/uchardet/src/nsSBCSGroupProber.cpp b/uchardet/uchardet/src/nsSBCSGroupProber.cpp index 71aed6310..746aa5200 100644 --- a/uchardet/uchardet/src/nsSBCSGroupProber.cpp +++ b/uchardet/uchardet/src/nsSBCSGroupProber.cpp @@ -84,7 +84,6 @@ nsSBCSGroupProber::nsSBCSGroupProber() mProbers[j] = nsnull; } } - mProbers[i++] = new nsSingleByteCharSetProber(&Tis_620ThaiModel); mProbers[i++] = new nsSingleByteCharSetProber(&Windows_1252AfricaansModel); mProbers[i++] = new nsSingleByteCharSetProber(&Iso_8859_1AfricaansModel); @@ -208,7 +207,7 @@ nsSBCSGroupProber::nsSBCSGroupProber() mProbers[i++] = new nsSingleByteCharSetProber(&Windows_1258VietnameseModel); - //mProbers[i++] = new nsSingleByteCharSetProber(&Tis_620ThaiModel); + mProbers[i++] = new nsSingleByteCharSetProber(&Tis_620ThaiModel); mProbers[i++] = new nsSingleByteCharSetProber(&Iso_8859_11ThaiModel); mNumOfProbers = i; From d146de76d5aaf0b79547f88294cb96211ccbfc13 Mon Sep 17 00:00:00 2001 From: RaiKoHoff Date: Fri, 17 Jan 2020 13:12:34 +0100 Subject: [PATCH 2/3] + cln: IME color styler: cleanup merged code --- Versions/build.txt | 2 +- res/Notepad3.exe.manifest.conf | 2 +- src/StyleLexers/EditLexer.h | 2 +- src/StyleLexers/styleLexStandard.c | 4 ++-- src/Styles.c | 31 ++++++++++-------------------- src/VersionEx.h | 4 ++-- 6 files changed, 17 insertions(+), 28 deletions(-) diff --git a/Versions/build.txt b/Versions/build.txt index a80fc0bca..8361266fd 100644 --- a/Versions/build.txt +++ b/Versions/build.txt @@ -1 +1 @@ -2709 +2710 diff --git a/res/Notepad3.exe.manifest.conf b/res/Notepad3.exe.manifest.conf index fe37c9301..060b5c7fa 100644 --- a/res/Notepad3.exe.manifest.conf +++ b/res/Notepad3.exe.manifest.conf @@ -3,7 +3,7 @@ Notepad3 BETA diff --git a/src/StyleLexers/EditLexer.h b/src/StyleLexers/EditLexer.h index 933252fa3..0acd0547a 100644 --- a/src/StyleLexers/EditLexer.h +++ b/src/StyleLexers/EditLexer.h @@ -68,7 +68,7 @@ typedef enum { STY_MARK_OCC = 13, STY_URL_HOTSPOT = 14, STY_MULTI_EDIT = 15, - STY_IME_COLOR = 17, + STY_IME_COLOR = 16, STY_INVISIBLE = 17, STY_READONLY = 18 diff --git a/src/StyleLexers/styleLexStandard.c b/src/StyleLexers/styleLexStandard.c index 38439735d..eb9227126 100644 --- a/src/StyleLexers/styleLexStandard.c +++ b/src/StyleLexers/styleLexStandard.c @@ -22,8 +22,8 @@ SCLEX_NULL, IDS_LEX_DEF_TXT, L"Common Base", L"", L"", /* 12 */ { {_STYLE_GETSTYLEID(STY_BOOK_MARK)}, IDS_LEX_STD_BKMRK, L"Bookmarks and Folding (Colors, Size)", L"size:+2; fore:#000000; back:#00DC00; alpha:100", L"" }, /* 13 */ { {_STYLE_GETSTYLEID(STY_MARK_OCC)}, IDS_LEX_STR_63262, L"Mark Occurrences (Indicator)", L"fore:#3399FF; alpha:60; alpha2:60; indic_roundbox", L"" }, /* 14 */ { {_STYLE_GETSTYLEID(STY_URL_HOTSPOT)}, IDS_LEX_STR_63264, L"Hyperlink Hotspots", L"fore:#0000FF; back:#0000BF; indic_plain", L"" }, - /* 16 */ { {_STYLE_GETSTYLEID(STY_IME_COLOR)}, IDS_LEX_STR_63352, L"Inline-IME Color", L"fore:#00AA00", L"" }, /* 15 */ { {_STYLE_GETSTYLEID(STY_MULTI_EDIT)}, IDS_LEX_STR_63354, L"Multi Edit Indicator", L"fore:#FFA000; alpha:60; alpha2:180; indic_roundbox", L"" }, + /* 16 */ { {_STYLE_GETSTYLEID(STY_IME_COLOR)}, IDS_LEX_STR_63352, L"Inline-IME Color", L"fore:#00AA00", L"" }, EDITLEXER_SENTINEL } }; @@ -45,8 +45,8 @@ SCLEX_NULL, IDS_LEX_STR_63266, L"2nd Common Base", L"", L"", /* 12 */ { {_STYLE_GETSTYLEID(STY_BOOK_MARK)}, IDS_LEX_2ND_BKMRK, L"2nd Bookmarks and Folding (Colors, Size)", L"size:+2; fore:#000000; back:#00DC00; charset:2; case:U; alpha:100", L"" }, /* 13 */ { {_STYLE_GETSTYLEID(STY_MARK_OCC)}, IDS_LEX_STR_63263, L"2nd Mark Occurrences (Indicator)", L"fore:#0000FF; alpha:60; alpha2:60; indic_box", L"" }, /* 14 */ { {_STYLE_GETSTYLEID(STY_URL_HOTSPOT)}, IDS_LEX_STR_63265, L"2nd Hyperlink Hotspots", L"fore:#00D000; back:#009C00; alpha:180; indic_compositionthin", L"" }, + /* 15 */ { {_STYLE_GETSTYLEID(STY_MULTI_EDIT)}, IDS_LEX_STR_63355, L"2nd Multi Edit Indicator", L"fore:#00A5FF; indic_box", L"" }, /* 16 */ { {_STYLE_GETSTYLEID(STY_IME_COLOR)}, IDS_LEX_STR_63353, L"2nd Inline-IME Color", L"fore:#FF0000", L"" }, - /* 15 */ { {_STYLE_GETSTYLEID(STY_MULTI_EDIT)}, IDS_LEX_STR_63355, L"Multi Edit Indicator", L"fore:#00A5FF; indic_box", L"" }, EDITLEXER_SENTINEL } }; diff --git a/src/Styles.c b/src/Styles.c index f2ab7ab06..d73a30f99 100644 --- a/src/Styles.c +++ b/src/Styles.c @@ -1142,20 +1142,13 @@ void Style_SetLexer(HWND hwnd, PEDITLEXER pLexNew) #define _SC_INDIC_IME_CONVERTED (INDIC_IME + 2) #define _SC_INDIC_IME_UNKNOWN INDIC_IME_MAX - if (Style_StrGetColor(pCurrentStandard->Styles[STY_IME_COLOR].szValue, FOREGROUND_LAYER, &dColor)) // IME foregr - { - SciCall_IndicSetFore(_SC_INDIC_IME_INPUT, dColor); - SciCall_IndicSetFore(_SC_INDIC_IME_TARGET, dColor); - SciCall_IndicSetFore(_SC_INDIC_IME_CONVERTED, dColor); - SciCall_IndicSetFore(_SC_INDIC_IME_UNKNOWN, dColor); - } else { - SciCall_IndicSetFore(_SC_INDIC_IME_INPUT, dColor); - SciCall_IndicSetFore(_SC_INDIC_IME_TARGET, dColor); - SciCall_IndicSetFore(_SC_INDIC_IME_CONVERTED, dColor); - SciCall_IndicSetFore(_SC_INDIC_IME_UNKNOWN, dColor); - } + COLORREF rgb = RGB(0xFF, 0xA0, 0x00); + Style_StrGetColor(pCurrentStandard->Styles[STY_IME_COLOR].szValue, FOREGROUND_LAYER, &rgb); // IME foregr + SciCall_IndicSetFore(_SC_INDIC_IME_INPUT, rgb); + SciCall_IndicSetFore(_SC_INDIC_IME_TARGET, rgb); + SciCall_IndicSetFore(_SC_INDIC_IME_CONVERTED, rgb); + SciCall_IndicSetFore(_SC_INDIC_IME_UNKNOWN, rgb); - COLORREF rgb; if (pLexNew != &lexANSI) { Style_SetStyles(hwnd, pCurrentStandard->Styles[STY_CTRL_CHR].iStyle, pCurrentStandard->Styles[STY_CTRL_CHR].szValue, false); // control char } @@ -1170,14 +1163,10 @@ void Style_SetLexer(HWND hwnd, PEDITLEXER pLexNew) SendMessage(hwnd, SCI_SETADDITIONALSELFORE, 0, 0); } - if (Style_StrGetColor(pCurrentStandard->Styles[STY_SEL_TXT].szValue, BACKGROUND_LAYER , &dColor)) { // selection back - SendMessage(hwnd, SCI_SETSELBACK, true, dColor); - SendMessage(hwnd, SCI_SETADDITIONALSELBACK, dColor, 0); - } - else { - SendMessage(hwnd, SCI_SETSELBACK, true, RGB(0xC0, 0xC0, 0xC0)); // use a default value... - SendMessage(hwnd, SCI_SETADDITIONALSELBACK, RGB(0xC0, 0xC0, 0xC0), 0); - } + rgb = RGB(0xC0, 0xC0, 0xC0); + Style_StrGetColor(pCurrentStandard->Styles[STY_SEL_TXT].szValue, BACKGROUND_LAYER, &rgb); // selection back + SendMessage(hwnd, SCI_SETSELBACK, true, rgb); + SendMessage(hwnd, SCI_SETADDITIONALSELBACK, rgb, 0); if (Style_StrGetAlpha(pCurrentStandard->Styles[STY_SEL_TXT].szValue, &iValue, true)) { // selection alpha SendMessage(hwnd, SCI_SETSELALPHA, iValue, 0); diff --git a/src/VersionEx.h b/src/VersionEx.h index 7fc589b7f..464244a03 100644 --- a/src/VersionEx.h +++ b/src/VersionEx.h @@ -8,8 +8,8 @@ #define SAPPNAME "Notepad3" #define VERSION_MAJOR 5 #define VERSION_MINOR 20 -#define VERSION_REV 116 -#define VERSION_BUILD 2709 +#define VERSION_REV 117 +#define VERSION_BUILD 2710 #define SCINTILLA_VER 423 #define ONIGURUMA_REGEX_VER 6.9.4 #define UCHARDET_VER 2018.09.27 From 4cf6fde77294e12f40493b5bd83f5e8c2067876a Mon Sep 17 00:00:00 2001 From: RaiKoHoff Date: Fri, 17 Jan 2020 13:21:27 +0100 Subject: [PATCH 3/3] + fix: wrong language reference for lexer : "Tag" --- language/common_res.h | 1 + language/np3_en_us/lexer_en_us.rc | 1 + src/StyleLexers/styleLexStandard.c | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/language/common_res.h b/language/common_res.h index 436d98bfe..2e3e7b2f7 100644 --- a/language/common_res.h +++ b/language/common_res.h @@ -1058,6 +1058,7 @@ #define IDS_LEX_STR_63360 63360 #define IDS_LEX_STR_63361 63361 #define IDS_LEX_STR_63362 63362 +#define IDS_LEX_STR_63363 63363 #define IDS_LEX_CSV_COL_0 63400 #define IDS_LEX_CSV_COL_1 63401 diff --git a/language/np3_en_us/lexer_en_us.rc b/language/np3_en_us/lexer_en_us.rc index 577d7a0f3..c90db4b6b 100644 --- a/language/np3_en_us/lexer_en_us.rc +++ b/language/np3_en_us/lexer_en_us.rc @@ -460,6 +460,7 @@ BEGIN IDS_LEX_STR_63360 "Scalar" IDS_LEX_STR_63361 "Substitution" IDS_LEX_STR_63362 "Modifier" + IDS_LEX_STR_63363 "Tag" END STRINGTABLE diff --git a/src/StyleLexers/styleLexStandard.c b/src/StyleLexers/styleLexStandard.c index eb9227126..56d2d6f6e 100644 --- a/src/StyleLexers/styleLexStandard.c +++ b/src/StyleLexers/styleLexStandard.c @@ -79,7 +79,7 @@ SCLEX_LATEX, IDS_LEX_LATEX, L"LaTeX Files", L"tex; latex; sty; texi; texinfo; tx { {MULTI_STYLE(SCE_L_COMMENT,SCE_L_COMMENT2,0,0)}, IDS_LEX_STR_63127, L"Comment", L"fore:#008000", L"" }, { {MULTI_STYLE(SCE_L_MATH,SCE_L_MATH2,0,0)}, IDS_LEX_STR_63359, L"Math", L"fore:#FF0000", L"" }, { {SCE_L_SPECIAL}, IDS_LEX_STR_63306, L"Special Char", L"fore:#AAAA00", L"" }, - { {MULTI_STYLE(SCE_L_TAG,SCE_L_TAG2,0,0)}, IDS_LEX_STR_63282, L"Tag", L"fore:#0000FF", L"" }, + { {MULTI_STYLE(SCE_L_TAG,SCE_L_TAG2,0,0)}, IDS_LEX_STR_63363, L"Tag", L"fore:#0000FF", L"" }, { {SCE_L_VERBATIM}, IDS_LEX_STR_63307, L"Verbatim Segment", L"fore:#666666", L"" }, EDITLEXER_SENTINEL } };