mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
commit
e3efa244ef
@ -631,9 +631,13 @@ INT_PTR CALLBACK AboutDlgProc(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam
|
||||
case IDC_COPYVERSTRG:
|
||||
{
|
||||
WCHAR wchVerInfo[1024] = { L'\0' };
|
||||
WCHAR wchAuthInfo[128] = { L'\0' };
|
||||
StringCchCopy(wchVerInfo, COUNTOF(wchVerInfo), L"" VERSION_FILEVERSION_LONG);
|
||||
StringCchCat(wchVerInfo, COUNTOF(wchVerInfo), L"\n" VERSION_SCIVERSION);
|
||||
StringCchCat(wchVerInfo, COUNTOF(wchVerInfo), L"\n" VERSION_COMPILER);
|
||||
StringCchCat(wchVerInfo, COUNTOF(wchVerInfo), L"\n");
|
||||
GetLngString(IDS_MUI_TRANSL_AUTHOR, wchAuthInfo, COUNTOF(wchAuthInfo));
|
||||
StringCchCat(wchVerInfo, COUNTOF(wchVerInfo), wchAuthInfo);
|
||||
SetClipboardTextW(g_hwndMain, wchVerInfo);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1261,7 +1261,7 @@ bool EditSaveFile(
|
||||
// get text
|
||||
cbData = (DWORD)SciCall_GetTextLength();
|
||||
lpData = AllocMem(cbData + 4, HEAP_ZERO_MEMORY); //fix: +bom
|
||||
SendMessage(hwnd,SCI_GETTEXT,SizeOfMem(lpData),(LPARAM)lpData);
|
||||
SciCall_GetText((DocPos)SizeOfMem(lpData), lpData);
|
||||
|
||||
if (cbData == 0) {
|
||||
bWriteSuccess = SetEndOfFile(hFile);
|
||||
@ -4371,6 +4371,7 @@ void EditSelectEx(HWND hwnd, DocPos iAnchorPos, DocPos iCurrentPos, DocPos vSpcA
|
||||
void EditEnsureSelectionVisible(HWND hwnd)
|
||||
{
|
||||
UNUSED(hwnd);
|
||||
|
||||
DocPos iAnchorPos = 0;
|
||||
DocPos iCurrentPos = 0;
|
||||
DocPos iAnchorPosVS = -1;
|
||||
@ -4386,6 +4387,11 @@ void EditEnsureSelectionVisible(HWND hwnd)
|
||||
else {
|
||||
iAnchorPos = SciCall_GetAnchor();
|
||||
iCurrentPos = SciCall_GetCurrentPos();
|
||||
if (SciCall_IsSelectionEmpty()) {
|
||||
SciCall_ScrollCaret();
|
||||
SciCall_ChooseCaretX();
|
||||
return;
|
||||
}
|
||||
}
|
||||
EditSelectEx(hwnd, iAnchorPos, iCurrentPos, iAnchorPosVS, iCurPosVS);
|
||||
}
|
||||
|
||||
@ -1645,13 +1645,14 @@ static void __fastcall _InitializeSciEditCtrl(HWND hwndEditCtrl)
|
||||
|
||||
|
||||
#define _CARET_SYMETRY CARET_EVEN /// CARET_EVEN or 0
|
||||
#define _CARET_ENFORCE CARET_STRICT /// CARET_STRICT or 0
|
||||
if (iCurrentLineHorizontalSlop > 0)
|
||||
SendMessage(hwndEditCtrl, SCI_SETXCARETPOLICY, (WPARAM)(CARET_SLOP | _CARET_SYMETRY | CARET_STRICT), iCurrentLineHorizontalSlop);
|
||||
SendMessage(hwndEditCtrl, SCI_SETXCARETPOLICY, (WPARAM)(CARET_SLOP | _CARET_SYMETRY | _CARET_ENFORCE), iCurrentLineHorizontalSlop);
|
||||
else
|
||||
SendMessage(hwndEditCtrl, SCI_SETXCARETPOLICY, (WPARAM)(CARET_SLOP | _CARET_SYMETRY | CARET_STRICT), (LPARAM)0);
|
||||
SendMessage(hwndEditCtrl, SCI_SETXCARETPOLICY, (WPARAM)(CARET_SLOP | _CARET_SYMETRY | _CARET_ENFORCE), (LPARAM)0);
|
||||
|
||||
if (iCurrentLineVerticalSlop > 0)
|
||||
SendMessage(hwndEditCtrl, SCI_SETYCARETPOLICY, (WPARAM)(CARET_SLOP | _CARET_SYMETRY | CARET_STRICT), iCurrentLineVerticalSlop);
|
||||
SendMessage(hwndEditCtrl, SCI_SETYCARETPOLICY, (WPARAM)(CARET_SLOP | _CARET_SYMETRY | _CARET_ENFORCE), iCurrentLineVerticalSlop);
|
||||
else
|
||||
SendMessage(hwndEditCtrl, SCI_SETYCARETPOLICY, (WPARAM)(_CARET_SYMETRY), 0);
|
||||
|
||||
@ -6152,7 +6153,6 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
|
||||
|
||||
case SCN_SAVEPOINTREACHED:
|
||||
SciCall_SetScrollWidth(1);
|
||||
_SetDocumentModified(false);
|
||||
break;
|
||||
|
||||
@ -8882,10 +8882,10 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy)
|
||||
if (cchText == 0)
|
||||
bIsEmptyNewFile = true;
|
||||
else if (cchText < 1023) {
|
||||
char tchText[1024];
|
||||
SendMessage(g_hwndEdit,SCI_GETTEXT,(WPARAM)1023,(LPARAM)tchText);
|
||||
StrTrimA(tchText," \t\n\r");
|
||||
if (lstrlenA(tchText) == 0)
|
||||
char chTextBuf[1024];
|
||||
SciCall_GetText(1023, chTextBuf);
|
||||
StrTrimA(chTextBuf," \t\n\r");
|
||||
if (lstrlenA(chTextBuf) == 0)
|
||||
bIsEmptyNewFile = true;
|
||||
}
|
||||
}
|
||||
@ -8993,9 +8993,9 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy)
|
||||
WCHAR wchBookMarks[MRU_BMRK_SIZE] = { L'\0' };
|
||||
EditGetBookmarkList(g_hwndEdit, wchBookMarks, COUNTOF(wchBookMarks));
|
||||
MRU_AddFile(g_pFileMRU,g_wchCurFile,g_flagRelativeFileMRU,g_flagPortableMyDocs,iCurrEnc,iCaretPos,wchBookMarks);
|
||||
if (g_flagUseSystemMRU == 2)
|
||||
SHAddToRecentDocs(SHARD_PATHW,g_wchCurFile);
|
||||
|
||||
if (g_flagUseSystemMRU == 2) {
|
||||
SHAddToRecentDocs(SHARD_PATHW, g_wchCurFile);
|
||||
}
|
||||
_SetDocumentModified(false);
|
||||
|
||||
// Install watching of the current file
|
||||
@ -9067,6 +9067,7 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy)
|
||||
MsgBoxLng(MBWARN,IDS_MUI_ERR_SAVEFILE,tchFile);
|
||||
}
|
||||
}
|
||||
//@@@EditEnsureSelectionVisible(g_hwndEdit);
|
||||
return(fSuccess);
|
||||
}
|
||||
|
||||
|
||||
@ -77,7 +77,7 @@ extern HANDLE g_hwndEdit;
|
||||
#ifdef SCI_DIRECTFUNCTION_INTERFACE
|
||||
|
||||
LRESULT WINAPI Scintilla_DirectFunction(HANDLE, UINT, WPARAM, LPARAM);
|
||||
#define SciCall(m, w, l) Scintilla_DirectFunction(g_hScintilla, m, w, l)
|
||||
#define SciCall(m, w, l) Scintilla_DirectFunction(g_hScintilla, (m), (w), (l))
|
||||
|
||||
#else
|
||||
|
||||
@ -257,6 +257,7 @@ DeclareSciCallV1(SetEndAtLastLine, SETENDATLASTLINE, bool, flag)
|
||||
DeclareSciCallR0(GetXoffset, GETXOFFSET, int)
|
||||
DeclareSciCallV1(SetXoffset, SETXOFFSET, int, offset)
|
||||
DeclareSciCallV2(SetVisiblePolicy, SETVISIBLEPOLICY, int, flags, DocLn, lines)
|
||||
DeclareSciCallV0(MoveCaretInsideView, MOVECARETINSIDEVIEW)
|
||||
|
||||
DeclareSciCallR0(LinesOnScreen, LINESONSCREEN, DocLn)
|
||||
DeclareSciCallR0(GetFirstVisibleLine, GETFIRSTVISIBLELINE, DocLn)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user