Two new toolbar commands for bookmarks. Issue #0033947 Patch by FTurtle
git-svn-id: trunk@58500 -
							
								
								
									
										6
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -7875,6 +7875,9 @@ images/menu/menu_goto_bookmark8_200.png -text
 | 
			
		||||
images/menu/menu_goto_bookmark9.png -text
 | 
			
		||||
images/menu/menu_goto_bookmark9_150.png -text
 | 
			
		||||
images/menu/menu_goto_bookmark9_200.png -text
 | 
			
		||||
images/menu/menu_goto_bookmarks.png -text
 | 
			
		||||
images/menu/menu_goto_bookmarks_150.png -text
 | 
			
		||||
images/menu/menu_goto_bookmarks_200.png -text
 | 
			
		||||
images/menu/menu_goto_line.png -text svneol=unset#image/png
 | 
			
		||||
images/menu/menu_goto_line_150.png -text
 | 
			
		||||
images/menu/menu_goto_line_200.png -text
 | 
			
		||||
@ -8066,6 +8069,9 @@ images/menu/menu_toggle_bookmark8_200.png -text
 | 
			
		||||
images/menu/menu_toggle_bookmark9.png -text
 | 
			
		||||
images/menu/menu_toggle_bookmark9_150.png -text
 | 
			
		||||
images/menu/menu_toggle_bookmark9_200.png -text
 | 
			
		||||
images/menu/menu_toggle_bookmarks.png -text
 | 
			
		||||
images/menu/menu_toggle_bookmarks_150.png -text
 | 
			
		||||
images/menu/menu_toggle_bookmarks_200.png -text
 | 
			
		||||
images/menu/menu_tool_check_lfm.png -text svneol=unset#image/png
 | 
			
		||||
images/menu/menu_tool_check_lfm_150.png -text
 | 
			
		||||
images/menu/menu_tool_check_lfm_200.png -text
 | 
			
		||||
 | 
			
		||||
@ -253,6 +253,8 @@ const
 | 
			
		||||
  ecClearBookmarkForFile    = ecFirstLazarus + 384;
 | 
			
		||||
  ecClearAllBookmark        = ecFirstLazarus + 385;
 | 
			
		||||
 | 
			
		||||
  ecGotoBookmarks           = ecFirstLazarus + 386;
 | 
			
		||||
  ecToggleBookmarks         = ecFirstLazarus + 387;
 | 
			
		||||
 | 
			
		||||
  // Macro
 | 
			
		||||
  ecSynMacroRecord          = ecFirstLazarus + 390;
 | 
			
		||||
