2017-11-02 04:45:04 +01:00
|
|
|
//
|
|
|
|
// FeedListTimelineViewController.swift
|
|
|
|
// Evergreen
|
|
|
|
//
|
|
|
|
// Created by Brent Simmons on 11/1/17.
|
|
|
|
// Copyright © 2017 Ranchero Software. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2017-12-29 01:37:30 +01:00
|
|
|
import Cocoa
|
|
|
|
|
|
|
|
final class FeedListTimelineViewController: NSViewController {
|
|
|
|
|
2018-01-25 07:20:22 +01:00
|
|
|
var selectedFeed: FeedListFeed? = nil {
|
|
|
|
didSet {
|
|
|
|
if let selectedFeed = selectedFeed {
|
|
|
|
selectedFeed.downloadIfNeeded()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-12-29 01:37:30 +01:00
|
|
|
override func viewDidLoad() {
|
|
|
|
|
|
|
|
view.translatesAutoresizingMaskIntoConstraints = false
|
2018-01-25 07:20:22 +01:00
|
|
|
|
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(sidebarSelectionDidChange(_:)), name: .FeedListSidebarSelectionDidChange, object: nil)
|
|
|
|
|
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(feedDidBecomeAvailable(_:)), name: .FeedListFeedDidBecomeAvailable, object: nil)
|
|
|
|
}
|
|
|
|
|
|
|
|
@objc func feedDidBecomeAvailable(_ note: Notification) {
|
|
|
|
|
|
|
|
guard let feed = note.object as? FeedListFeed else {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
if feed == selectedFeed {
|
|
|
|
reloadTimeline()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@objc func sidebarSelectionDidChange(_ note: Notification) {
|
|
|
|
|
|
|
|
guard let feed = note.userInfo?[FeedListUserInfoKey.selectedObject] as? FeedListFeed else {
|
|
|
|
selectedFeed = nil
|
|
|
|
return
|
|
|
|
}
|
|
|
|
selectedFeed = feed
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private extension FeedListTimelineViewController {
|
|
|
|
|
|
|
|
func reloadTimeline() {
|
|
|
|
//
|
2017-12-29 01:37:30 +01:00
|
|
|
}
|
|
|
|
}
|