+ fix: optimized "notify change" observation on clearing file buffer

+ fix: "Focused View": disable encoding identifier insertion menu entry
This commit is contained in:
Rainer Kottenhoff 2018-04-20 11:51:04 +02:00
parent af0239f831
commit f5d153a470
2 changed files with 10 additions and 7 deletions

View File

@ -347,24 +347,27 @@ void __fastcall _ClearTextBuffer(HWND hwnd)
{
SendMessage(hwnd, SCI_CANCEL, 0, 0);
if (SendMessage(hwnd, SCI_GETREADONLY, 0, 0)) { SendMessage(hwnd, SCI_SETREADONLY, false, 0); }
IgnoreNotifyChangeEvent();
if (SciCall_GetReadOnly()) { SciCall_SetReadOnly(false); }
UndoRedoActionMap(-1, NULL);
SciCall_SetUndoCollection(false);
SendMessage(hwnd, SCI_CLEARALL, 0, 0);
SendMessage(hwnd, SCI_MARKERDELETEALL, (WPARAM)MARKER_NP3_BOOKMARK, 0);
EditClearAllOccurrenceMarkers(hwnd, 0, -1);
if (EditToggleView(g_hwndEdit, false)) {
EditToggleView(g_hwndEdit, true);
}
SendMessage(hwnd, SCI_CLEARALL, 0, 0);
SendMessage(hwnd, SCI_MARKERDELETEALL, (WPARAM)MARKER_NP3_BOOKMARK, 0);
SciCall_SetUndoCollection(true);
SendMessage(hwnd, SCI_SETSCROLLWIDTH, 1, 0);
SendMessage(hwnd, SCI_SETXOFFSET, 0, 0);
ObserveNotifyChangeEvent();
}

View File

@ -2448,7 +2448,7 @@ void MsgInitMenu(HWND hwnd,WPARAM wParam,LPARAM lParam)
EnableCmd(hmenu, CMD_CTRLENTER, !ro);
EnableCmd(hmenu, IDM_EDIT_INSERT_TAG, !ro);
EnableCmd(hmenu,IDM_EDIT_INSERT_ENCODING, *Encoding_GetParseNames(Encoding_Current(CPI_GET) && !ro));
EnableCmd(hmenu, IDM_EDIT_INSERT_ENCODING, (Encoding_GetParseNames(Encoding_Current(CPI_GET)) != NULL) && !ro);
EnableCmd(hmenu,IDM_EDIT_INSERT_SHORTDATE,!ro);
EnableCmd(hmenu,IDM_EDIT_INSERT_LONGDATE,!ro);
@ -7243,7 +7243,7 @@ void UpdateToolbar()
EnableTool(IDT_EDIT_COPY, !b1 && !ro);
EnableTool(IDT_EDIT_CLEAR, !b1 && !ro);
EnableTool(IDT_VIEW_TOGGLEFOLDS, b2 && (g_bCodeFoldingAvailable && g_bShowCodeFolding) && !tv);
EnableTool(IDT_VIEW_TOGGLEFOLDS, b2 && (g_bCodeFoldingAvailable && g_bShowCodeFolding));
EnableTool(IDT_VIEW_TOGGLE_VIEW, b2 && ((g_iMarkOccurrences > 0) && !g_bMarkOccurrencesMatchVisible));
CheckTool(IDT_VIEW_TOGGLE_VIEW, tv);