@ -1922,7 +1924,7 @@ begin
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
const
 | 
			
		||||
  IDEEditorCommandStrs: array[0..317] of TIdentMapEntry = (
 | 
			
		||||
  IDEEditorCommandStrs: array[0..319] of TIdentMapEntry = (
 | 
			
		||||
  // search
 | 
			
		||||
    (Value: ecFind;                                   Name: 'ecFind'),
 | 
			
		||||
    (Value: ecFindAgain;                              Name: 'ecFindAgain'),
 | 
			
		||||
@ -2118,6 +2120,8 @@ const
 | 
			
		||||
    (Value: ecNextBookmark;                           Name: 'ecNextBookmark'),
 | 
			
		||||
    (Value: ecClearBookmarkForFile;                   Name: 'ecClearBookmarkForFile'),
 | 
			
		||||
    (Value: ecClearAllBookmark;                       Name: 'ecClearAllBookmark'),
 | 
			
		||||
    (Value: ecGotoBookmarks;                          Name: 'ecGotoBookmarks'),
 | 
			
		||||
    (Value: ecToggleBookmarks;                        Name: 'ecToggleBookmarks'),
 | 
			
		||||
 | 
			
		||||
  // Macro
 | 
			
		||||
    (Value: ecSynMacroRecord;                         Name: 'ecSynMacroRecord'),
 | 
			
		||||
 | 
			
		||||
@ -589,6 +589,8 @@ type
 | 
			
		||||
    SearchFor, ReplaceText: string; Flags: TSrcEditSearchOptions;
 | 
			
		||||
    var Prompt: boolean; Progress: TIDESearchInTextProgress = nil): TModalResult;
 | 
			
		||||
 | 
			
		||||
  TBookmarkNumRange = 0..9;
 | 
			
		||||
 | 
			
		||||
var
 | 
			
		||||
  IDESearchInText: TIDESearchInTextFunction = nil;// set by the IDE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,7 +16,8 @@ unit ToolBarIntf;
 | 
			
		||||
interface
 | 
			
		||||
 | 
			
		||||
uses
 | 
			
		||||
  Classes, SysUtils, Controls, ComCtrls, IDECommands, MenuIntf;
 | 
			
		||||
  Classes, SysUtils, Controls, ComCtrls, IDECommands, MenuIntf, IDEImagesIntf,
 | 
			
		||||
  SrcEditorIntf, Menus, Forms;
 | 
			
		||||
 | 
			
		||||
type
 | 
			
		||||
  TIDEToolButton = class;
 | 
			
		||||
@ -60,6 +61,36 @@ type
 | 
			
		||||
    property Item: TIDEButtonCommand read FItem write FItem;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  { TIDEToolButtonWithArrow }
 | 
			
		||||
 | 
			
		||||
  TIDEToolButtonWithArrow = class(TIDEToolButton)
 | 
			
		||||
  protected
 | 
			
		||||
    procedure AddMenuItem(ACommand: TIDEMenuCommand); virtual;
 | 
			
		||||
    procedure AddMenuItems(ACommands: array of TIDEMenuCommand);
 | 
			
		||||
    procedure DoOnMenuItemClick(Sender: TObject);
 | 
			
		||||
    procedure DoOnMenuPopup(Sender: TObject);
 | 
			
		||||
    procedure RefreshMenu; virtual;
 | 
			
		||||
  public
 | 
			
		||||
    constructor Create(AOwner: TComponent); override;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  { TIDEToolButton_ButtonDrop }
 | 
			
		||||
 | 
			
		||||
  TIDEToolButton_ButtonDrop = class(TIDEToolButtonWithArrow)
 | 
			
		||||
  protected
 | 
			
		||||
    procedure PopUpAloneMenu;
 | 
			
		||||
  public
 | 
			
		||||
    procedure DoOnAdded; override;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  { TIDEToolButton_DropDown }
 | 
			
		||||
 | 
			
		||||
  TIDEToolButton_DropDown = class(TIDEToolButtonWithArrow)
 | 
			
		||||
  public
 | 
			
		||||
    procedure DoOnAdded; override;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  TIDEToolButtonCategory = class
 | 
			
		||||
  private
 | 
			
		||||
    FButtons: TFPList;
 | 
			
		||||
@ -155,6 +186,93 @@ begin
 | 
			
		||||
  Result := IDEToolButtonCategories.AddButton(aCommand);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
{ TIDEToolButtonWithArrow }
 | 
			
		||||
 | 
			
		||||
constructor TIDEToolButtonWithArrow.Create(AOwner: TComponent);
 | 
			
		||||
begin
 | 
			
		||||
  inherited Create(AOwner);
 | 
			
		||||
  DropdownMenu := TPopupMenu.Create(Self);
 | 
			
		||||
  DropdownMenu.Images := IDEImages.Images_16;
 | 
			
		||||
  DropdownMenu.OnPopup := @DoOnMenuPopup;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButtonWithArrow.AddMenuItem(ACommand: TIDEMenuCommand);
 | 
			
		||||
var
 | 
			
		||||
  Itm: TMenuItem;
 | 
			
		||||
begin
 | 
			
		||||
  Itm := TMenuItem.Create(DropdownMenu);
 | 
			
		||||
  Itm.Caption := ACommand.Caption;
 | 
			
		||||
  Itm.ShortCut := ACommand.Command.AsShortCut;
 | 
			
		||||
  Itm.ImageIndex := ACommand.ImageIndex;
 | 
			
		||||
  Itm.Enabled := ACommand.Enabled;
 | 
			
		||||
  Itm.OnClick := @DoOnMenuItemClick;
 | 
			
		||||
  Itm.Tag := PtrInt(ACommand);
 | 
			
		||||
  DropdownMenu.Items.Add(Itm);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButtonWithArrow.AddMenuItems(ACommands: array of TIDEMenuCommand);
 | 
			
		||||
var
 | 
			
		||||
  Cmd: TIDEMenuCommand;
 | 
			
		||||
begin
 | 
			
		||||
  for Cmd in ACommands do
 | 
			
		||||
    AddMenuItem(Cmd);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButtonWithArrow.DoOnMenuPopup(Sender: TObject);
 | 
			
		||||
begin
 | 
			
		||||
  DropdownMenu.Items.Clear;
 | 
			
		||||
  RefreshMenu;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButtonWithArrow.RefreshMenu;
 | 
			
		||||
begin
 | 
			
		||||
  { Override this method in descendants.
 | 
			
		||||
    DropdownMenu fully regenerates for every showing on OnPopup event.
 | 
			
		||||
    So, RefreshMenu calling happens:
 | 
			
		||||
    - On click to arrow (Style=tbsDropDown)
 | 
			
		||||
    - On click to button (Style=tbsButtonDrop)
 | 
			
		||||
    - On popup alone menu in static methods (on shortcuts)
 | 
			
		||||
        of TIDEToolButton_ButtonDrop descendants (Style is not matter)
 | 
			
		||||
    At calling time:
 | 
			
		||||
    - Instance of DropdownMenu exists
 | 
			
		||||
    - DropdownMenu is empty }
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButtonWithArrow.DoOnMenuItemClick(Sender: TObject);
 | 
			
		||||
var
 | 
			
		||||
  Cmd: TIDEMenuCommand;
 | 
			
		||||
begin
 | 
			
		||||
  Cmd:=TIDEMenuCommand((Sender as TMenuItem).Tag);
 | 
			
		||||
  Cmd.DoOnClick;  // Sender in handler should be a command but not a menu item
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
{ TIDEToolButton_ButtonDrop }
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButton_ButtonDrop.DoOnAdded;
 | 
			
		||||
begin
 | 
			
		||||
  Style := tbsButtonDrop;  // not in constructor
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButton_ButtonDrop.PopUpAloneMenu;
 | 
			
		||||
var
 | 
			
		||||
  ActiveEditor: TSourceEditorInterface;
 | 
			
		||||
  ScreenXY: TPoint;
 | 
			
		||||
begin
 | 
			
		||||
  ActiveEditor := SourceEditorManagerIntf.ActiveEditor;
 | 
			
		||||
  if ActiveEditor=nil then
 | 
			
		||||
    Exit;
 | 
			
		||||
  ScreenXY := ActiveEditor.EditorControl.ClientToScreen(Point(0, 0));
 | 
			
		||||
 | 
			
		||||
  DropdownMenu.PopUp(ScreenXY.X, ScreenXY.Y);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
{ TIDEToolButton_DropDown }
 | 
			
		||||
 | 
			
		||||
procedure TIDEToolButton_DropDown.DoOnAdded;
 | 
			
		||||
begin
 | 
			
		||||
  Style := tbsDropDown;  // not in constructor
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
{ TIDEToolButtonsEnumerator }
 | 
			
		||||
 | 
			
		||||
constructor TIDEToolButtonsEnumerator.Create(AButtons: TIDEToolButtons);
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@ uses
 | 
			
		||||
  // SynEdit
 | 
			
		||||
  SynEdit, SynHighlighterPas, SynPluginMultiCaret,
 | 
			
		||||
  // IdeIntf
 | 
			
		||||
  IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
 | 
			
		||||
  IDEOptionsIntf, IDEOptEditorIntf, IDEUtils, SrcEditorIntf,
 | 
			
		||||
  // IDE
 | 
			
		||||
  EditorOptions, LazarusIDEStrConsts, IDEProcs;
 | 
			
		||||
 | 
			
		||||
@ -408,7 +408,7 @@ begin
 | 
			
		||||
    FDefaultBookmarkImages := TImageList.Create(Self);
 | 
			
		||||
    FDefaultBookmarkImages.Width := 11;
 | 
			
		||||
    FDefaultBookmarkImages.Height := 11;
 | 
			
		||||
    for i := 0 to 9 do
 | 
			
		||||
    for i in TBookmarkNumRange do
 | 
			
		||||
      FDefaultBookmarkImages.AddResourceName(HInstance, 'bookmark' + IntToStr(i));
 | 
			
		||||
  end;
 | 
			
		||||
  Result := FDefaultBookmarkImages;
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,7 @@ uses
 | 
			
		||||
  // SynEdit
 | 
			
		||||
  SynEdit, SynBeautifier, SynHighlighterPas, SynEditKeyCmds,
 | 
			
		||||
  // IdeIntf
 | 
			
		||||
  IDEOptionsIntf, IDEOptEditorIntf, IDEUtils,
 | 
			
		||||
  IDEOptionsIntf, IDEOptEditorIntf, IDEUtils, SrcEditorIntf,
 | 
			
		||||
  // IDE
 | 
			
		||||
  EditorOptions, LazarusIDEStrConsts, IDEProcs, KeyMapping,
 | 
			
		||||
  editor_keymapping_options, editor_general_options;
 | 
			
		||||
@ -662,7 +662,7 @@ begin
 | 
			
		||||
    FDefaultBookmarkImages := TImageList.Create(Self);
 | 
			
		||||
    FDefaultBookmarkImages.Width := 11;
 | 
			
		||||
    FDefaultBookmarkImages.Height := 11;
 | 
			
		||||
    for i := 0 to 9 do
 | 
			
		||||
    for i in TBookmarkNumRange do
 | 
			
		||||
      FDefaultBookmarkImages.AddResourceName(HInstance, 'bookmark' + IntToStr(i));
 | 
			
		||||
  end;
 | 
			
		||||
  Result := FDefaultBookmarkImages;
 | 
			
		||||
 | 
			
		||||
@ -442,7 +442,8 @@ begin
 | 
			
		||||
    ecSetMarker9              : Result:= Format(srkmecSetMarker,[cmd-ecSetMarker0]);
 | 
			
		||||
    ecToggleMarker0 ..
 | 
			
		||||
    ecToggleMarker9           : Result:= Format(srkmecToggleMarker,[cmd-ecToggleMarker0]);
 | 
			
		||||
 | 
			
		||||
    ecGotoBookmarks           : Result:= uemGotoBookmarks;
 | 
			
		||||
    ecToggleBookmarks         : Result:= uemToggleBookmarks;
 | 
			
		||||
    ecBlockSetBegin   : Result := srkmecBlockSetBegin;
 | 
			
		||||
    ecBlockSetEnd     : Result := srkmecBlockSetEnd;
 | 
			
		||||
    ecBlockToggleHide : Result := srkmecBlockToggleHide;
 | 
			
		||||
@ -1159,6 +1160,8 @@ begin
 | 
			
		||||
  ecSetMarker7:          SetSingle(VK_UNKNOWN,[]);
 | 
			
		||||
  ecSetMarker8:          SetSingle(VK_UNKNOWN,[]);
 | 
			
		||||
  ecSetMarker9:          SetSingle(VK_UNKNOWN,[]);
 | 
			
		||||
  ecGotoBookmarks:       SetSingle(VK_B,[ssCtrl]);
 | 
			
		||||
  ecToggleBookmarks:     SetSingle(VK_B,[ssCtrl,ssShift]);
 | 
			
		||||
 | 
			
		||||
  // codetools
 | 
			
		||||
  ecAutoCompletion:      SetSingle(VK_J,[XCtrl]);
 | 
			
		||||
@ -1685,6 +1688,8 @@ begin
 | 
			
		||||
  EcFoldCurrent:         SetSingle(VK_OEM_PLUS,[ssAlt,ssShift]);
 | 
			
		||||
  EcUnFoldCurrent:       SetSingle(VK_OEM_MINUS,[ssAlt,ssShift]);
 | 
			
		||||
  EcToggleMarkupWord:    SetSingle(VK_M,[ssAlt]);
 | 
			
		||||
  ecGotoBookmarks:       SetSingle(VK_B,[ssCtrl]);
 | 
			
		||||
  ecToggleBookmarks:     SetSingle(VK_B,[ssCtrl,ssShift]);
 | 
			
		||||
 | 
			
		||||
  // file menu
 | 
			
		||||
  ecNew:                 SetSingle(VK_UNKNOWN,[]);
 | 
			
		||||
@ -2311,6 +2316,9 @@ begin
 | 
			
		||||
  EcToggleMarkupWord:    SetSingle(VK_M,[ssMeta]);
 | 
			
		||||
  *)
 | 
			
		||||
 | 
			
		||||
  ecGotoBookmarks:       SetSingle(VK_UNKNOWN,[]);
 | 
			
		||||
  ecToggleBookmarks:     SetSingle(VK_UNKNOWN,[]);
 | 
			
		||||
 | 
			
		||||
  // file menu
 | 
			
		||||
  ecNew:                 SetSingle(VK_N,[ssMeta]);
 | 
			
		||||
  ecNewUnit:             SetSingle(VK_UNKNOWN,[]);
 | 
			
		||||
