From ac4f5d658d284a847a6d415292732c8e3fe1eabb Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Tue, 8 Dec 2020 16:54:34 -0600 Subject: [PATCH] Add confirmation dialogs for deactivating extensions. Fixes #2632 --- ...ensionPointPreferencesViewController.swift | 21 ++++++++++++-- .../ExtensionInspectorViewController.swift | 21 ++++++++++++-- iOS/Inspector/Inspector.storyboard | 28 ++++++++++++------- 3 files changed, 55 insertions(+), 15 deletions(-) diff --git a/Mac/Preferences/ExtensionPoints/ExtensionPointPreferencesViewController.swift b/Mac/Preferences/ExtensionPoints/ExtensionPointPreferencesViewController.swift index 596c6f8b5..24ca1b742 100644 --- a/Mac/Preferences/ExtensionPoints/ExtensionPointPreferencesViewController.swift +++ b/Mac/Preferences/ExtensionPoints/ExtensionPointPreferencesViewController.swift @@ -40,7 +40,6 @@ final class ExtensionPointPreferencesViewController: NSViewController { tableView.frame = rTable showDefaultView() - } @@ -62,8 +61,24 @@ final class ExtensionPointPreferencesViewController: NSViewController { } let extensionPoint = activeExtensionPoints[tableView.selectedRow] - ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint.extensionPointID) - hideController() + + let alert = NSAlert() + alert.alertStyle = .warning + let prompt = NSLocalizedString("Deactivate", comment: "Deactivate") + alert.messageText = "\(prompt) “\(extensionPoint.title)”?" + let extensionPointTypeTitle = extensionPoint.extensionPointID.extensionPointType.title + alert.informativeText = NSLocalizedString("Are you sure you want to deactivate the \(extensionPointTypeTitle) extension “\(extensionPoint.title)”?", comment: "Deactivate text") + + alert.addButton(withTitle: NSLocalizedString("Deactivate", comment: "Deactivate Extension")) + alert.addButton(withTitle: NSLocalizedString("Cancel", comment: "Cancel Deactivate Extension")) + + alert.beginSheetModal(for: view.window!) { [weak self] result in + if result == NSApplication.ModalResponse.alertFirstButtonReturn { + ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint.extensionPointID) + self?.hideController() + } + } + } } diff --git a/iOS/Inspector/ExtensionInspectorViewController.swift b/iOS/Inspector/ExtensionInspectorViewController.swift index 02a776d42..1eb7622c4 100644 --- a/iOS/Inspector/ExtensionInspectorViewController.swift +++ b/iOS/Inspector/ExtensionInspectorViewController.swift @@ -23,8 +23,25 @@ class ExtensionPointInspectorViewController: UITableViewController { @IBAction func disable(_ sender: Any) { guard let extensionPoint = extensionPoint else { return } - ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint.extensionPointID) - self.navigationController?.popViewController(animated: true) + + let title = NSLocalizedString("Deactivate Extension", comment: "Deactivate Extension") + let extensionPointTypeTitle = extensionPoint.extensionPointID.extensionPointType.title + let message = NSLocalizedString("Are you sure you want to deactivate the \(extensionPointTypeTitle) extension “\(extensionPoint.title)”?", comment: "Deactivate text") + + let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert) + let cancelTitle = NSLocalizedString("Cancel", comment: "Cancel") + let cancelAction = UIAlertAction(title: cancelTitle, style: .cancel) + alertController.addAction(cancelAction) + + let markTitle = NSLocalizedString("Deactivate", comment: "Deactivate") + let markAction = UIAlertAction(title: markTitle, style: .default) { [weak self] (action) in + ExtensionPointManager.shared.deactivateExtensionPoint(extensionPoint.extensionPointID) + self?.navigationController?.popViewController(animated: true) + } + alertController.addAction(markAction) + + present(alertController, animated: true) + } } diff --git a/iOS/Inspector/Inspector.storyboard b/iOS/Inspector/Inspector.storyboard index 7603d0fab..5aadeaafb 100644 --- a/iOS/Inspector/Inspector.storyboard +++ b/iOS/Inspector/Inspector.storyboard @@ -1,9 +1,11 @@ - + - + + + @@ -118,10 +120,10 @@ - + - + @@ -196,7 +198,7 @@ + + + - + @@ -479,5 +484,8 @@ + + +