From 90e2ba25450ab6952adf8677c50b5ad66a4ccb0a Mon Sep 17 00:00:00 2001 From: redstrate <54911369+redstrate@users.noreply.github.com> Date: Sun, 24 May 2020 23:14:51 -0400 Subject: [PATCH] Remove NSToolbar support --- Gallery/HomeViewController.swift | 46 ------------------- Gallery/PostDetailViewController.swift | 63 -------------------------- Gallery/SceneDelegate.swift | 16 ++----- 3 files changed, 5 insertions(+), 120 deletions(-) diff --git a/Gallery/HomeViewController.swift b/Gallery/HomeViewController.swift index 21f59ce..57a2365 100644 --- a/Gallery/HomeViewController.swift +++ b/Gallery/HomeViewController.swift @@ -113,49 +113,3 @@ class HomeViewController: UIViewController, UIDocumentPickerDelegate { return super.shouldPerformSegue(withIdentifier: identifier, sender: sender) } } - -#if targetEnvironment(macCatalyst) -private let OurButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton") -private let OurButtonToolbarIdentifier2 = NSToolbarItem.Identifier(rawValue: "OurButton2") -private let TitlebarToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "Titlebar") - -extension HomeViewController: NSToolbarDelegate { - @objc func searchAction() { - if(navigationController?.topViewController != self) { - navigationController?.popViewController(animated: true) - } else { - performSegue(withIdentifier: "search", sender: nil) - } - } - - func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] { - return [OurButtonToolbarIdentifier2, NSToolbarItem.Identifier.flexibleSpace, OurButtonToolbarIdentifier] - } - - func toolbarAllowedItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] { - return toolbarDefaultItemIdentifiers(toolbar) - } - - func toolbar(_ toolbar: NSToolbar, itemForItemIdentifier itemIdentifier: NSToolbarItem.Identifier, willBeInsertedIntoToolbar flag: Bool) -> NSToolbarItem? { - if (itemIdentifier == OurButtonToolbarIdentifier2) { - let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.add, - target: self, - action: #selector(self.importAction)) - let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem) - button.label = "Add"; - - return button - } - - if (itemIdentifier == OurButtonToolbarIdentifier) { - let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.search, - target: self, - action: #selector(self.searchAction)) - let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem) - button.label = "Search"; - return button - } - return nil - } -} -#endif diff --git a/Gallery/PostDetailViewController.swift b/Gallery/PostDetailViewController.swift index 5cb36fd..2f8c8b7 100644 --- a/Gallery/PostDetailViewController.swift +++ b/Gallery/PostDetailViewController.swift @@ -132,66 +132,3 @@ extension PostDetailViewController { return storyboard.instantiateViewController(withIdentifier: "PostViewController") as? PostDetailViewController } } - - -#if targetEnvironment(macCatalyst) - -private let EditButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton") -private let ShareButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton2") -private let InfoButtonToolbarIdentifier = NSToolbarItem.Identifier(rawValue: "OurButton3") - -extension PostDetailViewController: NSToolbarDelegate { - @objc func editTagsAction() { - if(navigationController?.topViewController != self) { - navigationController?.popViewController(animated: true) - } else { - performSegue(withIdentifier: "showTags", sender: nil) - } - } - - @objc func infoAction() { - if(navigationController?.topViewController != self) { - navigationController?.popViewController(animated: true) - } else { - performSegue(withIdentifier: "showInfo", sender: nil) - } - } - - func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] { - return [NSToolbarItem.Identifier.flexibleSpace, InfoButtonToolbarIdentifier, EditButtonToolbarIdentifier, ShareButtonToolbarIdentifier] - } - - func toolbarAllowedItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] { - return toolbarDefaultItemIdentifiers(toolbar) - } - - func toolbar(_ toolbar: NSToolbar, itemForItemIdentifier itemIdentifier: NSToolbarItem.Identifier, willBeInsertedIntoToolbar flag: Bool) -> NSToolbarItem? { - if (itemIdentifier == InfoButtonToolbarIdentifier) { - let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.camera, - target: self, - action: #selector(self.infoAction)) - let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem) - return button - } - - if (itemIdentifier == EditButtonToolbarIdentifier) { - let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.edit, - target: self, - action: #selector(self.editTagsAction)) - let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem) - return button - } - - if (itemIdentifier == ShareButtonToolbarIdentifier) { - let barButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.action, - target: self, - action: #selector(self.shareAction)) - let button = NSToolbarItem(itemIdentifier: itemIdentifier, barButtonItem: barButtonItem) - return button - } - - return nil - } -} - -#endif diff --git a/Gallery/SceneDelegate.swift b/Gallery/SceneDelegate.swift index ae7d5fc..2a0d657 100644 --- a/Gallery/SceneDelegate.swift +++ b/Gallery/SceneDelegate.swift @@ -12,18 +12,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } #if targetEnvironment(macCatalyst) - guard let windowScene = (scene as? UIWindowScene) else { - return - } - - let toolbar = NSToolbar(identifier: "Toolbar") - toolbar.delegate = (window?.rootViewController as! UINavigationController).topViewController as? NSToolbarDelegate - toolbar.allowsUserCustomization = true + guard let windowScene = (scene as? UIWindowScene) else { return } - windowScene.titlebar!.toolbar = toolbar - windowScene.titlebar!.titleVisibility = .visible - - (window?.rootViewController as! UINavigationController).navigationBar.isHidden = true + if let titlebar = windowScene.titlebar { + titlebar.titleVisibility = .hidden + titlebar.toolbar = nil + } #endif }