@ -2814,6 +2822,7 @@ begin
 | 
			
		||||
  AddDefault(C, 'Clear all Bookmarks', srkmecClearAllBookmark, ecClearAllBookmark);
 | 
			
		||||
  AddDefault(C, 'Previous Bookmark', srkmecPrevBookmark, ecPrevBookmark);
 | 
			
		||||
  AddDefault(C, 'Next Bookmark', srkmecNextBookmark, ecNextBookmark);
 | 
			
		||||
  AddDefault(C, 'Go to Bookmark...', uemGotoBookmarks, ecGotoBookmarks);
 | 
			
		||||
  AddDefault(C, 'Go to marker 0', lisKMGoToMarker0, ecGotoMarker0);
 | 
			
		||||
  AddDefault(C, 'Go to marker 1', lisKMGoToMarker1, ecGotoMarker1);
 | 
			
		||||
  AddDefault(C, 'Go to marker 2', lisKMGoToMarker2, ecGotoMarker2);
 | 
			
		||||
@ -2834,6 +2843,7 @@ begin
 | 
			
		||||
  AddDefault(C, 'Set marker 7', lisKMSetMarker7, ecSetMarker7);
 | 
			
		||||
  AddDefault(C, 'Set marker 8', lisKMSetMarker8, ecSetMarker8);
 | 
			
		||||
  AddDefault(C, 'Set marker 9', lisKMSetMarker9, ecSetMarker9);
 | 
			
		||||
  AddDefault(C, 'Toggle Bookmark...', uemToggleBookmarks, ecToggleBookmarks);
 | 
			
		||||
  AddDefault(C, 'Toggle marker 0', lisKMToggleMarker0, ecToggleMarker0);
 | 
			
		||||
  AddDefault(C, 'Toggle marker 1', lisKMToggleMarker1, ecToggleMarker1);
 | 
			
		||||
  AddDefault(C, 'Toggle marker 2', lisKMToggleMarker2, ecToggleMarker2);
 | 
			
		||||
 | 
			
		||||
