mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-17 21:03:19 +08:00
commit
174141d537
@ -1 +1 @@
|
||||
2709
|
||||
2710
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<assemblyIdentity
|
||||
name="Notepad3"
|
||||
processorArchitecture="*"
|
||||
version="5.20.116.2709"
|
||||
version="5.20.117.2710"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Notepad3 BETA</description>
|
||||
|
||||
348
src/Helpers.c
348
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 ///
|
||||
|
||||
@ -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_
|
||||
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 } };
|
||||
|
||||
|
||||
@ -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 } };
|
||||
|
||||
|
||||
31
src/Styles.c
31
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);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user