// // AppDelegate.swift // SBrowser // // Created by James Magahern on 7/21/20. // import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { return true } // MARK: UISceneSession Lifecycle func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) } static func fileMenuShortcuts() -> [UIKeyCommand] { [ // Open Location... UIKeyCommand( modifiers: .command, input: "L", title: "Open Location", action: #selector(ShortcutResponder.focusURLBar) ), // Go Back UIKeyCommand( modifiers: .command, input: "[", title: "Go Back", action: #selector(ShortcutResponder.goBack) ), // Go Forward UIKeyCommand( modifiers: .command, input: "]", title: "Go Forward", action: #selector(ShortcutResponder.goForward) ), // Create Tab UIKeyCommand( modifiers: .command, input: "T", title: "New Tab", action: #selector(ShortcutResponder.createTab) ), // Previous Tab UIKeyCommand( modifiers: [.command, .shift], input: "[", title: "Previous Tab", action: #selector(ShortcutResponder.previousTab) ), // Next Tab UIKeyCommand( modifiers: [.command, .shift], input: "]", title: "Next Tab", action: #selector(ShortcutResponder.nextTab) ), ] } override var keyCommands: [UIKeyCommand]? { get { return Self.fileMenuShortcuts() } } override func buildMenu(with builder: UIMenuBuilder) { builder.replaceChildren(ofMenu: .file) { children in return Self.fileMenuShortcuts() + children } } }