@ -2834,6 +2834,7 @@ resourcestring
 | 
			
		||||
  uemCopyFilename = 'Copy Filename';
 | 
			
		||||
  lisCopyFilename = 'Copy Filename %s';
 | 
			
		||||
  uemGotoBookmark = '&Goto Bookmark';
 | 
			
		||||
  uemGotoBookmarks = 'Goto Bookmark...';
 | 
			
		||||
  uemSetFreeBookmark = 'Set a Free Bookmark';
 | 
			
		||||
  uemNextBookmark = 'Goto Next Bookmark';
 | 
			
		||||
  uemPrevBookmark = 'Goto Previous Bookmark';
 | 
			
		||||
@ -2848,6 +2849,7 @@ resourcestring
 | 
			
		||||
  lisOpenLfm = 'Open %s';
 | 
			
		||||
  lisUtf8WithBOM = 'UTF-8 with BOM';
 | 
			
		||||
  uemToggleBookmark = '&Toggle Bookmark';
 | 
			
		||||
  uemToggleBookmarks = 'Toggle Bookmark...';
 | 
			
		||||
  uemReadOnly = 'Read Only';
 | 
			
		||||
  uemShowLineNumbers = 'Show Line Numbers';
 | 
			
		||||
  lisDisableI18NForLFM = 'Disable I18N for LFM';
 | 
			
		||||
 | 
			
		||||
@ -8521,7 +8521,7 @@ begin
 | 
			
		||||
  if not UpdateBookmarkCommandsStamp.Changed(BookmarksStamp) then
 | 
			
		||||
    Exit;
 | 
			
		||||
 | 
			
		||||
  for BookMarkID:=0 to 9 do begin
 | 
			
		||||
  for BookMarkID in TBookmarkNumRange do begin
 | 
			
		||||
    MarkDesc:=' '+IntToStr(BookMarkID);
 | 
			
		||||
    BookmarkAvail:=False;
 | 
			
		||||
    i := 0;
 | 
			
		||||
@ -10705,7 +10705,7 @@ var
 | 
			
		||||
  UInfo: TUnitInfo;
 | 
			
		||||
begin
 | 
			
		||||
  if ID = -1 then begin
 | 
			
		||||
    for i := 0 to 9 do begin
 | 
			
		||||
    for i in TBookmarkNumRange do begin
 | 
			
		||||
      //b := Project1.Bookmarks[i];
 | 
			
		||||
      UInfo := TUnitInfo(Project1.Bookmarks.UnitInfoForBookmarkWithIndex(i));
 | 
			
		||||
      if UInfo <> nil then begin
 | 
			
		||||
 | 
			
		||||
@ -55,6 +55,7 @@ uses
 | 
			
		||||
  {$IFDEF IDE_MEM_CHECK}
 | 
			
		||||
  MemCheck,
 | 
			
		||||
  {$ENDIF}
 | 
			
		||||
  // RTL + FCL
 | 
			
		||||
  Classes, SysUtils, Types, Math,
 | 
			
		||||
  // LCL
 | 
			
		||||
  LCLProc, Buttons, Menus, ComCtrls, Controls, Graphics, Dialogs, Forms, ImgList,
 | 
			
		||||
@ -204,12 +205,9 @@ type
 | 
			
		||||
 | 
			
		||||
  { TJumpToSectionToolButton }
 | 
			
		||||
 | 
			
		||||
  TJumpToSectionToolButton = class(TIDEToolButton)
 | 
			
		||||
  private
 | 
			
		||||
    procedure AddMenuItem(aCmd: TIDEMenuCommand);
 | 
			
		||||
  public
 | 
			
		||||
    procedure DoOnAdded; override;
 | 
			
		||||
    procedure RefreshMenu;
 | 
			
		||||
  TJumpToSectionToolButton = class(TIDEToolButton_DropDown)
 | 
			
		||||
  protected
 | 
			
		||||
    procedure RefreshMenu; override;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  { TSetBuildModeToolButton }
 | 
			
		||||
