mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-17 21:03:19 +08:00
Merge pull request #4390 from RaiKoHoff/Dev_Master
replacing SCI_REPLACETARGET calls by SCI_REPLACETARGETMINIMAL ...
This commit is contained in:
commit
bb8d55e3f9
@ -2769,7 +2769,7 @@ bool MRU_MergeSave(LPMRULIST pmru, bool bAddFiles, bool bRelativePath, bool bUne
|
||||
//
|
||||
|
||||
#if TRUE
|
||||
static bool CreateNewDocument(const char* lpstrText, DocPosU lenText, int docOptions)
|
||||
static bool CreateNewDocument(const char* lpstrText, DocPosU lenText, int docOptions, bool reload)
|
||||
{
|
||||
#define RELEASE_RETURN(ret) { pDocLoad->Release(); return(ret); }
|
||||
|
||||
@ -2785,7 +2785,11 @@ static bool CreateNewDocument(const char* lpstrText, DocPosU lenText, int docOpt
|
||||
SciCall_SetDocPointer(0);
|
||||
}
|
||||
SciCall_TargetWholeDocument();
|
||||
SciCall_ReplaceTarget(lenText, lpstrText);
|
||||
if (reload) {
|
||||
SciCall_ReplaceTargetMinimal(lenText, lpstrText);
|
||||
} else {
|
||||
SciCall_ReplaceTarget(lenText, lpstrText);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -2797,14 +2801,18 @@ static bool CreateNewDocument(const char* lpstrText, DocPosU lenText, int docOpt
|
||||
SciCall_ClearAll();
|
||||
} else {
|
||||
SciCall_TargetWholeDocument();
|
||||
SciCall_ReplaceTarget(lenText, lpstrText);
|
||||
if (reload) {
|
||||
SciCall_ReplaceTargetMinimal(lenText, lpstrText);
|
||||
} else {
|
||||
SciCall_ReplaceTarget(lenText, lpstrText);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
extern "C" bool EditSetDocumentBuffer(const char* lpstrText, DocPosU lenText)
|
||||
extern "C" bool EditSetDocumentBuffer(const char* lpstrText, DocPosU lenText, bool reload)
|
||||
{
|
||||
bool const bLargerThan2GB = (lenText >= ((DocPosU)INT32_MAX));
|
||||
bool const bLargeFileLoaded = (lenText >= ((DocPosU)Settings2.FileLoadWarningMB << 20));
|
||||
@ -2813,13 +2821,17 @@ extern "C" bool EditSetDocumentBuffer(const char* lpstrText, DocPosU lenText)
|
||||
|
||||
if (SciCall_GetDocumentOptions() != docOptions) {
|
||||
// we have to create a new document with changed options
|
||||
return CreateNewDocument(lpstrText, lenText, docOptions);
|
||||
return CreateNewDocument(lpstrText, lenText, docOptions, reload);
|
||||
}
|
||||
if (!lpstrText || (lenText == 0)) {
|
||||
SciCall_ClearAll();
|
||||
} else {
|
||||
SciCall_TargetWholeDocument();
|
||||
SciCall_ReplaceTarget(lenText, lpstrText);
|
||||
if (reload) {
|
||||
SciCall_ReplaceTargetMinimal(lenText, lpstrText);
|
||||
} else {
|
||||
SciCall_ReplaceTarget(lenText, lpstrText);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
80
src/Edit.c
80
src/Edit.c
@ -401,7 +401,7 @@ void EditInitWordDelimiter(HWND hwnd)
|
||||
//
|
||||
extern bool s_bFreezeAppTitle;
|
||||
|
||||
void EditSetNewText(HWND hwnd, const char* lpstrText, DocPosU lenText, bool bClearUndoHistory)
|
||||
void EditSetNewText(HWND hwnd, const char* lpstrText, DocPosU lenText, bool bClearUndoHistory, bool bReload)
|
||||
{
|
||||
if (!lpstrText) {
|
||||
lenText = 0;
|
||||
@ -420,9 +420,7 @@ void EditSetNewText(HWND hwnd, const char* lpstrText, DocPosU lenText, bool bCle
|
||||
UndoTransActionBegin();
|
||||
|
||||
SciCall_Cancel();
|
||||
if (SciCall_GetReadOnly()) {
|
||||
SciCall_SetReadOnly(false);
|
||||
}
|
||||
SciCall_SetReadOnly(false);
|
||||
EditClearAllBookMarks(hwnd);
|
||||
EditClearAllOccurrenceMarkers(hwnd);
|
||||
SciCall_SetScrollWidth(1);
|
||||
@ -430,7 +428,7 @@ void EditSetNewText(HWND hwnd, const char* lpstrText, DocPosU lenText, bool bCle
|
||||
|
||||
FileVars_Apply(&Globals.fvCurFile);
|
||||
|
||||
EditSetDocumentBuffer(lpstrText, lenText);
|
||||
EditSetDocumentBuffer(lpstrText, lenText, bReload);
|
||||
|
||||
Sci_GotoPosChooseCaret(0);
|
||||
|
||||
@ -486,7 +484,7 @@ bool EditConvertText(HWND hwnd, cpi_enc_t encSource, cpi_enc_t encDest)
|
||||
DocPos const length = SciCall_GetTextLength();
|
||||
|
||||
if (length <= 0) {
|
||||
EditSetNewText(hwnd, "", 0, false);
|
||||
EditSetNewText(hwnd, "", 0, false, false);
|
||||
Encoding_Current(encDest);
|
||||
return true;
|
||||
}
|
||||
@ -517,7 +515,7 @@ bool EditConvertText(HWND hwnd, cpi_enc_t encSource, cpi_enc_t encDest)
|
||||
if (pchText) {
|
||||
WideCharToMultiByteEx(Encoding_SciCP, 0, pwchText, -1, pchText, cbText, NULL, NULL);
|
||||
FreeMem(pwchText);
|
||||
EditSetNewText(hwnd, pchText, (cbText - 1), true);
|
||||
EditSetNewText(hwnd, pchText, (cbText - 1), true, false);
|
||||
Encoding_Current(encDest);
|
||||
FreeMem(pchText);
|
||||
return true;
|
||||
@ -1151,6 +1149,8 @@ bool EditLoadFile(
|
||||
status->bEncryptedRaw = false;
|
||||
Flags.bHugeFileLoadState = false;
|
||||
|
||||
bool const bReloadFile = (fLoadFlags & FLF_Reload);
|
||||
|
||||
WCHAR wchFName[64];
|
||||
Path_GetDisplayName(wchFName, COUNTOF(wchFName), hfile_pth, L"...", true);
|
||||
WCHAR wchMsg[128];
|
||||
@ -1278,7 +1278,7 @@ bool EditLoadFile(
|
||||
if (cbData == 0) {
|
||||
FileVars_GetFromData(NULL, 0, &Globals.fvCurFile); // init-reset
|
||||
status->iEOLMode = Settings.DefaultEOLMode;
|
||||
EditSetNewText(hwnd, "", 0, false);
|
||||
EditSetNewText(hwnd, "", 0, false, false);
|
||||
SciCall_SetEOLMode(Settings.DefaultEOLMode);
|
||||
Encoding_Forced(CPI_NONE);
|
||||
FreeMem(lpData);
|
||||
@ -1295,9 +1295,9 @@ bool EditLoadFile(
|
||||
status->iEOLMode = Settings.DefaultEOLMode;
|
||||
|
||||
if (bIsUTF8Sig) {
|
||||
EditSetNewText(hwnd, UTF8StringStart(lpData), cbData - 3, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, UTF8StringStart(lpData), cbData - 3, bClearUndoHistory, bReloadFile);
|
||||
} else {
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory, bReloadFile);
|
||||
}
|
||||
|
||||
SciCall_SetEOLMode(Settings.DefaultEOLMode);
|
||||
@ -1365,7 +1365,7 @@ bool EditLoadFile(
|
||||
}
|
||||
|
||||
FileVars_GetFromData(lpDataUTF8, convCnt - 1, &Globals.fvCurFile);
|
||||
EditSetNewText(hwnd, lpDataUTF8, convCnt - 1, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, lpDataUTF8, convCnt - 1, bClearUndoHistory, bReloadFile);
|
||||
EditDetectEOLMode(lpDataUTF8, convCnt - 1, status);
|
||||
FreeMem(lpDataUTF8);
|
||||
|
||||
@ -1380,18 +1380,18 @@ bool EditLoadFile(
|
||||
|
||||
if (bForcedUTF8 || (!bRejectUTF8 && (encDetection.bIsUTF8Sig || bAnalysisUTF8))) {
|
||||
if (encDetection.bIsUTF8Sig) {
|
||||
EditSetNewText(hwnd, UTF8StringStart(lpData), cbData - 3, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, UTF8StringStart(lpData), cbData - 3, bClearUndoHistory, bReloadFile);
|
||||
status->iEncoding = CPI_UTF8SIGN;
|
||||
EditDetectEOLMode(UTF8StringStart(lpData), cbData - 3, status);
|
||||
} else {
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory, bReloadFile);
|
||||
status->iEncoding = CPI_UTF8;
|
||||
EditDetectEOLMode(lpData, cbData, status);
|
||||
}
|
||||
}
|
||||
else if (!IS_ENC_ENFORCED() && (encDetection.bPureASCII7Bit && !encDetection.bHasUnicodeNullBytes)) {
|
||||
// load ASCII(7-bit) as ANSI/UTF-8
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory, bReloadFile);
|
||||
status->iEncoding = (Settings.LoadASCIIasUTF8 ? CPI_UTF8 : CPI_ANSI_DEFAULT);
|
||||
EditDetectEOLMode(lpData, cbData, status);
|
||||
} else { // === ALL OTHER NON UTF-8 ===
|
||||
@ -1409,7 +1409,7 @@ bool EditLoadFile(
|
||||
|
||||
cbData = WideCharToMultiByteEx(Encoding_SciCP, 0, lpDataWide, cbDataWide, lpData, SizeOfMem(lpData), NULL, NULL);
|
||||
if (cbData != 0) {
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory, bReloadFile);
|
||||
EditDetectEOLMode(lpData, cbData, status);
|
||||
FreeMem(lpDataWide);
|
||||
} else {
|
||||
@ -1427,7 +1427,7 @@ bool EditLoadFile(
|
||||
goto observe;
|
||||
}
|
||||
} else {
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory);
|
||||
EditSetNewText(hwnd, lpData, cbData, bClearUndoHistory, bReloadFile);
|
||||
EditDetectEOLMode(lpData, cbData, status);
|
||||
}
|
||||
}
|
||||
@ -1926,7 +1926,7 @@ void EditURLEncode(const bool isPathConvert)
|
||||
UndoTransActionBegin();
|
||||
|
||||
SciCall_TargetFromSelection();
|
||||
SciCall_ReplaceTarget(cchEscapedEnc, pszEscaped);
|
||||
SciCall_ReplaceTargetMinimal(cchEscapedEnc, pszEscaped);
|
||||
|
||||
EditSetAndScrollSelection(iSelStart, iSelStart + cchEscapedEnc, bStraightSel);
|
||||
|
||||
@ -2003,7 +2003,7 @@ void EditURLDecode(const bool isPathConvert)
|
||||
UndoTransActionBegin();
|
||||
|
||||
SciCall_TargetFromSelection();
|
||||
SciCall_ReplaceTarget(cchUnescapedDec, pszUnescaped);
|
||||
SciCall_ReplaceTargetMinimal(cchUnescapedDec, pszUnescaped);
|
||||
|
||||
EditSetAndScrollSelection(iSelStart, iSelStart + cchUnescapedDec, bStraightSel);
|
||||
|
||||
@ -2058,7 +2058,7 @@ void EditReplaceAllChr(const WCHAR chSearch, const WCHAR chReplace) {
|
||||
UndoTransActionBegin();
|
||||
|
||||
SciCall_TargetFromSelection();
|
||||
SciCall_ReplaceTarget(cchRepl, pchReplace);
|
||||
SciCall_ReplaceTargetMinimal(cchRepl, pchReplace);
|
||||
|
||||
EditSetAndScrollSelection(iSelStart, iSelEnd, bStraightSel);
|
||||
|
||||
@ -2131,7 +2131,6 @@ void EditBase64Code(HWND hwnd, const bool bEncode, cpi_enc_t cpi) {
|
||||
UndoTransActionBegin();
|
||||
|
||||
SciCall_TargetFromSelection();
|
||||
|
||||
DocPos const len = (base64Size ? SciCall_ReplaceTarget(base64Size, pBase64CodedTxt) : SciCall_ReplaceTarget(0, ""));
|
||||
FreeMem(pBase64CodedTxt);
|
||||
|
||||
@ -2681,7 +2680,7 @@ void EditTabsToSpaces(int nTabWidth,bool bOnlyIndentingWS)
|
||||
|
||||
UndoTransActionBegin();
|
||||
SciCall_SetTargetRange(iSelStart, iSelEnd);
|
||||
SciCall_ReplaceTarget(cchConvM, pszText2);
|
||||
SciCall_ReplaceTargetMinimal(cchConvM, pszText2);
|
||||
EditSetSelectionEx(iAnchorPos, iCurPos, -1, -1);
|
||||
EndUndoTransAction();
|
||||
FreeMem(pszText2);
|
||||
@ -2793,7 +2792,7 @@ void EditSpacesToTabs(int nTabWidth,bool bOnlyIndentingWS)
|
||||
|
||||
UndoTransActionBegin();
|
||||
SciCall_SetTargetRange(iSelStart, iSelEnd);
|
||||
SciCall_ReplaceTarget(cchConvM, pszText2);
|
||||
SciCall_ReplaceTargetMinimal(cchConvM, pszText2);
|
||||
EditSetSelectionEx(iAnchorPos, iCurPos, -1, -1);
|
||||
EndUndoTransAction();
|
||||
FreeMem(pszText2);
|
||||
@ -3322,7 +3321,6 @@ void EditModifyLines(const PENCLOSESELDATA pEnclData) {
|
||||
}
|
||||
|
||||
EndUndoTransAction();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -3566,7 +3564,7 @@ void EditAlignText(int nMode)
|
||||
ptrdiff_t const cch = WideCharToMultiByteEx(Encoding_SciCP, 0, wchNewLineBuf, -1, chNewLineBuf, (int)iBufCount, NULL, NULL) - 1;
|
||||
|
||||
SciCall_SetTargetRange(SciCall_PositionFromLine(iLine), SciCall_GetLineEndPosition(iLine));
|
||||
SciCall_ReplaceTarget(cch, chNewLineBuf);
|
||||
SciCall_ReplaceTargetMinimal(cch, chNewLineBuf);
|
||||
SciCall_SetLineIndentation(iLine, iMinIndent);
|
||||
} else {
|
||||
chNewLineBuf[0] = '\0';
|
||||
@ -3612,7 +3610,7 @@ void EditAlignText(int nMode)
|
||||
iPos = SciCall_PositionFromLine(iLine);
|
||||
}
|
||||
SciCall_SetTargetRange(iPos, SciCall_GetLineEndPosition(iLine));
|
||||
SciCall_ReplaceTarget(cch, chNewLineBuf);
|
||||
SciCall_ReplaceTargetMinimal(cch, chNewLineBuf);
|
||||
|
||||
if (nMode == ALIGN_LEFT) {
|
||||
SciCall_SetLineIndentation(iLine, iMinIndent);
|
||||
@ -3678,12 +3676,12 @@ void EditEncloseSelection(LPCWSTR pszOpen, LPCWSTR pszClose) {
|
||||
|
||||
if (iLenOpen > 0) {
|
||||
SciCall_SetTargetRange(iSelStart, iSelStart);
|
||||
SciCall_ReplaceTarget(-1, mszOpen);
|
||||
SciCall_ReplaceTargetMinimal(-1, mszOpen);
|
||||
}
|
||||
|
||||
if (iLenClose > 0) {
|
||||
SciCall_SetTargetRange(iSelEnd + iLenOpen, iSelEnd + iLenOpen);
|
||||
SciCall_ReplaceTarget(-1, mszClose);
|
||||
SciCall_ReplaceTargetMinimal(-1, mszClose);
|
||||
}
|
||||
|
||||
// Move selection
|
||||
@ -3790,7 +3788,7 @@ void EditToggleLineCommentsSimple(LPCWSTR pwszComment, bool bInsertAtStart, LnCm
|
||||
DocPos const cch = bHasLnCmnt ? cchComment : cchPrefix;
|
||||
DocPos const iSelPos = iIndentPos + cch;
|
||||
SciCall_SetTargetRange(iIndentPos, iSelPos);
|
||||
SciCall_ReplaceTarget(-1, "");
|
||||
SciCall_ReplaceTarget(0, "");
|
||||
if (iLine == iLineStart) {
|
||||
iSelStartOffset -= (iSelStart <= iIndentPos) ? 0 : (iSelStart < iSelPos) ? (iSelStart - iIndentPos)
|
||||
: cch;
|
||||
@ -3898,7 +3896,7 @@ void EditToggleLineCommentsExtended(LPCWSTR pwszComment, bool bInsertAtStart)
|
||||
iAction = 2;
|
||||
case 2:
|
||||
SciCall_SetTargetRange(iIndentPos, iSelPos);
|
||||
SciCall_ReplaceTarget(-1, "");
|
||||
SciCall_ReplaceTarget(0, "");
|
||||
utarray_push_back(sel_positions, &iIndentPos);
|
||||
break;
|
||||
case 1:
|
||||
@ -3976,7 +3974,7 @@ static DocPos _AppendSpaces(HWND hwnd, DocLn iLineStart, DocLn iLineEnd, DocPos
|
||||
pmszPadStr[iPadLen] = '\0'; // slice
|
||||
|
||||
SciCall_SetTargetRange(iPos, iPos);
|
||||
SciCall_ReplaceTarget(-1, pmszPadStr); // pad
|
||||
SciCall_ReplaceTargetMinimal(-1, pmszPadStr); // pad
|
||||
|
||||
pmszPadStr[iPadLen] = ' '; // reset
|
||||
spcCount += iPadLen;
|
||||
@ -4138,7 +4136,7 @@ void EditStripFirstCharacter(HWND hwnd)
|
||||
if (len > 0) {
|
||||
StringCchCopyNA(lineBuffer, SizeOfMem(lineBuffer), SciCall_GetRangePointer(nextPos, len + 1), len);
|
||||
SciCall_SetTargetRange(selTargetStart, selTargetEnd);
|
||||
SciCall_ReplaceTarget(len, lineBuffer);
|
||||
SciCall_ReplaceTargetMinimal(len, lineBuffer);
|
||||
}
|
||||
remCount += (nextPos - selTargetStart);
|
||||
} // for()
|
||||
@ -4233,7 +4231,7 @@ void EditStripLastCharacter(HWND hwnd, bool bIgnoreSelection, bool bTrailingBlan
|
||||
}
|
||||
diff = len - (++i);
|
||||
SciCall_SetTargetRange(selTargetStart, selTargetEnd);
|
||||
SciCall_ReplaceTarget(-1, lineBuffer);
|
||||
SciCall_ReplaceTargetMinimal(-1, lineBuffer);
|
||||
}
|
||||
} else {
|
||||
DocPos const prevPos = SciCall_PositionBefore(selTargetEnd);
|
||||
@ -4242,7 +4240,7 @@ void EditStripLastCharacter(HWND hwnd, bool bIgnoreSelection, bool bTrailingBlan
|
||||
if (len > 0) {
|
||||
StringCchCopyNA(lineBuffer, iMaxLineLen, SciCall_GetRangePointer(selTargetStart, len + 1), len);
|
||||
SciCall_SetTargetRange(selTargetStart, selTargetEnd);
|
||||
SciCall_ReplaceTarget(len, lineBuffer);
|
||||
SciCall_ReplaceTargetMinimal(len, lineBuffer);
|
||||
}
|
||||
}
|
||||
remCount += diff;
|
||||
@ -4351,7 +4349,7 @@ void EditCompressBlanks()
|
||||
lineBuffer[i] = '\0';
|
||||
diff = len - i;
|
||||
SciCall_SetTargetRange(selTargetStart, selTargetEnd);
|
||||
SciCall_ReplaceTarget(-1, lineBuffer);
|
||||
SciCall_ReplaceTargetMinimal(-1, lineBuffer);
|
||||
}
|
||||
remCount += diff;
|
||||
} // for()
|
||||
@ -4437,7 +4435,7 @@ void EditCompressBlanks()
|
||||
} else {
|
||||
SciCall_TargetWholeDocument();
|
||||
}
|
||||
SciCall_ReplaceTarget(-1, pszOut);
|
||||
SciCall_ReplaceTargetMinimal(-1, pszOut);
|
||||
|
||||
DocPos const iNewLen = (DocPos)StringCchLenA(pszOut, SizeOfMem(pszOut));
|
||||
|
||||
@ -4856,7 +4854,7 @@ void EditWrapToColumn(DocPosU nColumn)
|
||||
UndoTransActionBegin();
|
||||
|
||||
SciCall_SetTargetRange(iSelStart, iSelEnd);
|
||||
SciCall_ReplaceTarget(cchConvM, pszText);
|
||||
SciCall_ReplaceTargetMinimal(cchConvM, pszText);
|
||||
EditSetSelectionEx(iAnchorPos, iCurPos, -1, -1);
|
||||
|
||||
EndUndoTransAction();
|
||||
@ -4994,7 +4992,7 @@ void EditJoinLinesEx(bool bPreserveParagraphs, bool bCRLF2Space)
|
||||
UndoTransActionBegin();
|
||||
|
||||
SciCall_SetTargetRange(iSelStart, iSelEnd);
|
||||
SciCall_ReplaceTarget(cchJoin, pszJoin);
|
||||
SciCall_ReplaceTargetMinimal(cchJoin, pszJoin);
|
||||
EditSetSelectionEx(iAnchorPos, iCurPos, -1, -1);
|
||||
|
||||
EndUndoTransAction();
|
||||
@ -5318,7 +5316,7 @@ void EditSortLines(HWND hwnd, int iSortFlags)
|
||||
|
||||
//SciCall_SetTargetRange(SciCall_PositionFromLine(iLineStart), SciCall_PositionFromLine(iLineEnd + 1));
|
||||
SciCall_SetTargetRange(SciCall_PositionFromLine(iLineStart), SciCall_GetLineEndPosition(iLineEnd));
|
||||
SciCall_ReplaceTarget(-1, pmszResult);
|
||||
SciCall_ReplaceTargetMinimal(-1, pmszResult);
|
||||
FreeMem(pmszResult);
|
||||
if (bIsMultiSel) {
|
||||
EditSetSelectionEx(iAnchorPos, iCurPos, iAnchorPosVS, iCurPosVS);
|
||||
@ -6012,11 +6010,7 @@ static RegExResult_t _FindHasMatch(HWND hwnd, const LPEDITFINDREPLACE lpefr, Doc
|
||||
//
|
||||
static void _DelayMarkAll(int delay)
|
||||
{
|
||||
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_CALLBACK_MRKALL, 0LL);
|
||||
if (mqc.hwnd != Globals.hwndDlgFindReplace) {
|
||||
mqc.hwnd = Globals.hwndDlgFindReplace;
|
||||
//mqc.lparam = 0LL; // start position always 0
|
||||
}
|
||||
CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(Globals.hwndDlgFindReplace, IDT_TIMER_CALLBACK_MRKALL, 0LL);
|
||||
_MQ_AppendCmd(&mqc, _MQ_ms2cycl(delay));
|
||||
}
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ void ReleaseEFR(LPEDITFINDREPLACE efr);
|
||||
void EditInitializeSciCtrl(HWND);
|
||||
void EditReplaceSelection(const char* text, bool bForceSel);
|
||||
void EditInitWordDelimiter(HWND hwnd);
|
||||
void EditSetNewText(HWND hwnd, const char* lpstrText, DocPosU lenText, bool bClearUndoHistory);
|
||||
void EditSetNewText(HWND hwnd, const char* lpstrText, DocPosU lenText, bool bClearUndoHistory, bool bReload);
|
||||
bool EditConvertText(HWND hwnd, cpi_enc_t encSource, cpi_enc_t encDest);
|
||||
bool EditSetNewEncoding(HWND hwnd, cpi_enc_t iNewEncoding,bool bSupressWarning);
|
||||
bool EditIsRecodingNeeded(WCHAR* pszText,int cchLen);
|
||||
@ -115,7 +115,7 @@ bool EditAlignDlg(HWND hwnd,int* piAlignMode);
|
||||
bool EditPrint(HWND,LPCWSTR,LPCWSTR);
|
||||
void EditPrintSetup(HWND hwnd);
|
||||
void EditPrintInit();
|
||||
bool EditSetDocumentBuffer(const char* lpstrText, DocPosU lenText);
|
||||
bool EditSetDocumentBuffer(const char* lpstrText, DocPosU lenText, bool reload);
|
||||
void EditMatchBrace(HWND hwnd);
|
||||
void EditClearAllOccurrenceMarkers(HWND hwnd);
|
||||
void EditClearAllBookMarks(HWND hwnd);
|
||||
|
||||
@ -1741,12 +1741,10 @@ HWND InitInstance(const HINSTANCE hInstance, LPCWSTR pszCmdLine, int nCmdShow)
|
||||
|
||||
Globals.hwndMain = hwndMain; // make main window globaly available
|
||||
|
||||
// Current file information -- moved in front of ShowWindow()
|
||||
// Initial FileLoad() moved in front of ShowWindow()
|
||||
HPATHL hfile_pth = Path_Allocate(L"");
|
||||
FileLoadFlags fLoadFlags = FLF_DontSave | FLF_New | FLF_SkipUnicodeDetect | FLF_SkipANSICPDetection;
|
||||
if (Path_IsEmpty(s_pthArgFilePath)) {
|
||||
FileLoad(hfile_pth, fLoadFlags);
|
||||
}
|
||||
FileLoad(hfile_pth, fLoadFlags); // int editor frame
|
||||
|
||||
if (!s_flagStartAsTrayIcon) {
|
||||
ShowWindow(hwndMain,nCmdShow);
|
||||
@ -8054,7 +8052,7 @@ void HandleColorDefClicked(HWND hwnd, const DocPos position)
|
||||
}
|
||||
|
||||
SciCall_SetTargetRange(firstPos, lastPos);
|
||||
SciCall_ReplaceTarget(length, wchColor);
|
||||
SciCall_ReplaceTargetMinimal(length, wchColor);
|
||||
|
||||
EditUpdateVisibleIndicators();
|
||||
}
|
||||
@ -9379,11 +9377,7 @@ void CheckAutoLoadMostRecent()
|
||||
//
|
||||
static void _DelayUpdateStatusbar(const int delay, const bool bForceRedraw)
|
||||
{
|
||||
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_UPDATE_STATUSBAR, 0LL);
|
||||
if (!mqc.hwnd) {
|
||||
mqc.hwnd = Globals.hwndMain;
|
||||
}
|
||||
mqc.lparam = (LPARAM)bForceRedraw;
|
||||
CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(Globals.hwndMain, IDT_TIMER_UPDATE_STATUSBAR, bForceRedraw);
|
||||
_MQ_AppendCmd(&mqc, _MQ_ms2cycl(delay));
|
||||
}
|
||||
|
||||
@ -9394,10 +9388,7 @@ static void _DelayUpdateStatusbar(const int delay, const bool bForceRedraw)
|
||||
//
|
||||
static void _DelayUpdateToolbar(const int delay)
|
||||
{
|
||||
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_UPDATE_TOOLBAR, 0LL);
|
||||
if (!mqc.hwnd) {
|
||||
mqc.hwnd = Globals.hwndMain;
|
||||
}
|
||||
CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(Globals.hwndMain, IDT_TIMER_UPDATE_TOOLBAR, 0LL);
|
||||
_MQ_AppendCmd(&mqc, _MQ_ms2cycl(delay));
|
||||
}
|
||||
|
||||
@ -9408,11 +9399,7 @@ static void _DelayUpdateToolbar(const int delay)
|
||||
//
|
||||
static void _DelayUpdateTitlebar(const int delay, const HWND hwnd)
|
||||
{
|
||||
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_UPDATE_TITLEBAR, 0LL);
|
||||
if (!mqc.hwnd) {
|
||||
mqc.hwnd = Globals.hwndMain;
|
||||
}
|
||||
mqc.lparam = (LPARAM)hwnd;
|
||||
CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(Globals.hwndMain, IDT_TIMER_UPDATE_TITLEBAR, (LPARAM)hwnd);
|
||||
_MQ_AppendCmd(&mqc, _MQ_ms2cycl(delay));
|
||||
}
|
||||
|
||||
@ -9423,10 +9410,7 @@ static void _DelayUpdateTitlebar(const int delay, const HWND hwnd)
|
||||
//
|
||||
static void _DelayClearCallTip(const int delay)
|
||||
{
|
||||
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_CLEAR_CALLTIP, 0LL);
|
||||
if (!mqc.hwnd) {
|
||||
mqc.hwnd = Globals.hwndMain;
|
||||
}
|
||||
CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(Globals.hwndMain, IDT_TIMER_CLEAR_CALLTIP, 0LL);
|
||||
_MQ_AppendCmd(&mqc, _MQ_ms2cycl(delay));
|
||||
}
|
||||
|
||||
@ -9437,10 +9421,7 @@ static void _DelayClearCallTip(const int delay)
|
||||
//
|
||||
static void _DelaySplitUndoTransaction(const int delay)
|
||||
{
|
||||
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_UNDO_TRANSACTION, 0);
|
||||
if (!mqc.hwnd) {
|
||||
mqc.hwnd = Globals.hwndMain;
|
||||
}
|
||||
CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(Globals.hwndMain, IDT_TIMER_UNDO_TRANSACTION, 0);
|
||||
_MQ_AppendCmd(&mqc, _MQ_ms2cycl(delay));
|
||||
}
|
||||
|
||||
@ -9451,11 +9432,7 @@ static void _DelaySplitUndoTransaction(const int delay)
|
||||
//
|
||||
void MarkAllOccurrences(const int delay, const bool bForceClear)
|
||||
{
|
||||
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_CALLBACK_MRKALL, 0);
|
||||
if (!mqc.hwnd) {
|
||||
mqc.hwnd = Globals.hwndMain;
|
||||
}
|
||||
mqc.lparam = (LPARAM)bForceClear;
|
||||
CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(Globals.hwndMain, IDT_TIMER_CALLBACK_MRKALL, bForceClear);
|
||||
int const timer = (delay < 0) ? Settings2.UpdateDelayMarkAllOccurrences : delay;
|
||||
_MQ_AppendCmd(&mqc, _MQ_ms2cycl(timer));
|
||||
}
|
||||
@ -10869,7 +10846,6 @@ bool FileIO(bool fLoad, const HPATHL hfile_pth, EditFileIOStatus* status,
|
||||
bool bSuccess = false;
|
||||
|
||||
if (fLoad) {
|
||||
SciCall_SetReadOnly(false);
|
||||
bSuccess = EditLoadFile(Globals.hwndEdit, hfile_pth, status, fLoadFlags, bSetSavePoint);
|
||||
SciCall_SetReadOnly(Settings.DocReadOnlyMode);
|
||||
}
|
||||
@ -10984,7 +10960,7 @@ bool FileLoad(const HPATHL hfile_pth, const FileLoadFlags fLoadFlags)
|
||||
}
|
||||
FileVars_GetFromData(NULL, 0, &Globals.fvCurFile); // init-reset
|
||||
|
||||
EditSetNewText(Globals.hwndEdit, "", 0, false);
|
||||
EditSetNewText(Globals.hwndEdit, "", 0, false, false);
|
||||
|
||||
SciCall_SetEOLMode(Settings.DefaultEOLMode);
|
||||
Encoding_Current(Settings.DefaultEncoding);
|
||||
@ -11065,7 +11041,7 @@ bool FileLoad(const HPATHL hfile_pth, const FileLoadFlags fLoadFlags)
|
||||
fSuccess = IS_VALID_HANDLE(hFile);
|
||||
if (fSuccess) {
|
||||
FileVars_GetFromData(NULL, 0, &Globals.fvCurFile); // init/reset
|
||||
EditSetNewText(Globals.hwndEdit, "", 0, false);
|
||||
EditSetNewText(Globals.hwndEdit, "", 0, false, false);
|
||||
Style_SetDefaultLexer(Globals.hwndEdit);
|
||||
SciCall_SetEOLMode(Settings.DefaultEOLMode);
|
||||
if (Encoding_IsValid(Encoding_Forced(CPI_GET))) {
|
||||
@ -11099,9 +11075,7 @@ bool FileLoad(const HPATHL hfile_pth, const FileLoadFlags fLoadFlags)
|
||||
}
|
||||
if (bReloadFile && !FileWatching.MonitoringLog) {
|
||||
Sci_GotoPosChooseCaret(0);
|
||||
UndoTransActionBegin();
|
||||
fSuccess = FileIO(true, hopen_file, &fioStatus, fLoadFlags, FSF_None, !bReloadFile);
|
||||
EndUndoTransAction();
|
||||
}
|
||||
else {
|
||||
fSuccess = FileIO(true, hopen_file, &fioStatus, fLoadFlags, FSF_None, !s_IsThisAnElevatedRelaunch);
|
||||
|
||||
@ -367,6 +367,7 @@ DeclareSciCallV0(TargetFromSelection, TARGETFROMSELECTION);
|
||||
DeclareSciCallV0(TargetWholeDocument, TARGETWHOLEDOCUMENT);
|
||||
DeclareSciCallV2(SetTargetRange, SETTARGETRANGE, DocPos, start, DocPos, end);
|
||||
DeclareSciCallR2(ReplaceTarget, REPLACETARGET, DocPos, DocPos, length, const char*, text);
|
||||
DeclareSciCallR2(ReplaceTargetMinimal, REPLACETARGETMINIMAL, DocPos, DocPos, length, const char*, text);
|
||||
DeclareSciCallR2(ReplaceTargetRe, REPLACETARGETRE, DocPos, DocPos, length, const char*, text);
|
||||
DeclareSciCallV2(AddText, ADDTEXT, DocPos, length, const char*, text);
|
||||
DeclareSciCallV1(SetSearchFlags, SETSEARCHFLAGS, int, flags);
|
||||
|
||||
@ -330,8 +330,8 @@ typedef struct CmdMessageQueue_t {
|
||||
|
||||
} CmdMessageQueue_t;
|
||||
|
||||
#define MESSAGE_QUEUE_INIT(cmd,wp,lp) { NULL, (cmd), MAKEWPARAM((wp), 1), ((LPARAM)(DWORD)(lp)), -1, NULL, NULL }
|
||||
#define MQ_WM_CMD_INIT(wp,lp) MESSAGE_QUEUE_INIT(WM_COMMAND, (wp), (lp))
|
||||
#define MESSAGE_QUEUE_INIT(hwnd,cmd,wp,lp) { (hwnd), (cmd), MAKEWPARAM((wp), 1), ((LPARAM)(DWORD)(lp)), -1, NULL, NULL }
|
||||
#define MQ_WM_CMD_INIT(hw,wp,lp) MESSAGE_QUEUE_INIT((hw), WM_COMMAND, (wp), (lp))
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user