+ chg: enable Undo on FileRevert / AutoReload

This commit is contained in:
Rainer Kottenhoff 2019-05-11 16:35:39 +02:00
parent 69cd94da4e
commit 789b80c318
9 changed files with 184 additions and 191 deletions

View File

@ -1118,8 +1118,9 @@ static INT_PTR CALLBACK OpenWithDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM
break;
case NM_DBLCLK:
if (ListView_GetSelectedCount(GetDlgItem(hwnd,IDC_OPENWITHDIR)))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDOK,1),0);
if (ListView_GetSelectedCount(GetDlgItem(hwnd, IDC_OPENWITHDIR))) {
SendWMCommand(hwnd, IDOK);
}
break;
}
}
@ -1316,8 +1317,9 @@ static INT_PTR CALLBACK FavoritesDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
break;
case NM_DBLCLK:
if (ListView_GetSelectedCount(GetDlgItem(hwnd,IDC_FAVORITESDIR)))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDOK,1),0);
if (ListView_GetSelectedCount(GetDlgItem(hwnd, IDC_FAVORITESDIR))) {
SendWMCommand(hwnd, IDOK);
}
break;
}
}
@ -1607,6 +1609,8 @@ DWORD WINAPI FileMRUIconThread(LPVOID lpParam) {
//return(0);
}
#define IDC_FILEMRU_UPDATE_VIEW (WM_USER+1)
static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
{
switch(umsg)
@ -1646,7 +1650,7 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM
ListView_InsertColumn(GetDlgItem(hwnd,IDC_FILEMRU),0,&lvc);
// Update view
SendMessage(hwnd,WM_COMMAND,MAKELONG(0x00A0,1),0);
SendWMCommand(hwnd, IDC_FILEMRU_UPDATE_VIEW);
CheckDlgButton(hwnd, IDC_SAVEMRU, SetBtn(Settings.SaveRecentFiles));
CheckDlgButton(hwnd, IDC_PRESERVECARET, SetBtn(Settings.PreserveCaretPos));
@ -1727,7 +1731,7 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM
switch (((LPNMHDR)(lParam))->code) {
case NM_DBLCLK:
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDOK,1),0);
SendWMCommand(hwnd, IDOK);
break;
@ -1816,8 +1820,7 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM
switch(LOWORD(wParam))
{
case 0x00A0:
case IDC_FILEMRU_UPDATE_VIEW:
{
int i;
WCHAR tch[MAX_PATH] = { L'\0' };
@ -1919,7 +1922,7 @@ static INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM
//SendDlgItemMessage(hwnd,IDC_FILEMRU,LB_DELETESTRING,(WPARAM)iItem,0);
//ListView_DeleteItem(GetDlgItem(hwnd,IDC_FILEMRU),lvi.iItem);
// must use IDM_VIEW_REFRESH, index might change...
SendMessage(hwnd,WM_COMMAND,MAKELONG(0x00A0,1),0);
SendWMCommand(hwnd, IDC_FILEMRU_UPDATE_VIEW);
//DialogEnableWindow(hwnd,IDOK,
// (LB_ERR != SendDlgItemMessage(hwnd,IDC_GOTO,LB_GETCURSEL,0,0)));
@ -2010,12 +2013,12 @@ static INT_PTR CALLBACK ChangeNotifyDlgProc(HWND hwnd, UINT umsg, WPARAM wParam,
else {
Settings.FileWatchingMode = FWM_AUTORELOAD;
}
if (!FileWatching.ChasingDocTail) { FileWatching.FileWatchingMode = Settings.FileWatchingMode; }
if (!FileWatching.MonitoringLog) { FileWatching.FileWatchingMode = Settings.FileWatchingMode; }
Settings.ResetFileWatching = IsButtonChecked(hwnd, 103);
if (!FileWatching.ChasingDocTail) { FileWatching.ResetFileWatching = Settings.ResetFileWatching; }
if (!FileWatching.MonitoringLog) { FileWatching.ResetFileWatching = Settings.ResetFileWatching; }
if (FileWatching.ChasingDocTail) { PostMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_VIEW_CHASING_DOCTAIL, 1), 0); }
if (FileWatching.MonitoringLog) { PostWMCommand(Globals.hwndMain, IDM_VIEW_CHASING_DOCTAIL); }
EndDialog(hwnd, IDOK);
break;
@ -2714,7 +2717,7 @@ static INT_PTR CALLBACK SelectEncodingDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,
switch (((LPNMHDR)(lParam))->code) {
case NM_DBLCLK:
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDOK,1),0);
SendWMCommand(hwnd, IDOK);
break;
case LVN_ITEMCHANGED:

View File