@ -599,37 +597,14 @@ end;
 | 
			
		||||
 | 
			
		||||
{ TJumpToSectionToolButton }
 | 
			
		||||
 | 
			
		||||
procedure TJumpToSectionToolButton.DoOnAdded;
 | 
			
		||||
begin
 | 
			
		||||
  inherited DoOnAdded;
 | 
			
		||||
  RefreshMenu;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TJumpToSectionToolButton.AddMenuItem(aCmd: TIDEMenuCommand);
 | 
			
		||||
var
 | 
			
		||||
  xItem: TMenuItem;
 | 
			
		||||
begin
 | 
			
		||||
  xItem := TMenuItem.Create(DropdownMenu);
 | 
			
		||||
  DropdownMenu.Items.Add(xItem);
 | 
			
		||||
  xItem.Caption := aCmd.Caption;
 | 
			
		||||
  xItem.OnClick := aCmd.OnClick;
 | 
			
		||||
  xItem.ImageIndex := aCmd.ImageIndex;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TJumpToSectionToolButton.RefreshMenu;
 | 
			
		||||
begin
 | 
			
		||||
  if DropdownMenu = nil then
 | 
			
		||||
  begin
 | 
			
		||||
    DropdownMenu := TPopupMenu.Create(Self);
 | 
			
		||||
    if Assigned(FToolBar) then
 | 
			
		||||
      DropdownMenu.Images := FToolBar.Images;
 | 
			
		||||
    Style := tbsDropDown;
 | 
			
		||||
  end;
 | 
			
		||||
  DropdownMenu.Items.Clear;
 | 
			
		||||
  AddMenuItem(MainIDEBar.itmJumpToInterface);
 | 
			
		||||
  AddMenuItem(MainIDEBar.itmJumpToInterfaceUses);
 | 
			
		||||
  DropdownMenu.Items.AddSeparator;
 | 
			
		||||
  AddMenuItem(MainIDEBar.itmJumpToImplementation);
 | 
			
		||||
  AddMenuItem(MainIDEBar.itmJumpToImplementationUses);
 | 
			
		||||
  DropdownMenu.Items.AddSeparator;
 | 
			
		||||
  AddMenuItem(MainIDEBar.itmJumpToInitialization);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1358,6 +1358,10 @@ var
 | 
			
		||||
    SrcEditMenuSetFreeBookmark: TIDEMenuCommand;
 | 
			
		||||
    SrcEditMenuClearFileBookmark: TIDEMenuCommand;
 | 
			
		||||
    SrcEditMenuClearAllBookmark: TIDEMenuCommand;
 | 
			
		||||
    SrcEditMenuGotoBookmark: array [TBookmarkNumRange] of TIDEMenuCommand;
 | 
			
		||||
    SrcEditMenuGotoBookmarks: TIDEMenuCommand;
 | 
			
		||||
    SrcEditMenuToggleBookmark: array [TBookmarkNumRange] of TIDEMenuCommand;
 | 
			
		||||
    SrcEditMenuToggleBookmarks: TIDEMenuCommand;
 | 
			
		||||
    // debugging
 | 
			
		||||
    SrcEditMenuToggleBreakpoint: TIDEMenuCommand;
 | 
			
		||||
    SrcEditMenuRunToCursor: TIDEMenuCommand;
 | 
			
		||||
@ -1422,6 +1426,27 @@ var
 | 
			
		||||
  EnglishModifiedLGPLNotice: string;
 | 
			
		||||
  EnglishMITNotice: string;
 | 
			
		||||
 | 
			
		||||
type
 | 
			
		||||
 | 
			
		||||
  { TToolButton_GotoBookmarks }
 | 
			
		||||
 | 
			
		||||
  TToolButton_GotoBookmarks = class(TIDEToolButton_ButtonDrop)
 | 
			
		||||
  protected
 | 
			
		||||
    procedure RefreshMenu; override;
 | 
			
		||||
  public
 | 
			
		||||
    class procedure ShowAloneMenu(Sender: TObject); static;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  { TToolButton_ToggleBookmarks }
 | 
			
		||||
 | 
			
		||||
  TToolButton_ToggleBookmarks = class(TIDEToolButton_ButtonDrop)
 | 
			
		||||
  protected
 | 
			
		||||
    procedure RefreshMenu; override;
 | 
			
		||||
  public
 | 
			
		||||
    class procedure ShowAloneMenu(Sender: TObject); static;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
implementation
 | 
			
		||||
 | 
			
		||||
{$R *.lfm}
 | 
			
		||||
