IDEIntf: removed SrcEditSubMenuSetBookmarks, added SrcEditSubMenuToggleBookmarks, IDE: replaced SetBookmarks wirh ToggleBookmarks

git-svn-id: trunk@17601 -
This commit is contained in:
mattias 2008-11-26 14:52:46 +00:00
parent 0b50f60239
commit 40d1b6687c
4 changed files with 107 additions and 85 deletions

View File

@ -341,16 +341,26 @@ begin
ecGotoMarker7: SetResult2(VK_7,[ssCtrl],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_7,[]); ecGotoMarker7: SetResult2(VK_7,[ssCtrl],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_7,[]);
ecGotoMarker8: SetResult2(VK_8,[ssCtrl],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_8,[]); ecGotoMarker8: SetResult2(VK_8,[ssCtrl],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_8,[]);
ecGotoMarker9: SetResult2(VK_9,[ssCtrl],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_9,[]); ecGotoMarker9: SetResult2(VK_9,[ssCtrl],VK_UNKNOWN,[],VK_Q,[SSCtrl],VK_9,[]);
ecSetMarker0: SetResult2(VK_0,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_0,[]); ecToggleMarker0: SetResult2(VK_0,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_0,[]);
ecSetMarker1: SetResult2(VK_1,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_1,[]); ecToggleMarker1: SetResult2(VK_1,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_1,[]);
ecSetMarker2: SetResult2(VK_2,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_2,[]); ecToggleMarker2: SetResult2(VK_2,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_2,[]);
ecSetMarker3: SetResult2(VK_3,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_3,[]); ecToggleMarker3: SetResult2(VK_3,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_3,[]);
ecSetMarker4: SetResult2(VK_4,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_4,[]); ecToggleMarker4: SetResult2(VK_4,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_4,[]);
ecSetMarker5: SetResult2(VK_5,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_5,[]); ecToggleMarker5: SetResult2(VK_5,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_5,[]);
ecSetMarker6: SetResult2(VK_6,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_6,[]); ecToggleMarker6: SetResult2(VK_6,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_6,[]);
ecSetMarker7: SetResult2(VK_7,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_7,[]); ecToggleMarker7: SetResult2(VK_7,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_7,[]);
ecSetMarker8: SetResult2(VK_8,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_8,[]); ecToggleMarker8: SetResult2(VK_8,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_8,[]);
ecSetMarker9: SetResult2(VK_9,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_9,[]); ecToggleMarker9: SetResult2(VK_9,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_9,[]);
ecSetMarker0: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker1: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker2: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker3: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker4: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker5: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker6: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker7: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker8: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker9: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
// codetools // codetools
ecAutoCompletion: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[]); ecAutoCompletion: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[]);
@ -680,16 +690,8 @@ begin
ecGotoMarker7: SetResult(VK_Q,[ssCtrl],VK_7,[],VK_UNKNOWN,[],VK_UNKNOWN,[]); ecGotoMarker7: SetResult(VK_Q,[ssCtrl],VK_7,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecGotoMarker8: SetResult(VK_Q,[ssCtrl],VK_8,[],VK_UNKNOWN,[],VK_UNKNOWN,[]); ecGotoMarker8: SetResult(VK_Q,[ssCtrl],VK_8,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecGotoMarker9: SetResult(VK_Q,[ssCtrl],VK_9,[],VK_UNKNOWN,[],VK_UNKNOWN,[]); ecGotoMarker9: SetResult(VK_Q,[ssCtrl],VK_9,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker0: SetResult(VK_K,[ssCtrl],VK_0,[],VK_UNKNOWN,[],VK_UNKNOWN,[]); ecSetMarker0..ecSetMarker9: SetResult(VK_K,[ssCtrl],VK_0,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker1: SetResult(VK_K,[ssCtrl],VK_1,[],VK_UNKNOWN,[],VK_UNKNOWN,[]); ecToggleMarker0..ecToggleMarker9: SetResult(VK_K,[ssCtrl],VK_0,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker2: SetResult(VK_K,[ssCtrl],VK_2,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker3: SetResult(VK_K,[ssCtrl],VK_3,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker4: SetResult(VK_K,[ssCtrl],VK_4,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker5: SetResult(VK_K,[ssCtrl],VK_5,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker6: SetResult(VK_K,[ssCtrl],VK_6,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker7: SetResult(VK_K,[ssCtrl],VK_7,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker8: SetResult(VK_K,[ssCtrl],VK_8,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
ecSetMarker9: SetResult(VK_K,[ssCtrl],VK_9,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
// codetools // codetools
ecAutoCompletion: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]); ecAutoCompletion: SetResult(VK_J,[ssCtrl],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
@ -1198,16 +1200,17 @@ begin
ecGotoMarker7: SetResult(VK_7,[ssCtrl],VK_UNKNOWN,[]); ecGotoMarker7: SetResult(VK_7,[ssCtrl],VK_UNKNOWN,[]);
ecGotoMarker8: SetResult(VK_8,[ssCtrl],VK_UNKNOWN,[]); ecGotoMarker8: SetResult(VK_8,[ssCtrl],VK_UNKNOWN,[]);
ecGotoMarker9: SetResult(VK_9,[ssCtrl],VK_UNKNOWN,[]); ecGotoMarker9: SetResult(VK_9,[ssCtrl],VK_UNKNOWN,[]);
ecSetMarker0: SetResult2(VK_0,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_0,[]); ecToggleMarker0: SetResult2(VK_0,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_0,[]);
ecSetMarker1: SetResult2(VK_1,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_1,[]); ecToggleMarker1: SetResult2(VK_1,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_1,[]);
ecSetMarker2: SetResult2(VK_2,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_2,[]); ecToggleMarker2: SetResult2(VK_2,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_2,[]);
ecSetMarker3: SetResult2(VK_3,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_3,[]); ecToggleMarker3: SetResult2(VK_3,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_3,[]);
ecSetMarker4: SetResult2(VK_4,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_4,[]); ecToggleMarker4: SetResult2(VK_4,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_4,[]);
ecSetMarker5: SetResult2(VK_5,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_5,[]); ecToggleMarker5: SetResult2(VK_5,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_5,[]);
ecSetMarker6: SetResult2(VK_6,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_6,[]); ecToggleMarker6: SetResult2(VK_6,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_6,[]);
ecSetMarker7: SetResult2(VK_7,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_7,[]); ecToggleMarker7: SetResult2(VK_7,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_7,[]);
ecSetMarker8: SetResult2(VK_8,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_8,[]); ecToggleMarker8: SetResult2(VK_8,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_8,[]);
ecSetMarker9: SetResult2(VK_9,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_9,[]); ecToggleMarker9: SetResult2(VK_9,[ssShift,ssCtrl],VK_UNKNOWN,[],VK_K,[SSCtrl],VK_9,[]);
ecSetMarker0..ecSetMarker9: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
// codetools // codetools
ecAutoCompletion: SetResult(VK_J,[ssMeta],VK_UNKNOWN,[]); ecAutoCompletion: SetResult(VK_J,[ssMeta],VK_UNKNOWN,[]);
@ -1564,6 +1567,8 @@ begin
ecGotoMarker9 : Result:= Format(srkmecGotoMarker,[cmd-ecGotoMarker0]); ecGotoMarker9 : Result:= Format(srkmecGotoMarker,[cmd-ecGotoMarker0]);
ecSetMarker0 .. ecSetMarker0 ..
ecSetMarker9 : Result:= Format(srkmecSetMarker,[cmd-ecSetMarker0]); ecSetMarker9 : Result:= Format(srkmecSetMarker,[cmd-ecSetMarker0]);
ecToggleMarker0 ..
ecToggleMarker9 : Result:= Format(srkmecToggleMarker,[cmd-ecToggleMarker0]);
// sourcenotebook // sourcenotebook
ecJumpToEditor : Result:= srkmecJumpToEditor; ecJumpToEditor : Result:= srkmecJumpToEditor;
@ -2100,6 +2105,16 @@ begin
AddDefault(C, 'Set marker 7', lisKMSetMarker7, ecSetMarker7); AddDefault(C, 'Set marker 7', lisKMSetMarker7, ecSetMarker7);
AddDefault(C, 'Set marker 8', lisKMSetMarker8, ecSetMarker8); AddDefault(C, 'Set marker 8', lisKMSetMarker8, ecSetMarker8);
AddDefault(C, 'Set marker 9', lisKMSetMarker9, ecSetMarker9); AddDefault(C, 'Set marker 9', lisKMSetMarker9, ecSetMarker9);
AddDefault(C, 'Toggle marker 0', lisKMToggleMarker0, ecToggleMarker0);
AddDefault(C, 'Toggle marker 1', lisKMToggleMarker1, ecToggleMarker1);
AddDefault(C, 'Toggle marker 2', lisKMToggleMarker2, ecToggleMarker2);
AddDefault(C, 'Toggle marker 3', lisKMToggleMarker3, ecToggleMarker3);
AddDefault(C, 'Toggle marker 4', lisKMToggleMarker4, ecToggleMarker4);
AddDefault(C, 'Toggle marker 5', lisKMToggleMarker5, ecToggleMarker5);
AddDefault(C, 'Toggle marker 6', lisKMToggleMarker6, ecToggleMarker6);
AddDefault(C, 'Toggle marker 7', lisKMToggleMarker7, ecToggleMarker7);
AddDefault(C, 'Toggle marker 8', lisKMToggleMarker8, ecToggleMarker8);
AddDefault(C, 'Toggle marker 9', lisKMToggleMarker9, ecToggleMarker9);
// codetools // codetools
C:=Categories[AddCategory('CodeTools',srkmCatCodeTools,IDECmdScopeSrcEditOnly)]; C:=Categories[AddCategory('CodeTools',srkmCatCodeTools,IDECmdScopeSrcEditOnly)];

View File

@ -1671,6 +1671,7 @@ resourcestring
+'ns to %s%s%s%swill be lost and the file reopened.'; +'ns to %s%s%s%swill be lost and the file reopened.';
lisOpenLfm = 'Open %s'; lisOpenLfm = 'Open %s';
uemSetBookmark = '&Set Bookmark'; uemSetBookmark = '&Set Bookmark';
uemToggleBookmark = '&Toggle Bookmark';
uemReadOnly = 'Read Only'; uemReadOnly = 'Read Only';
uemShowLineNumbers = 'Show Line Numbers'; uemShowLineNumbers = 'Show Line Numbers';
uemShowUnitInfo = 'Unit Info'; uemShowUnitInfo = 'Unit Info';
@ -1869,8 +1870,19 @@ resourcestring
lisKMSetMarker7 = 'Set marker 7'; lisKMSetMarker7 = 'Set marker 7';
lisKMSetMarker8 = 'Set marker 8'; lisKMSetMarker8 = 'Set marker 8';
lisKMSetMarker9 = 'Set marker 9'; lisKMSetMarker9 = 'Set marker 9';
lisKMToggleMarker0 = 'Toggle marker 0';
lisKMToggleMarker1 = 'Toggle marker 1';
lisKMToggleMarker2 = 'Toggle marker 2';
lisKMToggleMarker3 = 'Toggle marker 3';
lisKMToggleMarker4 = 'Toggle marker 4';
lisKMToggleMarker5 = 'Toggle marker 5';
lisKMToggleMarker6 = 'Toggle marker 6';
lisKMToggleMarker7 = 'Toggle marker 7';
lisKMToggleMarker8 = 'Toggle marker 8';
lisKMToggleMarker9 = 'Toggle marker 9';
srkmecGotoMarker = 'Go to Marker %d'; srkmecGotoMarker = 'Go to Marker %d';
srkmecSetMarker = 'Set Marker %d'; srkmecSetMarker = 'Set Marker %d';
srkmecToggleMarker = 'Toggle Marker %d';
// sourcenotebook // sourcenotebook
srkmecJumpToEditor = 'Focus to source editor'; srkmecJumpToEditor = 'Focus to source editor';

View File

@ -427,11 +427,10 @@ type
procedure BookMarkNextClicked(Sender: TObject); procedure BookMarkNextClicked(Sender: TObject);
procedure BookMarkPrevClicked(Sender: TObject); procedure BookMarkPrevClicked(Sender: TObject);
procedure BookMarkGotoClicked(Sender: TObject); procedure BookMarkGotoClicked(Sender: TObject);
procedure BookMarkSet(Value: Integer); procedure BookMarkSet(Value: Integer; Toggle: boolean = false);
procedure BookMarkSetFree; procedure BookMarkSetFree;// set a free bookmark
procedure BookMarkSetClicked(Sender: TObject); procedure BookMarkToggleClicked(Sender: TObject);
procedure BookmarkSetFreeClicked(Sender: TObject); procedure BookmarkSetFreeClicked(Sender: TObject);
procedure BookMarkToggle(Value: Integer);
procedure EditorPropertiesClicked(Sender: TObject); procedure EditorPropertiesClicked(Sender: TObject);
procedure EncodingClicked(Sender: TObject); procedure EncodingClicked(Sender: TObject);
procedure HighlighterClicked(Sender: TObject); procedure HighlighterClicked(Sender: TObject);
@ -952,11 +951,11 @@ begin
'Goto previous Bookmark',uemPrevBookmark, nil, nil, nil, 'menu_search_previous_bookmark'); 'Goto previous Bookmark',uemPrevBookmark, nil, nil, nil, 'menu_search_previous_bookmark');
// register the Set Bookmarks Submenu // register the Set Bookmarks Submenu
SrcEditSubMenuSetBookmarks:=RegisterIDESubMenu(SrcEditMenuSectionMarks, SrcEditSubMenuToggleBookmarks:=RegisterIDESubMenu(SrcEditMenuSectionMarks,
'Set bookmarks',uemSetBookmark); 'Toggle bookmarks',uemToggleBookmark);
AParent:=SrcEditSubMenuSetBookmarks; AParent:=SrcEditSubMenuToggleBookmarks;
for I := 0 to 9 do for I := 0 to 9 do
RegisterIDEMenuCommand(AParent,'SetBookmark'+IntToStr(I), RegisterIDEMenuCommand(AParent,'ToggleBookmark'+IntToStr(I),
uemBookmarkN+IntToStr(i)); uemBookmarkN+IntToStr(i));
SrcEditMenuSetFreeBookmark:=RegisterIDEMenuCommand(AParent, SrcEditMenuSetFreeBookmark:=RegisterIDEMenuCommand(AParent,
'Set a free Bookmark',uemSetFreeBookmark); 'Set a free Bookmark',uemSetFreeBookmark);
@ -1489,6 +1488,9 @@ begin
ecSetMarker0..ecSetMarker9: ecSetMarker0..ecSetMarker9:
TSourceNotebook(FaOwner).BookmarkSet(Command - ecSetMarker0); TSourceNotebook(FaOwner).BookmarkSet(Command - ecSetMarker0);
ecToggleMarker0..ecToggleMarker9:
TSourceNotebook(FaOwner).BookmarkSet(Command - ecToggleMarker0,true);
end; end;
//debugln('TSourceEditor.ProcessCommand B IdentCompletionTimer.AutoEnabled=',dbgs(SourceCompletionTimer.AutoEnabled)); //debugln('TSourceEditor.ProcessCommand B IdentCompletionTimer.AutoEnabled=',dbgs(SourceCompletionTimer.AutoEnabled));
end; end;
@ -4025,10 +4027,10 @@ begin
TIDEMenuCommand(MarkMenuItem).Checked:=(MarkSrcEdit<>nil); TIDEMenuCommand(MarkMenuItem).Checked:=(MarkSrcEdit<>nil);
MarkMenuItem.Caption:=uemBookmarkN+MarkDesc; MarkMenuItem.Caption:=uemBookmarkN+MarkDesc;
// set book mark item // set book mark item
MarkMenuItem:=SrcEditSubMenuSetBookmarks[BookMarkID]; MarkMenuItem:=SrcEditSubMenuToggleBookmarks[BookMarkID];
if MarkMenuItem is TIDEMenuCommand then if MarkMenuItem is TIDEMenuCommand then
TIDEMenuCommand(MarkMenuItem).Checked:=(MarkSrcEdit<>nil); TIDEMenuCommand(MarkMenuItem).Checked:=(MarkSrcEdit<>nil);
MarkMenuItem.Caption:=uemSetBookmark+MarkDesc; MarkMenuItem.Caption:=uemToggleBookmark+MarkDesc;
end; end;
// editor layout // editor layout
@ -4192,8 +4194,8 @@ begin
for i:=0 to 9 do begin for i:=0 to 9 do begin
SrcEditSubMenuGotoBookmarks.FindByName('GotoBookmark'+IntToStr(i)) SrcEditSubMenuGotoBookmarks.FindByName('GotoBookmark'+IntToStr(i))
.OnClick:=@BookmarkGotoClicked; .OnClick:=@BookmarkGotoClicked;
SrcEditSubMenuSetBookmarks.FindByName('SetBookmark'+IntToStr(i)) SrcEditSubMenuToggleBookmarks.FindByName('ToggleBookmark'+IntToStr(i))
.OnClick:=@BookMarkSetClicked; .OnClick:=@BookMarkToggleClicked;
end; end;
SrcEditMenuSetFreeBookmark.OnClick:=@BookMarkSetFreeClicked; SrcEditMenuSetFreeBookmark.OnClick:=@BookMarkSetFreeClicked;
SrcEditMenuNextBookmark.OnClick:=@BookMarkNextClicked; SrcEditMenuNextBookmark.OnClick:=@BookMarkNextClicked;
@ -5135,13 +5137,13 @@ begin
{$ENDIF} {$ENDIF}
end; end;
procedure TSourceNotebook.BookMarkSetClicked(Sender: TObject); procedure TSourceNotebook.BookMarkToggleClicked(Sender: TObject);
// popup menu: set bookmark clicked // popup menu: toggle bookmark clicked
var var
MenuItem: TIDEMenuItem; MenuItem: TIDEMenuItem;
Begin Begin
MenuItem := Sender as TIDEMenuItem; MenuItem := Sender as TIDEMenuItem;
BookMarkSet(MenuItem.SectionIndex); BookMarkSet(MenuItem.SectionIndex,true);
end; end;
procedure TSourceNotebook.BookmarkSetFreeClicked(Sender: TObject); procedure TSourceNotebook.BookmarkSetFreeClicked(Sender: TObject);
@ -5337,29 +5339,6 @@ begin
Clipboard.AsText:=ActSE.FileName; Clipboard.AsText:=ActSE.FileName;
end; end;
Procedure TSourceNotebook.BookMarkToggle(Value: Integer);
var
MenuItem: TIDEMenuCommand;
ActEdit,AnEdit:TSourceEditor;
Begin
MenuItem := SrcEditSubMenuSetBookmarks.Items[Value] as TIDEMenuCommand;
MenuItem.Checked := not MenuItem.Checked;
ActEdit:=GetActiveSE;
AnEdit:=FindBookmark(Value);
if AnEdit<>nil then AnEdit.EditorComponent.ClearBookMark(Value);
if MenuItem.Checked then
Begin
ActEdit.EditorComponent.SetBookMark(Value,
ActEdit.EditorComponent.CaretX,ActEdit.EditorComponent.CaretY);
MenuItem.Caption := MenuItem.Caption + '*';
end
else
begin
MenuItem.Caption := copy(MenuItem.Caption,1,Length(MenuItem.Caption)-1);
end;
end;
procedure TSourceNotebook.MoveEditorLeftClicked(Sender: TObject); procedure TSourceNotebook.MoveEditorLeftClicked(Sender: TObject);
begin begin
MoveActivePageLeft; MoveActivePageLeft;
@ -5388,7 +5367,7 @@ end;
{This is called from outside to toggle a bookmark} {This is called from outside to toggle a bookmark}
Procedure TSourceNotebook.ToggleBookmark(Value: Integer); Procedure TSourceNotebook.ToggleBookmark(Value: Integer);
Begin Begin
BookMarkToggle(Value); BookMarkSet(Value,true);
End; End;
procedure TSourceNotebook.AddBreakpointClicked(Sender: TObject ); procedure TSourceNotebook.AddBreakpointClicked(Sender: TObject );
@ -5499,21 +5478,31 @@ begin
ProcessParentCommand(Self,Command,AChar,nil,Handled); ProcessParentCommand(Self,Command,AChar,nil,Handled);
end; end;
Procedure TSourceNotebook.BookMarkSet(Value: Integer); Procedure TSourceNotebook.BookMarkSet(Value: Integer; Toggle: boolean);
var var
ActEdit, AnEdit: TSourceEditor; ActEdit, AnEdit: TSourceEditor;
Cmd: TIDEMenuCommand; Cmd: TIDEMenuCommand;
OldX, OldY: integer;
NewXY: TPoint;
SetMark: Boolean;
Begin Begin
ActEdit:=GetActiveSE; ActEdit:=GetActiveSE;
NewXY:=ActEdit.EditorComponent.CaretXY;
SetMark:=true;
AnEdit:=FindBookmark(Value); AnEdit:=FindBookmark(Value);
if AnEdit<>nil then begin if (AnEdit<>nil) and AnEdit.EditorComponent.GetBookMark(Value,OldX,OldY) then
begin
if (not Toggle) and (OldX=NewXY.X) and (OldY=NewXY.Y) then
exit; // no change
AnEdit.EditorComponent.ClearBookMark(Value); AnEdit.EditorComponent.ClearBookMark(Value);
if Toggle and (OldY=NewXY.Y) then
SetMark:=false;
end; end;
ActEdit.EditorComponent.SetBookMark(Value, if SetMark then
ActEdit.EditorComponent.CaretX,ActEdit.EditorComponent.CaretY); ActEdit.EditorComponent.SetBookMark(Value,NewXY.X,NewXY.Y);
Cmd:=SrcEditSubMenuSetBookmarks[Value] as TIDEMenuCommand; Cmd:=SrcEditSubMenuToggleBookmarks[Value] as TIDEMenuCommand;
Cmd.Checked := true; Cmd.Checked := SetMark;
if Project1<>nil then if Project1<>nil then
Project1.SessionModified:=true; Project1.SessionModified:=true;
end; end;
@ -6178,6 +6167,12 @@ Begin
Key:=0; Key:=0;
end; end;
ecToggleMarker0..ecToggleMarker9:
begin
BookMarkSet(Command - ecToggleMarker0,true);
Key:=0;
end;
ecClose: ecClose:
begin begin
CloseClicked(Self); CloseClicked(Self);

View File

@ -378,7 +378,7 @@ var
SrcEditMenuSectionClipboard: TIDEMenuSection; SrcEditMenuSectionClipboard: TIDEMenuSection;
SrcEditMenuSectionMarks: TIDEMenuSection; SrcEditMenuSectionMarks: TIDEMenuSection;
SrcEditSubMenuGotoBookmarks: TIDEMenuSection; SrcEditSubMenuGotoBookmarks: TIDEMenuSection;
SrcEditSubMenuSetBookmarks: TIDEMenuSection; SrcEditSubMenuToggleBookmarks: TIDEMenuSection;
SrcEditSubMenuDebug: TIDEMenuSection; SrcEditSubMenuDebug: TIDEMenuSection;
SrcEditSubMenuRefactor: TIDEMenuSection; SrcEditSubMenuRefactor: TIDEMenuSection;
SrcEditSubMenuFlags: TIDEMenuSection; SrcEditSubMenuFlags: TIDEMenuSection;