2018-01-20 21:48:27 -08:00
|
|
|
//
|
|
|
|
// BuiltinSmartFeedInspectorViewController.swift
|
2018-08-28 22:18:24 -07:00
|
|
|
// NetNewsWire
|
2018-01-20 21:48:27 -08:00
|
|
|
//
|
|
|
|
// Created by Brent Simmons on 1/20/18.
|
|
|
|
// Copyright © 2018 Ranchero Software. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
import AppKit
|
|
|
|
|
2024-03-19 23:05:30 -07:00
|
|
|
@MainActor final class BuiltinSmartFeedInspectorViewController: NSViewController, Inspector {
|
2018-01-20 21:48:27 -08:00
|
|
|
|
2018-01-21 21:24:25 -08:00
|
|
|
@IBOutlet var nameTextField: NSTextField?
|
2020-12-09 17:24:55 -06:00
|
|
|
@IBOutlet weak var smartFeedImageView: NSImageView!
|
|
|
|
|
2018-01-21 21:24:25 -08:00
|
|
|
private var smartFeed: PseudoFeed? {
|
|
|
|
didSet {
|
|
|
|
updateUI()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// MARK: Inspector
|
|
|
|
|
2018-01-20 22:36:17 -08:00
|
|
|
let isFallbackInspector = false
|
2018-01-21 21:24:25 -08:00
|
|
|
var objects: [Any]? {
|
|
|
|
didSet {
|
|
|
|
updateSmartFeed()
|
|
|
|
}
|
|
|
|
}
|
2020-09-07 13:34:37 -04:00
|
|
|
var windowTitle: String = NSLocalizedString("Smart Feed Inspector", comment: "Smart Feed Inspector window title")
|
2018-01-20 22:36:17 -08:00
|
|
|
|
|
|
|
func canInspect(_ objects: [Any]) -> Bool {
|
|
|
|
|
2018-01-21 21:24:25 -08:00
|
|
|
guard let _ = singleSmartFeed(from: objects) else {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
// MARK: NSViewController
|
|
|
|
|
|
|
|
override func viewDidLoad() {
|
|
|
|
|
|
|
|
updateUI()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private extension BuiltinSmartFeedInspectorViewController {
|
|
|
|
|
|
|
|
func singleSmartFeed(from objects: [Any]?) -> PseudoFeed? {
|
|
|
|
|
|
|
|
guard let objects = objects, objects.count == 1, let singleSmartFeed = objects.first as? PseudoFeed else {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
return singleSmartFeed
|
|
|
|
}
|
|
|
|
|
|
|
|
func updateSmartFeed() {
|
|
|
|
|
|
|
|
smartFeed = singleSmartFeed(from: objects)
|
2018-01-20 22:36:17 -08:00
|
|
|
}
|
|
|
|
|
2018-01-21 21:24:25 -08:00
|
|
|
func updateUI() {
|
2024-02-27 20:02:31 -08:00
|
|
|
|
2018-01-21 21:24:25 -08:00
|
|
|
nameTextField?.stringValue = smartFeed?.nameForDisplay ?? ""
|
2020-09-07 13:59:14 -04:00
|
|
|
windowTitle = smartFeed?.nameForDisplay ?? NSLocalizedString("Smart Feed Inspector", comment: "Smart Feed Inspector window title")
|
2024-02-27 20:02:31 -08:00
|
|
|
smartFeedImageView?.image = smartFeed?.smallIcon?.image
|
2018-01-20 22:36:17 -08:00
|
|
|
}
|
2018-01-20 21:48:27 -08:00
|
|
|
}
|