@ -1657,32 +1682,56 @@ begin
 | 
			
		||||
  SrcEditMenuSectionMarks:=RegisterIDEMenuSection(SourceEditorMenuRoot, 'Marks section');
 | 
			
		||||
    // register the Goto Bookmarks Submenu
 | 
			
		||||
    SrcEditSubMenuGotoBookmarks:=RegisterIDESubMenu(SrcEditMenuSectionMarks,
 | 
			
		||||
                                              'Goto bookmarks',uemGotoBookmark);
 | 
			
		||||
                                   'Goto bookmarks submenu', uemGotoBookmark, nil, nil, 'menu_goto_bookmarks');
 | 
			
		||||
    AParent:=SrcEditSubMenuGotoBookmarks;
 | 
			
		||||
      for I := 0 to 9 do
 | 
			
		||||
        RegisterIDEMenuCommand(AParent,'GotoBookmark'+IntToStr(I),
 | 
			
		||||
            uemBookmarkN+IntToStr(I), nil, @ExecuteIdeMenuClick, nil, 'menu_goto_bookmark'+IntToStr(I));
 | 
			
		||||
      for I in TBookmarkNumRange do
 | 
			
		||||
        SrcEditMenuGotoBookmark[I]:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
            'GotoBookmark'+IntToStr(I), uemBookmarkN+IntToStr(I),
 | 
			
		||||
            nil, @ExecuteIdeMenuClick, nil,
 | 
			
		||||
            'menu_goto_bookmark'+IntToStr(I));
 | 
			
		||||
 | 
			
		||||
      AParent:=RegisterIDEMenuSection(AParent, 'Next/Prev Bookmark section');
 | 
			
		||||
      SrcEditMenuNextBookmark:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
          'Goto next Bookmark',uemNextBookmark, nil,
 | 
			
		||||
          @ExecuteIdeMenuClick, nil, 'menu_search_next_bookmark');
 | 
			
		||||
      SrcEditMenuPrevBookmark:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
          'Goto previous Bookmark',uemPrevBookmark, nil,
 | 
			
		||||
          @ExecuteIdeMenuClick, nil, 'menu_search_previous_bookmark');
 | 
			
		||||
 | 
			
		||||
      {For toolbar only. Hidden in menu.}
 | 
			
		||||
      SrcEditMenuGotoBookmarks:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
          'Goto bookmarks', uemGotoBookmarks,
 | 
			
		||||
          nil, TNotifyProcedure(@TToolButton_GotoBookmarks.ShowAloneMenu), nil,
 | 
			
		||||
          'menu_goto_bookmarks');
 | 
			
		||||
      SrcEditMenuGotoBookmarks.Visible:=False;
 | 
			
		||||
  {%endregion}
 | 
			
		||||
 | 
			
		||||
  {%region *** Toggle Bookmarks Submenu ***}
 | 
			
		||||
    SrcEditSubMenuToggleBookmarks:=RegisterIDESubMenu(SrcEditMenuSectionMarks,
 | 
			
		||||
                                           'Toggle bookmarks',uemToggleBookmark);
 | 
			
		||||
                                     'Toggle bookmarks submenu', uemToggleBookmark, nil, nil, 'menu_toggle_bookmarks');
 | 
			
		||||
    AParent:=SrcEditSubMenuToggleBookmarks;
 | 
			
		||||
      for I := 0 to 9 do
 | 
			
		||||
        RegisterIDEMenuCommand(AParent, 'ToggleBookmark'+IntToStr(I),
 | 
			
		||||
            uemBookmarkN+IntToStr(I), nil, @ExecuteIdeMenuClick, nil, 'menu_toggle_bookmark'+IntToStr(I));
 | 
			
		||||
      for I in TBookmarkNumRange do
 | 
			
		||||
        SrcEditMenuToggleBookmark[I]:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
            'ToggleBookmark'+IntToStr(I), uemBookmarkN+IntToStr(I),
 | 
			
		||||
            nil, @ExecuteIdeMenuClick, nil,
 | 
			
		||||
            'menu_toggle_bookmark'+IntToStr(I));
 | 
			
		||||
 | 
			
		||||
      AParent:=RegisterIDEMenuSection(AParent, 'Set Free Bookmark section');
 | 
			
		||||
      SrcEditMenuSetFreeBookmark:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
          'Set a free Bookmark',uemSetFreeBookmark, nil, @ExecuteIdeMenuClick, nil, 'menu_set_free_bookmark');
 | 
			
		||||
 | 
			
		||||
      AParent:=RegisterIDEMenuSection(AParent, 'Clear Bookmarks section');
 | 
			
		||||
      SrcEditMenuClearFileBookmark:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
          'Clear Bookmark for current file',srkmecClearBookmarkForFile, nil, @ExecuteIdeMenuClick, nil, 'menu_clear_file_bookmarks');
 | 
			
		||||
      SrcEditMenuClearAllBookmark:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
          'Clear all Bookmark',srkmecClearAllBookmark, nil, @ExecuteIdeMenuClick, nil, 'menu_clear_all_bookmarks');
 | 
			
		||||
 | 
			
		||||
      {For toolbar only. Hidden in menu.}
 | 
			
		||||
      SrcEditMenuToggleBookmarks:=RegisterIDEMenuCommand(AParent,
 | 
			
		||||
          'Toggle bookmarks', uemToggleBookmarks,
 | 
			
		||||
          nil, TNotifyProcedure(@TToolButton_ToggleBookmarks.ShowAloneMenu), nil,
 | 
			
		||||
          'menu_toggle_bookmarks');
 | 
			
		||||
      SrcEditMenuToggleBookmarks.Visible:=False;
 | 
			
		||||
  {%endregion}
 | 
			
		||||
 | 
			
		||||
  {%region *** Debug Section ***}
 | 
			
		||||
@ -1791,6 +1840,51 @@ begin
 | 
			
		||||
  Result:=CompareFilenames(AnsiString(FileNameStr),SE1.FileName);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
{ TToolButton_GotoBookmarks }
 | 
			
		||||
 | 
			
		||||
procedure TToolButton_GotoBookmarks.RefreshMenu;
 | 
			
		||||
begin
 | 
			
		||||
  AddMenuItems(SrcEditMenuGotoBookmark);
 | 
			
		||||
  DropdownMenu.Items.AddSeparator;
 | 
			
		||||
  AddMenuItems([
 | 
			
		||||
    SrcEditMenuPrevBookmark,
 | 
			
		||||
    SrcEditMenuNextBookmark]);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
class procedure TToolButton_GotoBookmarks.ShowAloneMenu(Sender: TObject);  // on shortcuts only
 | 
			
		||||
const
 | 
			
		||||
  Btn: TToolButton_GotoBookmarks=nil;  // static var
 | 
			
		||||
