mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2024-12-23 16:20:53 +01:00
82 lines
2.9 KiB
Swift
82 lines
2.9 KiB
Swift
//
|
|
// ExtensionPointInspectorViewController.swift
|
|
// NetNewsWire-iOS
|
|
//
|
|
// Created by Maurice Parker on 4/16/20.
|
|
// Copyright © 2020 Ranchero Software. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class ExtensionPointInspectorViewController: UITableViewController {
|
|
|
|
@IBOutlet weak var extensionDescription: UILabel!
|
|
var extensionPoint: ExtensionPoint?
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
guard let extensionPoint = extensionPoint else { return }
|
|
navigationItem.title = extensionPoint.title
|
|
extensionDescription.attributedText = extensionPoint.description
|
|
tableView.register(ImageHeaderView.self, forHeaderFooterViewReuseIdentifier: "SectionHeader")
|
|
}
|
|
|
|
@IBAction func disable(_ sender: Any) {
|
|
guard let extensionPoint = extensionPoint else { return }
|
|
|
|
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)
|
|
alertController.preferredAction = markAction
|
|
|
|
present(alertController, animated: true)
|
|
|
|
}
|
|
}
|
|
|
|
// MARK: Table View
|
|
|
|
extension ExtensionPointInspectorViewController {
|
|
|
|
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
|
|
return section == 0 ? ImageHeaderView.rowHeight : super.tableView(tableView, heightForHeaderInSection: section)
|
|
}
|
|
|
|
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
|
|
guard let extensionPoint = extensionPoint else { return nil }
|
|
|
|
if section == 0 {
|
|
let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView
|
|
headerView.imageView.image = extensionPoint.image
|
|
return headerView
|
|
} else {
|
|
return super.tableView(tableView, viewForHeaderInSection: section)
|
|
}
|
|
}
|
|
|
|
override func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool {
|
|
if indexPath.section > 0 {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
|
tableView.selectRow(at: nil, animated: true, scrollPosition: .none)
|
|
}
|
|
|
|
}
|
|
|