diff --git a/src/Dialogs.c b/src/Dialogs.c index ce97cc1d7..812f244f9 100644 --- a/src/Dialogs.c +++ b/src/Dialogs.c @@ -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: diff --git a/src/Edit.c b/src/Edit.c index 49e56afe6..fd3990636 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -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) { diff --git a/src/Edit.h b/src/Edit.h index 0f677acce..edfebcaa6 100644 --- a/src/Edit.h +++ b/src/Edit.h @@ -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); diff --git a/src/Helpers.h b/src/Helpers.h index c8e4e9e8d..64aada82c 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -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')); } diff --git a/src/Notepad3.c b/src/Notepad3.c index d7124eb6b..797d2f477 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -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; } diff --git a/src/Print.cpp b/src/Print.cpp index 5878eb953..eb223054f 100644 --- a/src/Print.cpp +++ b/src/Print.cpp @@ -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; diff --git a/src/SciCall.h b/src/SciCall.h index 66716d397..4946705b9 100644 --- a/src/SciCall.h +++ b/src/SciCall.h @@ -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) diff --git a/src/Styles.c b/src/Styles.c index 7c1ddd0a8..deefa36ff 100644 --- a/src/Styles.c +++ b/src/Styles.c @@ -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: diff --git a/src/TypeDefs.h b/src/TypeDefs.h index 6ee5c3166..1f0de7f89 100644 --- a/src/TypeDefs.h +++ b/src/TypeDefs.h @@ -27,6 +27,7 @@ #define WIN32_LEAN_AND_MEAN 1 #define NOMINMAX 1 #include +#include #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;