begin
 | 
			
		||||
  if Btn = nil then
 | 
			
		||||
    Btn := TToolButton_GotoBookmarks.Create(Application);
 | 
			
		||||
  Btn.PopUpAloneMenu;
 | 
			
		||||
  // Btn should not be destroyed immediately after PopUp
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{ TToolButton_ToggleBookmarks }
 | 
			
		||||
 | 
			
		||||
procedure TToolButton_ToggleBookmarks.RefreshMenu;
 | 
			
		||||
begin
 | 
			
		||||
  AddMenuItems(SrcEditMenuToggleBookmark);
 | 
			
		||||
  DropdownMenu.Items.AddSeparator;
 | 
			
		||||
  AddMenuItem(SrcEditMenuSetFreeBookmark);
 | 
			
		||||
  DropdownMenu.Items.AddSeparator;
 | 
			
		||||
  AddMenuItems([
 | 
			
		||||
    SrcEditMenuClearFileBookmark,
 | 
			
		||||
    SrcEditMenuClearAllBookmark]);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
class procedure TToolButton_ToggleBookmarks.ShowAloneMenu(Sender: TObject);  // on shortcuts only
 | 
			
		||||
const
 | 
			
		||||
  Btn: TToolButton_ToggleBookmarks=nil;  // static var
 | 
			
		||||
begin
 | 
			
		||||
  if Btn = nil then
 | 
			
		||||
    Btn := TToolButton_ToggleBookmarks.Create(Application);
 | 
			
		||||
  Btn.PopUpAloneMenu;
 | 
			
		||||
  // Btn should not be destroyed immediately after PopUp
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
{ TSourceEditorWordCompletion }
 | 
			
		||||
 | 
			
		||||
constructor TSourceEditorWordCompletion.Create;
 | 
			
		||||
@ -4060,7 +4154,7 @@ Begin
 | 
			
		||||
    end;
 | 
			
		||||
  ecClearBookmarkForFile: begin
 | 
			
		||||
      if Assigned(Manager) and Assigned(Manager.OnClearBookmarkId) then
 | 
			
		||||
        for i := 0 to 9 do
 | 
			
		||||
        for i in TBookmarkNumRange do
 | 
			
		||||
          if EditorComponent.GetBookMark(i,x{%H-},y{%H-}) then
 | 
			
		||||
            Manager.OnClearBookmarkId(Self, i);
 | 
			
		||||
    end;
 | 
			
		||||
@ -10539,9 +10633,17 @@ procedure TSourceEditorManager.SetupShortCuts;
 | 
			
		||||
    Result:=GetCmdAndBtn(ACommand, ToolButton);
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
  function GetCommand(ACommand: word; ToolButtonClass: TIDEToolButtonClass): TIDECommand;
 | 
			
		||||
  var
 | 
			
		||||
    ToolButton: TIDEButtonCommand;
 | 
			
		||||
  begin
 | 
			
		||||
    Result:=GetCmdAndBtn(ACommand, ToolButton);
 | 
			
		||||
    if ToolButton<>nil then
 | 
			
		||||
      ToolButton.ToolButtonClass := ToolButtonClass;
 | 
			
		||||
  end;
 | 
			
		||||
 | 
			
		||||
var
 | 
			
		||||
  i: Integer;
 | 
			
		||||
  IDEmi: TIDEMenuItem;
 | 
			
		||||
begin
 | 
			
		||||
  {%region *** first static section *** }
 | 
			
		||||
    SrcEditMenuFindDeclaration.Command := GetCommand(ecFindDeclaration);
 | 
			
		||||
@ -10604,12 +10706,14 @@ begin
 | 
			
		||||
  SrcEditMenuClearFileBookmark.Command:=GetCommand(ecClearBookmarkForFile);
 | 
			
		||||
  SrcEditMenuClearAllBookmark.Command:=GetCommand(ecClearAllBookmark);
 | 
			
		||||
 | 
			
		||||
  for i:=0 to 9 do begin
 | 
			
		||||
    IDEmi:=SrcEditSubMenuGotoBookmarks.FindByName('GotoBookmark'+IntToStr(i));
 | 
			
		||||
    IDEmi.Command := GetCommand(ecGotoMarker0 + i);
 | 
			
		||||
    IDEmi:=SrcEditSubMenuToggleBookmarks.FindByName('ToggleBookmark'+IntToStr(i));
 | 
			
		||||
    IDEmi.Command := GetCommand(ecToggleMarker0 + i);
 | 
			
		||||
  end;
 | 
			
		||||
  SrcEditMenuGotoBookmarks.Command:=GetCommand(ecGotoBookmarks, TToolButton_GotoBookmarks);
 | 
			
		||||
  SrcEditMenuToggleBookmarks.Command:=GetCommand(ecToggleBookmarks, TToolButton_ToggleBookmarks);
 | 
			
		||||
 | 
			
		||||
  for i in TBookmarkNumRange do
 | 
			
		||||
    SrcEditMenuGotoBookmark[i].Command := GetCommand(ecGotoMarker0 + i);
 | 
			
		||||
 | 
			
		||||
  for i in TBookmarkNumRange do
 | 
			
		||||
    SrcEditMenuToggleBookmark[i].Command := GetCommand(ecToggleMarker0 + i);
 | 
			
		||||
 | 
			
		||||
  {%region *** Source Section ***}
 | 
			
		||||
    SrcEditMenuEncloseSelection.Command:=GetCommand(ecSelectionEnclose);
 | 
			
		||||
 | 
			
		||||
@ -557,7 +557,7 @@ begin
 | 
			
		||||
  FImgList.RegisterResolutions([11, 16, 22, 33], [100, 150, 200, 300]);
 | 
			
		||||
 | 
			
		||||
  // synedit expects the first 10 icons for the bookmarks
 | 
			
		||||
  for i := 0 to 9 do
 | 
			
		||||
  for i in TBookmarkNumRange do
 | 
			
		||||
    AddImage('bookmark'+IntToStr(i));
 | 
			
		||||
 | 
			
		||||
  // load active breakpoint image
 | 
			
		||||
 | 
			
		||||