@ -301,67 +301,48 @@ void EditInitWordDelimiter(HWND hwnd)
}
//=============================================================================
//
// _ClearTextBuffer()
//
void _ClearTextBuffer(HWND hwnd, bool bSetSavePoint)
{
if (bSetSavePoint) {
UndoRedoRecordingStop();
}
SciCall_Cancel();
_IGNORE_NOTIFY_CHANGE_;
if (SciCall_GetReadOnly()) { SciCall_SetReadOnly(false); }
EditClearAllOccurrenceMarkers(hwnd);
if (FocusedView.HideNonMatchedLines) { EditToggleView(hwnd); }
SendMessage(hwnd, SCI_CLEARALL, 0, 0);
SendMessage(hwnd, SCI_MARKERDELETEALL, (WPARAM)MARKER_NP3_BOOKMARK, 0);
SendMessage(hwnd, SCI_SETSCROLLWIDTH, 1, 0);
SendMessage(hwnd, SCI_SETXOFFSET, 0, 0);
_OBSERVE_NOTIFY_CHANGE_;
}
//=============================================================================
//
// _InitTextBuffer()
//
void _InitTextBuffer(HWND hwnd, const char* lpstrText, DocPos textLen, bool bSetSavePoint)
{
UNUSED(hwnd);
if (textLen > 0) {
SciCall_AddText(textLen, lpstrText);
}
SciCall_GotoPos(0);
SciCall_ChooseCaretX();
if (bSetSavePoint) {
UndoRedoRecordingStart();
SciCall_SetSavePoint();
}
}
//=============================================================================
//
// EditSetNewText()
//
extern bool bFreezeAppTitle;
void EditSetNewText(HWND hwnd,char* lpstrText,DWORD cbText, bool bSetSavePoint)
void EditSetNewText(HWND hwnd, const char* lpstrText, DocPos lenText, bool bSetSavePoint)
{
bFreezeAppTitle = true;
_ClearTextBuffer(hwnd, bSetSavePoint);
// clear markers, flags and positions
if (bSetSavePoint) { UndoRedoRecordingStop(); }
_IGNORE_NOTIFY_CHANGE_;
SciCall_Cancel();
if (FocusedView.HideNonMatchedLines) { EditToggleView(hwnd); }
if (SciCall_GetReadOnly()) { SciCall_SetReadOnly(false); }
SciCall_MarkerDeleteAll(MARKER_NP3_BOOKMARK);
EditClearAllOccurrenceMarkers(hwnd);
SciCall_SetScrollWidth(1);
SciCall_SetXOffset(0);
_OBSERVE_NOTIFY_CHANGE_;
FileVars_Apply(&Globals.fvCurFile);
_InitTextBuffer(hwnd, lpstrText, cbText, bSetSavePoint);
// set new text
if (lenText > 0) {
_ENTER_TARGET_TRANSACTION_;
SciCall_TargetWholeDocument();
SciCall_ReplaceTarget(lenText, lpstrText);
_LEAVE_TARGET_TRANSACTION_;
}
else {
SciCall_ClearAll();
}
SciCall_GotoPos(0);
SciCall_ChooseCaretX();
if (bSetSavePoint) {
UndoRedoRecordingStart();
SciCall_SetSavePoint();
}
bFreezeAppTitle = false;
}
@ -385,8 +366,7 @@ bool EditConvertText(HWND hwnd, cpi_enc_t encSource, cpi_enc_t encDest, bool bSe
if (length == 0)
{
_ClearTextBuffer(hwnd, bSetSavePoint);
_InitTextBuffer(hwnd, NULL, length, bSetSavePoint);
EditSetNewText(hwnd, "", length, bSetSavePoint);
}
else {
@ -417,8 +397,7 @@ bool EditConvertText(HWND hwnd, cpi_enc_t encSource, cpi_enc_t encDest, bool bSe
FreeMem(pwchText);
_ClearTextBuffer(hwnd, bSetSavePoint);
_InitTextBuffer(hwnd, pchText, cbText, bSetSavePoint);
EditSetNewText(hwnd, pchText, cbText, bSetSavePoint);
FreeMem(pchText);
}
@ -532,7 +511,7 @@ char* EditGetClipboardText(HWND hwnd, bool bCheckEncoding, int* pLineCount, int*
const DocPos iAnchor = SciCall_GetAnchor();
// switch encoding to universal UTF-8 codepage
SendMessage(Globals.hwndMain,WM_COMMAND,(WPARAM)MAKELONG(IDM_ENCODING_UTF8,1),0);
SendWMCommand(Globals.hwndMain, IDM_ENCODING_UTF8);
// restore and adjust selection
if (iPos > iAnchor) {
@ -5010,7 +4989,7 @@ static RegExResult_t _FindHasMatch(HWND hwnd, LPCEDITFINDREPLACE lpefr, DocPos
//
static void _DelayMarkAll(HWND hwnd, int delay, DocPos iStartPos)
{
static CmdMessageQueue_t mqc = { NULL, WM_COMMAND, (WPARAM)MAKELONG(IDT_TIMER_MAIN_MRKALL, 1), (LPARAM)0 , 0 };
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_MAIN_MRKALL, 0);
mqc.hwnd = hwnd;
mqc.lparam = (LPARAM)iStartPos;
@ -5217,7 +5196,7 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
// find first occurrence of clip-board text
//if (!SciCall_IsSelectionRectangle() && SciCall_IsSelectionEmpty()) {
// PostMessage(hwnd, WM_COMMAND, MAKELONG(IDOK, 1), 0);
// PostWMCommand(hwnd, IDOK);
//}
SetTimer(hwnd, IDT_TIMER_MRKALL, USER_TIMER_MINIMUM, MQ_ExecuteNext);
@ -5516,7 +5495,7 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
}
else if (sg_pefrData->bStateChanged) {
if (FocusedView.HideNonMatchedLines) {
SendMessage(hwnd, WM_COMMAND, MAKELONG(IDC_TOGGLE_VISIBILITY, 1), 0);
SendWMCommand(hwnd, IDC_TOGGLE_VISIBILITY);
}
else {
EditClearAllOccurrenceMarkers(sg_pefrData->hwnd);
@ -5547,7 +5526,7 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
EnableCmd(GetMenu(Globals.hwndMain), IDM_VIEW_TOGGLE_VIEW, true);
if (FocusedView.HideNonMatchedLines) {
SendMessage(hwnd, WM_COMMAND, MAKELONG(IDC_TOGGLE_VISIBILITY, 1), 0);
SendWMCommand(hwnd, IDC_TOGGLE_VISIBILITY);
}
else {
EditClearAllOccurrenceMarkers(sg_pefrData->hwnd);
@ -5789,11 +5768,11 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
break;
case IDACC_FIND:
PostMessage(GetParent(hwnd), WM_COMMAND, MAKELONG(IDM_EDIT_FIND, 1), 0);
PostWMCommand(GetParent(hwnd), IDM_EDIT_FIND);
break;
case IDACC_REPLACE:
PostMessage(GetParent(hwnd), WM_COMMAND, MAKELONG(IDM_EDIT_REPLACE, 1), 0);
PostWMCommand(GetParent(hwnd), IDM_EDIT_REPLACE);
break;
case IDACC_SAVEPOS:
@ -5808,23 +5787,24 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
case IDACC_FINDNEXT:
//SetFocus(Globals.hwndMain);
//SetForegroundWindow(Globals.hwndMain);
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDOK, 1), 0);
PostWMCommand(hwnd, IDOK);
break;
case IDACC_FINDPREV:
//SetFocus(Globals.hwndMain);
//SetForegroundWindow(Globals.hwndMain);
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDC_FINDPREV, 1), 0);
PostWMCommand(hwnd, IDC_FINDPREV);
break;
case IDACC_REPLACENEXT:
if (GetDlgItem(hwnd, IDC_REPLACE) != NULL)
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDC_REPLACE, 1), 0);
if (GetDlgItem(hwnd, IDC_REPLACE) != NULL) {
PostWMCommand(hwnd, IDC_REPLACE);
}
break;
case IDACC_SAVEFIND:
Globals.FindReplaceMatchFoundState = FND_NOP;
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_EDIT_SAVEFIND, 1), 0);
SendWMCommand(Globals.hwndMain, IDM_EDIT_SAVEFIND);
SetDlgItemTextMB2W(hwnd, IDC_FINDTEXT, sg_pefrData->szFind);
CheckDlgButton(hwnd, IDC_FINDREGEXP, BST_UNCHECKED);
CheckDlgButton(hwnd, IDC_DOT_MATCH_ALL, BST_UNCHECKED);
@ -5834,7 +5814,7 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
break;
case IDACC_VIEWSCHEMECONFIG:
PostMessage(GetParent(hwnd), WM_COMMAND, MAKELONG(IDM_VIEW_SCHEMECONFIG, 1), 0);
PostWMCommand(GetParent(hwnd), IDM_VIEW_SCHEMECONFIG);
break;
default:
@ -5848,11 +5828,11 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
case WM_SYSCOMMAND:
if (wParam == IDS_MUI_SAVEPOS) {
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDACC_SAVEPOS, 0), 0);
PostWMCommand(hwnd, IDACC_SAVEPOS);
return true;
}
else if (wParam == IDS_MUI_RESETPOS) {
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDACC_RESETPOS, 0), 0);
PostWMCommand(hwnd, IDACC_RESETPOS);
return true;
}
else
@ -5867,10 +5847,12 @@ static INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wPara
case NM_CLICK:
case NM_RETURN:
if (pnmhdr->idFrom == IDC_TOGGLEFINDREPLACE) {
if (GetDlgItem(hwnd, IDC_REPLACE))
PostMessage(GetParent(hwnd), WM_COMMAND, MAKELONG(IDM_EDIT_FIND, 1), 0);
else
PostMessage(GetParent(hwnd), WM_COMMAND, MAKELONG(IDM_EDIT_REPLACE, 1), 0);
if (GetDlgItem(hwnd, IDC_REPLACE)) {
PostWMCommand(GetParent(hwnd), IDM_EDIT_FIND);
}
else {
PostWMCommand(GetParent(hwnd), IDM_EDIT_REPLACE);
}
}
// Display help messages in the find/replace windows
else if (pnmhdr->idFrom == IDC_BACKSLASHHELP) {

View File

@ -22,7 +22,7 @@
void EditInitializeSciCtrl(HWND);
void EditInitWordDelimiter(HWND hwnd);
void EditSetNewText(HWND hwnd,char* lpstrText,DWORD cbText,bool);
void EditSetNewText(HWND hwnd,const char* lpstrText,DocPos lenText,bool);
bool EditConvertText(HWND hwnd, cpi_enc_t encSource, cpi_enc_t encDest,bool);
bool EditSetNewEncoding(HWND hwnd, cpi_enc_t iNewEncoding,bool,bool);
bool EditIsRecodingNeeded(WCHAR* pszText,int cchLen);

View File

@ -139,6 +139,10 @@ inline bool IsAsyncKeyDown(int key) { return (((GetAsyncKeyState(key) >> 8) & 0x
// ----------------------------------------------------------------------------
#define SendWMCommandEx(hwnd, id, extra) SendMessage(hwnd, WM_COMMAND, MAKEWPARAM((id), (extra)), 0)
#define SendWMCommand(hwnd, id) SendWMCommandEx(hwnd, (id), 1)
#define PostWMCommand(hwnd, id) PostMessage(hwnd, WM_COMMAND, MAKEWPARAM((id), 1), 0)
//==== StrIs(Not)Empty() =============================================
inline bool StrIsEmptyA(LPCSTR s) { return (!s || (*s == '\0')); }

View File

@ -451,7 +451,7 @@ static void _SetSaveNeededFlag(const bool setSaveNeeded)
}
// notify Search/Replace dialog
if (IsWindow(Globals.hwndDlgFindReplace)) {
PostMessage(Globals.hwndDlgFindReplace, WM_COMMAND, MAKELONG(IDC_DOC_MODIFIED, 1), 0);
PostWMCommand(Globals.hwndDlgFindReplace, IDC_DOC_MODIFIED);
}
}
}
@ -513,7 +513,7 @@ static void _InitGlobals()
FileWatching.flagChangeNotify = FWM_NONE;
FileWatching.FileWatchingMode = FWM_NONE;
FileWatching.ResetFileWatching = true;
FileWatching.ChasingDocTail = false;
FileWatching.MonitoringLog = false;
}
@ -1091,8 +1091,8 @@ HWND InitInstance(HINSTANCE hInstance,LPCWSTR pszCmdLine,int nCmdShow)
InstallFileWatching(Globals.CurrentFile);
}
else if (s_flagChangeNotify == 2) {
if (!FileWatching.ChasingDocTail) {
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_VIEW_CHASING_DOCTAIL, 1), 0);
if (!FileWatching.MonitoringLog) {
SendWMCommand(Globals.hwndMain, IDM_VIEW_CHASING_DOCTAIL);
}
else {
FileWatching.FileWatchingMode = FWM_AUTORELOAD;
@ -1152,7 +1152,7 @@ HWND InitInstance(HINSTANCE hInstance,LPCWSTR pszCmdLine,int nCmdShow)
// EOL mode
if (s_flagSetEOLMode != 0) {
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_LINEENDINGS_CRLF + s_flagSetEOLMode -1, 1), 0);
SendWMCommand(Globals.hwndMain, IDM_LINEENDINGS_CRLF + s_flagSetEOLMode - 1);
s_flagSetEOLMode = 0;
}
@ -2574,8 +2574,8 @@ LRESULT MsgCopyData(HWND hwnd, WPARAM wParam, LPARAM lParam)
InstallFileWatching(Globals.CurrentFile);
}
else if (params->flagChangeNotify == FWM_AUTORELOAD) {
if (!FileWatching.ChasingDocTail) {
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_VIEW_CHASING_DOCTAIL, 1), 0);
if (!FileWatching.MonitoringLog) {
SendWMCommand(Globals.hwndMain, IDM_VIEW_CHASING_DOCTAIL);
}
else {
FileWatching.FileWatchingMode = FWM_AUTORELOAD;
@ -2592,7 +2592,7 @@ LRESULT MsgCopyData(HWND hwnd, WPARAM wParam, LPARAM lParam)
if (0 != params->flagSetEOLMode) {
s_flagSetEOLMode = params->flagSetEOLMode;
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_LINEENDINGS_CRLF + s_flagSetEOLMode - 1, 1), 0);
SendWMCommand(Globals.hwndMain, IDM_LINEENDINGS_CRLF + s_flagSetEOLMode - 1);
s_flagSetEOLMode = 0;
}
@ -2712,9 +2712,9 @@ LRESULT MsgChangeNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
FileRevert(Globals.CurrentFile, Encoding_HasChanged(CPI_GET));
if (FileWatching.ChasingDocTail)
if (FileWatching.MonitoringLog)
{
SciCall_SetReadOnly(FileWatching.ChasingDocTail);
SciCall_SetReadOnly(FileWatching.MonitoringLog);
//SetForegroundWindow(hwnd);
SciCall_ScrollToEnd();
}
@ -3020,7 +3020,7 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam)
CheckCmd(hmenu,IDM_VIEW_AUTOINDENTTEXT,Settings.AutoIndent);
CheckCmd(hmenu,IDM_VIEW_LINENUMBERS,Settings.ShowLineNumbers);
CheckCmd(hmenu,IDM_VIEW_MARGIN,Settings.ShowSelectionMargin);
CheckCmd(hmenu,IDM_VIEW_CHASING_DOCTAIL, FileWatching.ChasingDocTail);
CheckCmd(hmenu,IDM_VIEW_CHASING_DOCTAIL, FileWatching.MonitoringLog);
EnableCmd(hmenu,IDM_EDIT_COMPLETEWORD,!e && !ro);
CheckCmd(hmenu,IDM_VIEW_AUTOCOMPLETEWORDS,Settings.AutoCompleteWords && !ro);
@ -3273,9 +3273,9 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDM_FILE_REVERT:
if (IsSaveNeeded(ISN_GET) && InfoBoxLng(MB_YESNO | MB_ICONQUESTION, NULL, IDS_MUI_ASK_REVERT) != IDYES) {
break;
}
//§§§if (IsSaveNeeded(ISN_GET) && InfoBoxLng(MB_YESNO | MB_ICONQUESTION, NULL, IDS_MUI_ASK_REVERT) != IDYES) {
//§§§ break;
//§§§}
FileRevert(Globals.CurrentFile, Encoding_HasChanged(CPI_GET));
break;
@ -4618,7 +4618,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
else {
Globals.bFindReplCopySelOrClip = (GetForegroundWindow() != Globals.hwndDlgFindReplace);
if (GetDlgItem(Globals.hwndDlgFindReplace, IDC_REPLACE)) {
SendMessage(Globals.hwndDlgFindReplace, WM_COMMAND, MAKELONG(IDMSG_SWITCHTOFIND, 1), 0);
SendWMCommand(Globals.hwndDlgFindReplace, IDMSG_SWITCHTOFIND);
DestroyWindow(Globals.hwndDlgFindReplace);
Globals.hwndDlgFindReplace = EditFindReplaceDlg(Globals.hwndEdit, &Settings.EFR_Data, false);
}
@ -4639,7 +4639,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
else {
Globals.bFindReplCopySelOrClip = (GetForegroundWindow() != Globals.hwndDlgFindReplace);
if (!GetDlgItem(Globals.hwndDlgFindReplace, IDC_REPLACE)) {
SendMessage(Globals.hwndDlgFindReplace, WM_COMMAND, MAKELONG(IDMSG_SWITCHTOREPLACE, 1), 0);
SendWMCommand(Globals.hwndDlgFindReplace, IDMSG_SWITCHTOREPLACE);
DestroyWindow(Globals.hwndDlgFindReplace);
Globals.hwndDlgFindReplace = EditFindReplaceDlg(Globals.hwndEdit, &Settings.EFR_Data, true);
}
@ -4662,10 +4662,12 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
if (IsFindPatternEmpty() && !StringCchLenA(Settings.EFR_Data.szFind, COUNTOF(Settings.EFR_Data.szFind)))
{
if (iLoWParam != IDM_EDIT_REPLACENEXT)
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_FIND,1),0);
else
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_REPLACE,1),0);
if (iLoWParam != IDM_EDIT_REPLACENEXT) {
SendWMCommand(hwnd, IDM_EDIT_FIND);
}
else {
SendWMCommand(hwnd, IDM_EDIT_REPLACE);
}
}
else {
@ -4686,10 +4688,12 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
break;
case IDM_EDIT_REPLACENEXT:
if (Globals.bReplaceInitialized)
EditReplace(Globals.hwndEdit,&Settings.EFR_Data);
else
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_REPLACE,1),0);
if (Globals.bReplaceInitialized) {
EditReplace(Globals.hwndEdit, &Settings.EFR_Data);
}
else {
SendWMCommand(hwnd, IDM_EDIT_REPLACE);
}
break;
case IDM_EDIT_SELTONEXT:
@ -4718,7 +4722,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
if (1 >= cchSelection)
{
SendMessage(hwnd, WM_COMMAND, MAKELONG(IDM_EDIT_SELECTWORD, 1), 0);
SendWMCommand(hwnd, IDM_EDIT_SELECTWORD);
cchSelection = SciCall_GetSelText(NULL);
}
@ -4799,7 +4803,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
else {
SetForegroundWindow(Globals.hwndDlgCustomizeSchemes);
}
PostMessage(Globals.hwndDlgCustomizeSchemes, WM_COMMAND, MAKELONG(IDC_SETCURLEXERTV, 1), 0);
PostWMCommand(Globals.hwndDlgCustomizeSchemes, IDC_SETCURLEXERTV);
UpdateAllBars(false);
break;
@ -5069,10 +5073,10 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDM_VIEW_CHASING_DOCTAIL:
{
FileWatching.ChasingDocTail = !FileWatching.ChasingDocTail; // toggle
SciCall_SetReadOnly(FileWatching.ChasingDocTail);
FileWatching.MonitoringLog = !FileWatching.MonitoringLog; // toggle
SciCall_SetReadOnly(FileWatching.MonitoringLog);
if (FileWatching.ChasingDocTail)
if (FileWatching.MonitoringLog)
{
SetForegroundWindow(hwnd);
FileWatching.flagChangeNotify = s_flagChangeNotify;
@ -5092,7 +5096,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
InstallFileWatching(Globals.CurrentFile); // force
CheckCmd(GetMenu(Globals.hwndMain), IDM_VIEW_CHASING_DOCTAIL, FileWatching.ChasingDocTail);
CheckCmd(GetMenu(Globals.hwndMain), IDM_VIEW_CHASING_DOCTAIL, FileWatching.MonitoringLog);
UpdateToolbar();
}
break;
@ -5719,7 +5723,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case CMD_INCLINELIMIT:
case CMD_DECLINELIMIT:
if (!Settings.MarkLongLines)
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_LONGLINEMARKER,1),0);
SendWMCommand(hwnd, IDM_VIEW_LONGLINEMARKER);
else {
if (iLoWParam == CMD_INCLINELIMIT)
Globals.fvCurFile.iLongLinesLimit++;
@ -5902,7 +5906,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_NEW:
if (IsCmdEnabled(hwnd,IDM_FILE_NEW))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_NEW,1),0);
SendWMCommand(hwnd, IDM_FILE_NEW);
else
SimpleBeep();
break;
@ -5910,7 +5914,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_OPEN:
if (IsCmdEnabled(hwnd,IDM_FILE_OPEN))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_OPEN,1),0);
SendWMCommand(hwnd, IDM_FILE_OPEN);
else
SimpleBeep();
break;
@ -5918,22 +5922,22 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_BROWSE:
if (IsCmdEnabled(hwnd,IDM_FILE_BROWSE))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_BROWSE,1),0);
SendWMCommand(hwnd, IDM_FILE_BROWSE);
else
SimpleBeep();
break;
case IDT_FILE_RECENT:
if (IsCmdEnabled(hwnd, IDM_FILE_RECENT))
SendMessage(hwnd, WM_COMMAND, MAKELONG(IDM_FILE_RECENT, 1), 0);
if (IsCmdEnabled(hwnd,IDM_FILE_RECENT))
SendWMCommand(hwnd, IDM_FILE_RECENT);
else
SimpleBeep();
break;
case IDT_FILE_SAVE:
if (IsCmdEnabled(hwnd,IDM_FILE_SAVE))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_SAVE,1),0);
SendWMCommand(hwnd, IDM_FILE_SAVE);
else
SimpleBeep();
break;
@ -5941,7 +5945,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_EDIT_UNDO:
if (IsCmdEnabled(hwnd,IDM_EDIT_UNDO))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_UNDO,1),0);
SendWMCommand(hwnd, IDM_EDIT_UNDO);
else
SimpleBeep();
break;
@ -5949,7 +5953,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_EDIT_REDO:
if (IsCmdEnabled(hwnd,IDM_EDIT_REDO))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_REDO,1),0);
SendWMCommand(hwnd, IDM_EDIT_REDO);
else
SimpleBeep();
break;
@ -5957,24 +5961,24 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_EDIT_CUT:
if (IsCmdEnabled(hwnd,IDM_EDIT_CUT))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_CUT,1),0);
SendWMCommand(hwnd, IDM_EDIT_CUT);
else
SimpleBeep();
//SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_CUTLINE,1),0);
//SendWMCommand(hwnd, IDM_EDIT_CUTLINE);
break;
case IDT_EDIT_COPY:
if (IsCmdEnabled(hwnd,IDM_EDIT_COPY))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_COPY,1),0);
SendWMCommand(hwnd, IDM_EDIT_COPY);
else
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_COPYALL,1),0); // different to Keyboard-Shortcut
SendWMCommand(hwnd, IDM_EDIT_COPYALL);
break;
case IDT_EDIT_PASTE:
if (IsCmdEnabled(hwnd,IDM_EDIT_PASTE))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_PASTE,1),0);
SendWMCommand(hwnd, IDM_EDIT_PASTE);
else
SimpleBeep();
break;
@ -5982,7 +5986,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_EDIT_FIND:
if (IsCmdEnabled(hwnd,IDM_EDIT_FIND))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_FIND,1),0);
SendWMCommand(hwnd, IDM_EDIT_FIND);
else
SimpleBeep();
break;
@ -5990,7 +5994,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_EDIT_REPLACE:
if (IsCmdEnabled(hwnd,IDM_EDIT_REPLACE))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_REPLACE,1),0);
SendWMCommand(hwnd, IDM_EDIT_REPLACE);
else
SimpleBeep();
break;
@ -5998,7 +6002,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_VIEW_WORDWRAP:
if (IsCmdEnabled(hwnd,IDM_VIEW_WORDWRAP))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_WORDWRAP,1),0);
SendWMCommand(hwnd, IDM_VIEW_WORDWRAP);
else
SimpleBeep();
break;
@ -6006,7 +6010,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_VIEW_ZOOMIN:
if (IsCmdEnabled(hwnd,IDM_VIEW_ZOOMIN))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_ZOOMIN,1),0);
SendWMCommand(hwnd, IDM_VIEW_ZOOMIN);
else
SimpleBeep();
break;
@ -6014,7 +6018,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_VIEW_ZOOMOUT:
if (IsCmdEnabled(hwnd,IDM_VIEW_ZOOMOUT))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_ZOOMOUT,1),0);
SendWMCommand(hwnd, IDM_VIEW_ZOOMOUT);
else
SimpleBeep();
break;
@ -6022,7 +6026,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_VIEW_CHASING_DOCTAIL:
if (IsCmdEnabled(hwnd, IDM_VIEW_CHASING_DOCTAIL))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_CHASING_DOCTAIL,1),0);
SendWMCommand(hwnd, IDM_VIEW_CHASING_DOCTAIL);
else
SimpleBeep();
break;
@ -6030,7 +6034,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_VIEW_SCHEME:
if (IsCmdEnabled(hwnd,IDM_VIEW_SCHEME))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_SCHEME,1),0);
SendWMCommand(hwnd, IDM_VIEW_SCHEME);
else
SimpleBeep();
break;
@ -6038,7 +6042,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_VIEW_SCHEMECONFIG:
if (IsCmdEnabled(hwnd,IDM_VIEW_SCHEMECONFIG))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_SCHEMECONFIG,1),0);
SendWMCommand(hwnd, IDM_VIEW_SCHEMECONFIG);
else
SimpleBeep();
break;
@ -6051,7 +6055,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_SAVEAS:
if (IsCmdEnabled(hwnd,IDM_FILE_SAVEAS))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_SAVEAS,1),0);
SendWMCommand(hwnd, IDM_FILE_SAVEAS);
else
SimpleBeep();
break;
@ -6059,7 +6063,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_SAVECOPY:
if (IsCmdEnabled(hwnd,IDM_FILE_SAVECOPY))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_SAVECOPY,1),0);
SendWMCommand(hwnd, IDM_FILE_SAVECOPY);
else
SimpleBeep();
break;
@ -6067,7 +6071,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_EDIT_CLEAR:
if (IsCmdEnabled(hwnd,IDM_EDIT_CLEAR))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_EDIT_CLEAR,1),0);
SendWMCommand(hwnd, IDM_EDIT_CLEAR);
else
SendMessage(Globals.hwndEdit,SCI_CLEARALL,0,0);
break;
@ -6075,7 +6079,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_PRINT:
if (IsCmdEnabled(hwnd,IDM_FILE_PRINT))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_PRINT,1),0);
SendWMCommand(hwnd, IDM_FILE_PRINT);
else
SimpleBeep();
break;
@ -6083,7 +6087,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_OPENFAV:
if (IsCmdEnabled(hwnd,IDM_FILE_OPENFAV))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_OPENFAV,1),0);
SendWMCommand(hwnd, IDM_FILE_OPENFAV);
else
SimpleBeep();
break;
@ -6091,7 +6095,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_ADDTOFAV:
if (IsCmdEnabled(hwnd,IDM_FILE_ADDTOFAV))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_ADDTOFAV,1),0);
SendWMCommand(hwnd, IDM_FILE_ADDTOFAV);
else
SimpleBeep();
break;
@ -6099,15 +6103,15 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_VIEW_TOGGLEFOLDS:
if (IsCmdEnabled(hwnd,IDM_VIEW_TOGGLEFOLDS))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_VIEW_TOGGLEFOLDS,1),0);
SendWMCommand(hwnd, IDM_VIEW_TOGGLEFOLDS);
else
SimpleBeep();
break;
case IDT_VIEW_TOGGLE_VIEW:
if (IsCmdEnabled(hwnd, IDM_VIEW_TOGGLE_VIEW))
SendMessage(hwnd, WM_COMMAND, MAKELONG(IDM_VIEW_TOGGLE_VIEW, 1), 0);
if (IsCmdEnabled(hwnd,IDM_VIEW_TOGGLE_VIEW))
SendWMCommand(hwnd, IDM_VIEW_TOGGLE_VIEW);
else
SimpleBeep();
break;
@ -6115,7 +6119,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
case IDT_FILE_LAUNCH:
if (IsCmdEnabled(hwnd,IDM_FILE_LAUNCH))
SendMessage(hwnd,WM_COMMAND,MAKELONG(IDM_FILE_LAUNCH,1),0);
SendWMCommand(hwnd, IDM_FILE_LAUNCH);
else
SimpleBeep();
break;
@ -6776,11 +6780,11 @@ LRESULT MsgNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
case STATUS_DOCLINE:
case STATUS_DOCCOLUMN:
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDM_EDIT_GOTOLINE,1),0);
PostWMCommand(hwnd, IDM_EDIT_GOTOLINE);
return TRUE;
case STATUS_CODEPAGE:
PostMessage(hwnd,WM_COMMAND,MAKELONG(IDM_ENCODING_SELECT,1),0);
PostWMCommand(hwnd, IDM_ENCODING_SELECT);
return TRUE;
case STATUS_EOLMODE:
@ -6795,20 +6799,20 @@ LRESULT MsgNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
i = IDM_LINEENDINGS_LF;
++i;
if (i > IDM_LINEENDINGS_LF) { i = IDM_LINEENDINGS_CRLF; }
PostMessage(hwnd, WM_COMMAND, MAKELONG(i, 1), 0);
PostWMCommand(hwnd, i);
}
return TRUE;
case STATUS_OVRMODE:
PostMessage(hwnd, WM_COMMAND, MAKELONG(CMD_VK_INSERT, 1), 0);
PostWMCommand(hwnd, CMD_VK_INSERT);
return TRUE;
case STATUS_2ND_DEF:
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDM_VIEW_USE2NDDEFAULT, 1), 0);
PostWMCommand(hwnd, IDM_VIEW_USE2NDDEFAULT);
return TRUE;
case STATUS_LEXER:
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDM_VIEW_SCHEME, 1), 0);
PostWMCommand(hwnd, IDM_VIEW_SCHEME);
return TRUE;
case STATUS_TINYEXPR:
@ -8359,7 +8363,7 @@ bool CreateIniFileEx(LPCWSTR lpszIniFile)
//
static void _DelayUpdateStatusbar(int delay, bool bForceRedraw)
{
static CmdMessageQueue_t mqc = { NULL, WM_COMMAND, (WPARAM)MAKELONG(IDT_TIMER_UPDATE_STATUSBAR, 1), (LPARAM)0, 0 };
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_UPDATE_STATUSBAR, 0);
mqc.hwnd = Globals.hwndMain;
mqc.lparam = (LPARAM)bForceRedraw;
_MQ_AppendCmd(&mqc, (UINT)(delay <= 0 ? 0 : _MQ_ms(delay)));
@ -8373,7 +8377,7 @@ static void _DelayUpdateStatusbar(int delay, bool bForceRedraw)
//
static void _DelayUpdateToolbar(int delay)
{
static CmdMessageQueue_t mqc = { NULL, WM_COMMAND, (WPARAM)MAKELONG(IDT_TIMER_UPDATE_TOOLBAR, 1), (LPARAM)0, 0 };
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_UPDATE_TOOLBAR, 0);
mqc.hwnd = Globals.hwndMain;
//mqc.lparam = (LPARAM)bForceRedraw;
_MQ_AppendCmd(&mqc, (UINT)(delay <= 0 ? 0 : _MQ_ms(delay)));
@ -8387,7 +8391,7 @@ static void _DelayUpdateToolbar(int delay)
//
static void _DelayClearZoomCallTip(int delay)
{
static CmdMessageQueue_t mqc = { NULL, WM_COMMAND, (WPARAM)MAKELONG(IDT_TIMER_CLEAR_CALLTIP, 1), (LPARAM)0, 0 };
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_CLEAR_CALLTIP, 0);
mqc.hwnd = Globals.hwndMain;
//mqc.lparam = (LPARAM)bForceRedraw;
_MQ_AppendCmd(&mqc, (UINT)(delay <= 0 ? 0 : _MQ_ms(delay)));
@ -8400,7 +8404,7 @@ static void _DelayClearZoomCallTip(int delay)
//
void MarkAllOccurrences(int delay, bool bForceClear)
{
static CmdMessageQueue_t mqc = { NULL, WM_COMMAND, (WPARAM)MAKELONG(IDT_TIMER_MAIN_MRKALL, 1), (LPARAM)0 , 0 };
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_MAIN_MRKALL, 0);
mqc.hwnd = Globals.hwndMain;
mqc.lparam = (LPARAM)bForceClear;
_MQ_AppendCmd(&mqc, (UINT)(delay <= 0 ? 0 : _MQ_ms(delay)));
@ -8413,7 +8417,7 @@ void MarkAllOccurrences(int delay, bool bForceClear)
//
void UpdateVisibleUrlHotspot(int delay)
{
static CmdMessageQueue_t mqc = { NULL, WM_COMMAND, (WPARAM)MAKELONG(IDT_TIMER_UPDATE_HOTSPOT, 1), (LPARAM)0 , 0 };
static CmdMessageQueue_t mqc = MQ_WM_CMD_INIT(IDT_TIMER_UPDATE_HOTSPOT, 0);
mqc.hwnd = Globals.hwndMain;
_MQ_AppendCmd(&mqc, (UINT)(delay <= 0 ? 0 : _MQ_ms(delay)));
}
@ -8449,7 +8453,7 @@ static void _UpdateToolbarDelayed()
EnableTool(IDT_FILE_RECENT, (MRU_Count(Globals.pFileMRU) > 0));
CheckTool(IDT_VIEW_WORDWRAP, Globals.fvCurFile.bWordWrap);
CheckTool(IDT_VIEW_CHASING_DOCTAIL, FileWatching.ChasingDocTail);
CheckTool(IDT_VIEW_CHASING_DOCTAIL, FileWatching.MonitoringLog);
bool b1 = SciCall_IsSelectionEmpty();
bool b2 = (bool)(SciCall_GetTextLength() > 0);
@ -9374,11 +9378,8 @@ int BeginUndoAction()
if (_InUndoRedoTransaction()) { return -1; }
SciCall_BeginUndoAction();
int const token = _SaveUndoSelection();
InterlockedExchange(&UndoActionToken, (LONG)token);
return token;
}
@ -9394,9 +9395,7 @@ void EndUndoAction(int token)
if ((token >= 0) && (token == (int)InterlockedOr(&UndoActionToken, 0L)))
{
_SaveRedoSelection(token);
SciCall_EndUndoAction();
InterlockedExchange(&UndoActionToken, UNDOREDO_FREE);
}
}
@ -9653,8 +9652,8 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload,
// Terminate file watching
if (FileWatching.ResetFileWatching) {
if (FileWatching.ChasingDocTail) {
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_VIEW_CHASING_DOCTAIL, 1), 0);
if (FileWatching.MonitoringLog) {
SendWMCommand(Globals.hwndMain, IDM_VIEW_CHASING_DOCTAIL);
}
FileWatching.FileWatchingMode = Settings.FileWatchingMode;
}
@ -9726,13 +9725,12 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload,
else {
fioStatus.iEncoding = Encoding_Current(CPI_GET);
}
if (bReload && (FileWatching.FileWatchingMode != FWM_AUTORELOAD)) {
_BEGIN_UNDO_ACTION_;
if (bReload && !FileWatching.MonitoringLog)
{
fSuccess = FileIO(true, szFileName, bSkipUnicodeDetect, bSkipANSICPDetection, bForceEncDetection, !bReload , &fioStatus, false);
_END_UNDO_ACTION_;
}
else {
fSuccess = FileIO(true, szFileName, bSkipUnicodeDetect, bSkipANSICPDetection, bForceEncDetection, !bReload, &fioStatus, false);
fSuccess = FileIO(true, szFileName, bSkipUnicodeDetect, bSkipANSICPDetection, bForceEncDetection, true, &fioStatus, false);
}
}
@ -9769,12 +9767,12 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload,
}
// Install watching of the current file
if (!bReload && FileWatching.ResetFileWatching) {
if (FileWatching.ChasingDocTail) {
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_VIEW_CHASING_DOCTAIL, 1), 0);
if (FileWatching.MonitoringLog) {
SendWMCommand(Globals.hwndMain, IDM_VIEW_CHASING_DOCTAIL);
}
FileWatching.FileWatchingMode = Settings.FileWatchingMode;
}
if (!bReload) { InstallFileWatching(Globals.CurrentFile); }
InstallFileWatching(Globals.CurrentFile);
// the .LOG feature ...
if (SciCall_GetTextLength() >= 4) {
@ -9784,7 +9782,7 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload,
EditJumpTo(Globals.hwndEdit,-1,0);
_BEGIN_UNDO_ACTION_;
SciCall_NewLine();
SendMessage(Globals.hwndMain,WM_COMMAND,MAKELONG(IDM_EDIT_INSERT_SHORTDATE,1),0);
SendWMCommand(Globals.hwndMain, IDM_EDIT_INSERT_SHORTDATE);
EditJumpTo(Globals.hwndEdit,-1,0);
SciCall_NewLine();
_END_UNDO_ACTION_;
@ -9892,9 +9890,10 @@ bool FileRevert(LPCWSTR szFileName, bool bIgnoreCmdLnEnc)
if (FileLoad(true,false,true,false,true,false,tchFileName2))
{
if (bIsTail && (FileWatching.FileWatchingMode == FWM_AUTORELOAD)) {
SciCall_DocumentEnd();
EditEnsureSelectionVisible(Globals.hwndEdit);
if (FileWatching.FileWatchingMode == FWM_AUTORELOAD) {
if (bIsTail || FileWatching.MonitoringLog) {
SciCall_DocumentEnd();
}
}
else if (SciCall_GetTextLength() >= 4)
{
@ -9909,6 +9908,7 @@ bool FileRevert(LPCWSTR szFileName, bool bIgnoreCmdLnEnc)
SciCall_SetXOffset(iXOffset);
}
}
EditEnsureSelectionVisible(Globals.hwndEdit);
return true;
}
}
@ -10135,8 +10135,8 @@ bool FileSave(bool bSaveAlways, bool bAsk, bool bSaveAs, bool bSaveCopy)
// Install watching of the current file
if (bSaveAs && Settings.ResetFileWatching) {
if (FileWatching.ChasingDocTail) {
SendMessage(Globals.hwndMain, WM_COMMAND, MAKELONG(IDM_VIEW_CHASING_DOCTAIL, 1), 0);
if (FileWatching.MonitoringLog) {
SendWMCommand(Globals.hwndMain, IDM_VIEW_CHASING_DOCTAIL);
}
FileWatching.FileWatchingMode = Settings.FileWatchingMode;
}

View File

@ -517,7 +517,7 @@ extern "C" UINT_PTR CALLBACK PageSetupHook(HWND hwnd, UINT uiMsg, WPARAM wParam,
}
else if (LOWORD(wParam) == IDC_PRINTER)
{
PostMessage(hwnd, WM_COMMAND, MAKELONG(1026, 1), 0);
PostWMCommand(hwnd, 1026);
}
break;

View File

@ -196,6 +196,7 @@ DeclareSciCallV0(Cut, CUT)
DeclareSciCallV0(Copy, COPY)
DeclareSciCallV0(Paste, PASTE)
DeclareSciCallV0(Clear, CLEAR)
DeclareSciCallV0(ClearAll, CLEARALL)
DeclareSciCallV2(CopyRange, COPYRANGE, DocPos, start, DocPos, end)
DeclareSciCallV0(Cancel, CANCEL)
DeclareSciCallV0(CopyAllowLine, COPYALLOWLINE)
@ -217,6 +218,7 @@ DeclareSciCallV0(SetSavePoint, SETSAVEPOINT)
DeclareSciCallR0(GetTargetStart, GETTARGETSTART, DocPos)
DeclareSciCallR0(GetTargetEnd, GETTARGETEND, DocPos)
DeclareSciCallV0(TargetFromSelection, TARGETFROMSELECTION)
DeclareSciCallV0(TargetWholeDocument, TARGETWHOLEDOCUMENT)
DeclareSciCallV2(SetTargetRange, SETTARGETRANGE, DocPos, start, DocPos, end)
DeclareSciCallR2(ReplaceTarget, REPLACETARGET, DocPos, DocPos, length, const char*, text)
DeclareSciCallR2(ReplaceTargetRe, REPLACETARGETRE, DocPos, DocPos, length, const char*, text)

View File

@ -3625,11 +3625,11 @@ INT_PTR CALLBACK Style_CustomizeSchemesDlgProc(HWND hwnd,UINT umsg,WPARAM wParam
case WM_SYSCOMMAND:
if (wParam == IDS_MUI_SAVEPOS) {
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDACC_SAVEPOS, 0), 0);
PostWMCommand(hwnd, IDACC_SAVEPOS);
return true;
}
else if (wParam == IDS_MUI_RESETPOS) {
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDACC_RESETPOS, 0), 0);
PostWMCommand(hwnd, IDACC_RESETPOS);
return true;
}
else
@ -4097,11 +4097,11 @@ INT_PTR CALLBACK Style_CustomizeSchemesDlgProc(HWND hwnd,UINT umsg,WPARAM wParam
case IDACC_VIEWSCHEMECONFIG:
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDC_SETCURLEXERTV, 1), 0);
PostWMCommand(hwnd, IDC_SETCURLEXERTV);
break;
case IDACC_PREVIEW:
PostMessage(hwnd, WM_COMMAND, MAKELONG(IDC_PREVIEW, 1), 0);
PostWMCommand(hwnd, IDC_PREVIEW);
break;
case IDACC_SAVEPOS:
@ -4321,7 +4321,7 @@ INT_PTR CALLBACK Style_SelectLexerDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPAR
switch (((LPNMHDR)(lParam))->code) {
case NM_DBLCLK:
SendMessage(hwnd, WM_COMMAND, MAKELONG(IDOK, 1), 0);
SendWMCommand(hwnd, IDOK);
break;
case LVN_ITEMCHANGED:

View File

@ -27,6 +27,7 @@
#define WIN32_LEAN_AND_MEAN 1
#define NOMINMAX 1
#include <windows.h>
#include <winuser.h>
#define STRSAFE_NO_CB_FUNCTIONS
#define STRSAFE_NO_DEPRECATE // don't allow deprecated functions
@ -236,7 +237,8 @@ typedef struct _cmq
} CmdMessageQueue_t;
#define MESSAGE_QUEUE_INIT = { NULL, WM_COMMAND, NULL, NULL, -1 };
#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))
// --------------------------------------------------------------------------
@ -520,7 +522,7 @@ typedef struct _filewatching_t
bool ResetFileWatching; // <-> Settings.ResetFileWatching;
DWORD FileCheckInverval; // <-> Settings2.FileCheckInverval;
DWORD AutoReloadTimeout; // <-> Settings2.AutoReloadTimeout;
bool ChasingDocTail;
bool MonitoringLog;
} FILEWATCHING_T, *PFILEWATCHING_T;