From b31402cb394ef0d47cab9a3132d91c8e38bd520a Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 17 Aug 2023 00:22:46 +0200 Subject: MainMenu: Trying to get Edit>Find menu items working I learned about tags and that there are new names for the NSTextFinder identifiers starting in 10.7. But these still don't seem to be doing anything. But I tried adding an NSTextView to a window in a base Xcode project and the Find actions don't seem to work there either. So now that I have this, I'm thinking the rest of the problem lies elsewhere. Perhaps the NSTextView isn't connected enough to enable the Find actions. --- src/MainMenu.m | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/MainMenu.m b/src/MainMenu.m index c303e5a..1f41f20 100644 --- a/src/MainMenu.m +++ b/src/MainMenu.m @@ -251,33 +251,41 @@ NSMenuItem *MainMenuCreateEditMenuItem() setSubmenu:find_menu forItem:find_menu_item]; - [find_menu + NSMenuItem *find_ellipsis_menu_item = [find_menu addItemWithTitle:@"Find…" action:@selector(performFindPanelAction:) + // action:@selector(performTextFinderAction:) keyEquivalent:@"f"]; + [find_ellipsis_menu_item setTag:NSTextFinderActionShowFindInterface]; + // [find_ellipsis_menu_item setTag:1]; + // NSFindPanelActionShowFindPanel ? NSMenuItem *find_and_replace_menu_item = [find_menu addItemWithTitle:@"Find and Replace…" - action:@selector(performFindPanelAction:) + action:@selector(performTextFinderAction:) keyEquivalent:@"f"]; [find_and_replace_menu_item setKeyEquivalentModifierMask: NSEventModifierFlagCommand | NSEventModifierFlagOption]; + [find_and_replace_menu_item setTag:NSTextFinderActionShowReplaceInterface]; - [find_menu + NSMenuItem *find_next_menu_item = [find_menu addItemWithTitle:@"Find Next" - action:@selector(performFindPanelAction:) + action:@selector(performTextFinderAction:) keyEquivalent:@"g"]; + [find_next_menu_item setTag:NSTextFinderActionNextMatch]; - [find_menu + NSMenuItem *find_previous_menu_item = [find_menu addItemWithTitle:@"Find Previous" - action:@selector(performFindPanelAction:) + action:@selector(performTextFinderAction:) keyEquivalent:@"G"]; + [find_previous_menu_item setTag:NSTextFinderActionPreviousMatch]; - [find_menu + NSMenuItem *use_selection_for_find_menu_item = [find_menu addItemWithTitle:@"Use Selection for Find" - action:@selector(performFindPanelAction:) + action:@selector(performTextFinderAction:) keyEquivalent:@"e"]; + [use_selection_for_find_menu_item setTag:NSTextFinderActionSetSearchString]; [find_menu addItemWithTitle:@"Jump to Selection" -- cgit v1.2.3