@ -163,6 +163,9 @@ menu_goto_bookmark8_200.png
 | 
			
		||||
menu_goto_bookmark9.png
 | 
			
		||||
menu_goto_bookmark9_150.png
 | 
			
		||||
menu_goto_bookmark9_200.png
 | 
			
		||||
menu_goto_bookmarks.png
 | 
			
		||||
menu_goto_bookmarks_150.png
 | 
			
		||||
menu_goto_bookmarks_200.png
 | 
			
		||||
menu_goto_line.png
 | 
			
		||||
menu_goto_line_150.png
 | 
			
		||||
menu_goto_line_200.png
 | 
			
		||||
@ -338,6 +341,9 @@ menu_toggle_bookmark8_200.png
 | 
			
		||||
menu_toggle_bookmark9.png
 | 
			
		||||
menu_toggle_bookmark9_150.png
 | 
			
		||||
menu_toggle_bookmark9_200.png
 | 
			
		||||
menu_toggle_bookmarks.png
 | 
			
		||||
menu_toggle_bookmarks_150.png
 | 
			
		||||
menu_toggle_bookmarks_200.png
 | 
			
		||||
menu_tool_check_lfm.png
 | 
			
		||||
menu_tool_check_lfm_150.png
 | 
			
		||||
menu_tool_check_lfm_200.png
 | 
			
		||||
 | 
			
		||||
@ -362,6 +362,9 @@ menu/menu_goto_bookmark8_200.png
 | 
			
		||||
menu/menu_goto_bookmark9.png
 | 
			
		||||
menu/menu_goto_bookmark9_150.png
 | 
			
		||||
menu/menu_goto_bookmark9_200.png
 | 
			
		||||
menu/menu_goto_bookmarks.png
 | 
			
		||||
menu/menu_goto_bookmarks_150.png
 | 
			
		||||
menu/menu_goto_bookmarks_200.png
 | 
			
		||||
menu/menu_goto_line.png
 | 
			
		||||
menu/menu_goto_line_150.png
 | 
			
		||||
menu/menu_goto_line_200.png
 | 
			
		||||
@ -553,6 +556,9 @@ menu/menu_toggle_bookmark8_200.png
 | 
			
		||||
menu/menu_toggle_bookmark9.png
 | 
			
		||||
menu/menu_toggle_bookmark9_150.png
 | 
			
		||||
menu/menu_toggle_bookmark9_200.png
 | 
			
		||||
menu/menu_toggle_bookmarks.png
 | 
			
		||||
menu/menu_toggle_bookmarks_150.png
 | 
			
		||||
menu/menu_toggle_bookmarks_200.png
 | 
			
		||||
menu/menu_tool_check_lfm.png
 | 
			
		||||
menu/menu_tool_check_lfm_150.png
 | 
			
		||||
menu/menu_tool_check_lfm_200.png
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								images/menu/menu_goto_bookmarks.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 399 B  | 
							
								
								
									
										
											BIN
										
									
								
								images/menu/menu_goto_bookmarks_150.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 584 B  | 
							
								
								
									
										
											BIN
										
									
								
								images/menu/menu_goto_bookmarks_200.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 810 B  | 
| 
		 Before Width: | Height: | Size: 505 B After Width: | Height: | Size: 505 B  | 
| 
		 Before Width: | Height: | Size: 789 B After Width: | Height: | Size: 794 B  | 
| 
		 Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB  | 
| 
		 Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 459 B  | 
| 
		 Before Width: | Height: | Size: 712 B After Width: | Height: | Size: 718 B  | 
| 
		 Before Width: | Height: | Size: 901 B After Width: | Height: | Size: 899 B  | 
| 
		 Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 513 B  | 
| 
		 Before Width: | Height: | Size: 816 B After Width: | Height: | Size: 826 B  | 
| 
		 Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB  | 
| 
		 Before Width: | Height: | Size: 511 B After Width: | Height: | Size: 510 B  | 
| 
		 Before Width: | Height: | Size: 826 B After Width: | Height: | Size: 831 B  | 
| 
		 Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB  | 
| 
		 Before Width: | Height: | Size: 470 B After Width: | Height: | Size: 468 B  | 
| 
		 Before Width: | Height: | Size: 761 B After Width: | Height: | Size: 767 B  | 
| 
		 Before Width: | Height: | Size: 904 B After Width: | Height: | Size: 905 B  | 
| 
		 Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 477 B  | 
| 
		 Before Width: | Height: | Size: 777 B After Width: | Height: | Size: 774 B  | 
| 
		 Before Width: | Height: | Size: 937 B After Width: | Height: | Size: 945 B  | 
| 
		 Before Width: | Height: | Size: 520 B After Width: | Height: | Size: 520 B  | 
| 
		 Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 824 B  | 
| 
		 Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB  | 
| 
		 Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 478 B  | 
| 
		 Before Width: | Height: | Size: 751 B After Width: | Height: | Size: 760 B  | 
| 
		 Before Width: | Height: | Size: 902 B After Width: | Height: | Size: 899 B  | 
| 
		 Before Width: | Height: | Size: 509 B After Width: | Height: | Size: 508 B  | 
| 
		 Before Width: | Height: | Size: 840 B After Width: | Height: | Size: 848 B  | 
| 
		 Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB  | 
| 
		 Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 517 B  | 
| 
		 Before Width: | Height: | Size: 830 B After Width: | Height: | Size: 834 B  | 
| 
		 Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								images/menu/menu_toggle_bookmarks.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 420 B  | 
							
								
								
									
										
											BIN
										
									
								
								images/menu/menu_toggle_bookmarks_150.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 609 B  | 
							
								
								
									
										
											BIN
										
									
								
								images/menu/menu_toggle_bookmarks_200.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 849 B  |