diff --git a/macOS/Navigation/PostCommands.swift b/macOS/Navigation/PostCommands.swift index 2b2d45a..1a2b7b6 100644 --- a/macOS/Navigation/PostCommands.swift +++ b/macOS/Navigation/PostCommands.swift @@ -1,25 +1,35 @@ import SwiftUI struct PostCommands: Commands { @ObservedObject var model: WriteFreelyModel var body: some Commands { CommandMenu("Post") { + Button("Find In Posts") { + if let toolbar = NSApp.keyWindow?.toolbar, + let search = toolbar.items.first(where: { + $0.itemIdentifier.rawValue == "com.apple.SwiftUI.search" + }) as? NSSearchToolbarItem { + search.beginSearchInteraction() + } + } + .keyboardShortcut("f", modifiers: [.command, .shift]) + Group { Button(action: sendPostUrlToPasteboard, label: { Text("Copy Link To Published Post") }) .disabled(model.selectedPost?.status == PostStatus.local.rawValue) } .disabled(model.selectedPost == nil || !model.account.isLoggedIn) } } private func sendPostUrlToPasteboard() { guard let activePost = model.selectedPost else { return } guard let postId = activePost.postId else { return } guard let urlString = activePost.slug != nil ? "\(model.account.server)/\((activePost.collectionAlias)!)/\((activePost.slug)!)" : "\(model.account.server)/\((postId))" else { return } NSPasteboard.general.clearContents() NSPasteboard.general.setString(urlString, forType: .string) } }