From aa6fdbb9fa1f60d6bd4b2abda5a13e6b46a2115f Mon Sep 17 00:00:00 2001 From: martin Date: Sat, 14 Jul 2018 12:34:12 +0000 Subject: [PATCH] IDE, SourceEditor: bookmark menus, add key shortcuts git-svn-id: trunk@58518 - --- ide/lazarusidestrconsts.pas | 6 +++++- ide/main.pp | 14 ++++++++++---- ide/sourceeditor.pp | 4 ++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 5d5a68b89f..25051024cb 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -2838,7 +2838,9 @@ resourcestring uemSetFreeBookmark = 'Set a Free Bookmark'; uemNextBookmark = 'Goto Next Bookmark'; uemPrevBookmark = 'Goto Previous Bookmark'; - uemBookmarkN = 'Bookmark'; + uemBookmarkNUnSetDisabled = 'Bookmark %s'; + uemBookmarkNUnSet = 'Bookmark &%s'; + uemBookmarkNSet = 'Bookmark &%s: %s'; lisChangeEncoding = 'Change Encoding'; lisChangeFile = 'Change file'; lisEncodingOfFileOnDiskIsNewEncodingIs = 'Encoding of file "%s"%son disk is %s. New encoding is %s.'; @@ -2849,6 +2851,8 @@ resourcestring lisOpenLfm = 'Open %s'; lisUtf8WithBOM = 'UTF-8 with BOM'; uemToggleBookmark = '&Toggle Bookmark'; + uemToggleBookmarkNUnset = 'Toggle Bookmark &%s'; + uemToggleBookmarkNset = 'Toggle Bookmark &%s: %s'; uemToggleBookmarks = 'Toggle Bookmark...'; uemReadOnly = 'Read Only'; uemShowLineNumbers = 'Show Line Numbers'; diff --git a/ide/main.pp b/ide/main.pp index ac6e118ff4..19fa6cf3e4 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -8522,7 +8522,7 @@ begin Exit; for BookMarkID in TBookmarkNumRange do begin - MarkDesc:=' '+IntToStr(BookMarkID); + MarkDesc:=''; BookmarkAvail:=False; i := 0; while i < SourceEditorManager.SourceEditorCount do begin @@ -8530,7 +8530,7 @@ begin BookMarkX:=0; BookMarkY:=0; if se.EditorComponent.GetBookMark(BookMarkID,BookMarkX,BookMarkY) then begin - MarkDesc:=MarkDesc+': '+se.PageName+' ('+IntToStr(BookMarkY)+','+IntToStr(BookMarkX)+')'; + MarkDesc:=se.PageName+' ('+IntToStr(BookMarkY)+','+IntToStr(BookMarkX)+')'; BookmarkAvail:=True; break; end; @@ -8538,11 +8538,17 @@ begin end; // goto book mark item MarkComand:=IDECommandList.FindIDECommand(ecGotoMarker0+BookMarkID); - MarkComand.Caption:=uemBookmarkN+MarkDesc; + if BookmarkAvail then + MarkComand.Caption:=Format(uemBookmarkNSet, [IntToStr(BookMarkID), MarkDesc]) + else // Needed, because (on win) disabled menus still capture there shortcut key + MarkComand.Caption:=Format(uemBookmarkNUnSetDisabled, [IntToStr(BookMarkID), MarkDesc]); MarkComand.Enabled:=BookmarkAvail; // set book mark item MarkComand:=IDECommandList.FindIDECommand(ecToggleMarker0+BookMarkID); - MarkComand.Caption:=uemToggleBookmark+MarkDesc; + if BookmarkAvail then + MarkComand.Caption:=Format(uemToggleBookmarkNset, [IntToStr(BookMarkID), MarkDesc]) + else + MarkComand.Caption:=Format(uemToggleBookmarkNUnset, [IntToStr(BookMarkID)]) end; end; diff --git a/ide/sourceeditor.pp b/ide/sourceeditor.pp index 325ccb5616..83bcbe4bc5 100644 --- a/ide/sourceeditor.pp +++ b/ide/sourceeditor.pp @@ -1686,7 +1686,7 @@ begin AParent:=SrcEditSubMenuGotoBookmarks; for I in TBookmarkNumRange do SrcEditMenuGotoBookmark[I]:=RegisterIDEMenuCommand(AParent, - 'GotoBookmark'+IntToStr(I), uemBookmarkN+IntToStr(I), + 'GotoBookmark'+IntToStr(I), Format(uemBookmarkNUnSet, [IntToStr(I)]), nil, @ExecuteIdeMenuClick, nil, 'menu_goto_bookmark'+IntToStr(I)); @@ -1712,7 +1712,7 @@ begin AParent:=SrcEditSubMenuToggleBookmarks; for I in TBookmarkNumRange do SrcEditMenuToggleBookmark[I]:=RegisterIDEMenuCommand(AParent, - 'ToggleBookmark'+IntToStr(I), uemBookmarkN+IntToStr(I), + 'ToggleBookmark'+IntToStr(I), Format(uemToggleBookmarkNUnset, [IntToStr(I)]), nil, @ExecuteIdeMenuClick, nil, 'menu_toggle_bookmark'+IntToStr(I));