mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 03:35:58 +02:00
Cocoa: extract EditMenu common code
This commit is contained in:
parent
1259df9b51
commit
e77c73fbf8
@ -85,6 +85,7 @@ function ToggleAppMenu(ALogicalEnabled: Boolean): Boolean;
|
|||||||
procedure Do_SetCheck(const ANSMenuItem: NSMenuItem; const Checked: boolean);
|
procedure Do_SetCheck(const ANSMenuItem: NSMenuItem; const Checked: boolean);
|
||||||
|
|
||||||
function FindEditMenu(const menu:NSMenu; const title:NSString): NSMenuItem;
|
function FindEditMenu(const menu:NSMenu; const title:NSString): NSMenuItem;
|
||||||
|
procedure AttachEditMenu(const menu:NSMenu; const index:Integer; const title:NSString );
|
||||||
procedure NSMenuAddItemsFromLCLMenu(menu: NSMenu; lclMenu: TMenuItem);
|
procedure NSMenuAddItemsFromLCLMenu(menu: NSMenu; lclMenu: TMenuItem);
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@ -301,6 +302,37 @@ begin
|
|||||||
Result:= FindEditMenuByKeyEquivalent(menu, NSSTR('c')); // Command+C
|
Result:= FindEditMenuByKeyEquivalent(menu, NSSTR('c')); // Command+C
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure AttachEditMenu(const menu: NSMenu; const index: Integer;
|
||||||
|
const title: NSString);
|
||||||
|
var
|
||||||
|
editMenu: NSMenuItem;
|
||||||
|
editSubmenu: NSMenu;
|
||||||
|
begin
|
||||||
|
editMenu:= NSMenuItem.alloc.init;
|
||||||
|
editMenu.setTitle( title );
|
||||||
|
menu.insertItem_atIndex(editMenu, index);
|
||||||
|
editMenu.release;
|
||||||
|
|
||||||
|
editSubmenu:= NSMenu.alloc.initWithTitle(title);
|
||||||
|
editMenu.setSubmenu(editSubmenu);
|
||||||
|
editSubmenu.release;
|
||||||
|
|
||||||
|
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||||
|
CocoaConst.NSSTR_EDIT_MENU_UNDO, objcselector('undo:'), NSSTR('z'));
|
||||||
|
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||||
|
CocoaConst.NSSTR_EDIT_MENU_REDO, objcselector('redo:'), NSSTR('Z'));
|
||||||
|
editSubmenu.addItem(NSMenuItem.separatorItem);
|
||||||
|
|
||||||
|
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||||
|
CocoaConst.NSSTR_EDIT_MENU_CUT, objcselector('cut:'), NSSTR('x'));
|
||||||
|
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||||
|
CocoaConst.NSSTR_EDIT_MENU_COPY, objcselector('copy:'), NSSTR('c'));
|
||||||
|
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||||
|
CocoaConst.NSSTR_EDIT_MENU_PASTE, objcselector('paste:'), NSSTR('v'));
|
||||||
|
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
||||||
|
CocoaConst.NSSTR_EDIT_MENU_SELECTALL, objcselector('selectAll:'), NSSTR('a'));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure NSMenuAddItemsFromLCLMenu(menu: NSMenu; lclMenu: TMenuItem);
|
procedure NSMenuAddItemsFromLCLMenu(menu: NSMenu; lclMenu: TMenuItem);
|
||||||
var
|
var
|
||||||
index: Integer;
|
index: Integer;
|
||||||
|
@ -441,28 +441,7 @@ var
|
|||||||
editMenuTitle:= CocoaConst.NSSTR_EDIT_MENU;
|
editMenuTitle:= CocoaConst.NSSTR_EDIT_MENU;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
editMenu:= NSMenuItem.alloc.init;
|
AttachEditMenu( mainMenu, editMenuIndex, editMenuTitle );
|
||||||
mainMenu.insertItem_atIndex(editMenu, editMenuIndex);
|
|
||||||
editMenu.release;
|
|
||||||
|
|
||||||
editSubmenu:= NSMenu.alloc.initWithTitle(editMenuTitle);
|
|
||||||
editMenu.setSubmenu(editSubmenu);
|
|
||||||
editSubmenu.release;
|
|
||||||
|
|
||||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
|
||||||
CocoaConst.NSSTR_EDIT_MENU_UNDO, objcselector('undo:'), NSSTR('z'));
|
|
||||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
|
||||||
CocoaConst.NSSTR_EDIT_MENU_REDO, objcselector('redo:'), NSSTR('Z'));
|
|
||||||
editSubmenu.addItem(NSMenuItem.separatorItem);
|
|
||||||
|
|
||||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
|
||||||
CocoaConst.NSSTR_EDIT_MENU_CUT, objcselector('cut:'), NSSTR('x'));
|
|
||||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
|
||||||
CocoaConst.NSSTR_EDIT_MENU_COPY, objcselector('copy:'), NSSTR('c'));
|
|
||||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
|
||||||
CocoaConst.NSSTR_EDIT_MENU_PASTE, objcselector('paste:'), NSSTR('v'));
|
|
||||||
editSubmenu.addItemWithTitle_action_keyEquivalent(
|
|
||||||
CocoaConst.NSSTR_EDIT_MENU_SELECTALL, objcselector('selectAll:'), NSSTR('a'));
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class procedure RestoreEditMenu();
|
class procedure RestoreEditMenu();
|
||||||
|
Loading…
Reference in New Issue
Block a user