From 7cb218b37fb2225ce7529ba6ed95c72f94875df3 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Thu, 27 Dec 2018 22:16:38 -0800 Subject: [PATCH] Remove TimelineDataSource, which was overkill. --- NetNewsWire.xcodeproj/project.pbxproj | 6 ---- NetNewsWire/Base.lproj/MainWindow.storyboard | 4 +-- .../Timeline/TimelineDataSource.swift | 32 ------------------- .../Timeline/TimelineViewController.swift | 22 +++++++++++-- 4 files changed, 21 insertions(+), 43 deletions(-) delete mode 100644 NetNewsWire/MainWindow/Timeline/TimelineDataSource.swift diff --git a/NetNewsWire.xcodeproj/project.pbxproj b/NetNewsWire.xcodeproj/project.pbxproj index d3ab84d0a..95ceecb40 100644 --- a/NetNewsWire.xcodeproj/project.pbxproj +++ b/NetNewsWire.xcodeproj/project.pbxproj @@ -113,7 +113,6 @@ 840F7C7521BDA4B40057E851 /* DeleteFromSidebarCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C9C1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift */; }; 840F7C7621BDA4B40057E851 /* AddFeedWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97521ED9EAC0007D329B /* AddFeedWindowController.swift */; }; 840F7C7721BDA4B40057E851 /* TimelineTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A976A1ED9EBC8007D329B /* TimelineTableView.swift */; }; - 840F7C7821BDA4B40057E851 /* TimelineDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84162A242038C1E000035290 /* TimelineDataSource.swift */; }; 840F7C7921BDA4B40057E851 /* DetailStatusBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D52E941FE588BB00D14F5B /* DetailStatusBarView.swift */; }; 840F7C7A21BDA4B40057E851 /* MainWindowController+Scriptability.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E4CC63202C1AC1009B4FFC /* MainWindowController+Scriptability.swift */; }; 840F7C7B21BDA4B40057E851 /* SidebarGearMenuDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D5BA1F201E8FB6009092BD /* SidebarGearMenuDelegate.swift */; }; @@ -176,7 +175,6 @@ 840F7CCA21BF58890057E851 /* netnewswire-subscribe-to-feed.js in Resources */ = {isa = PBXBuildFile; fileRef = 6581C73F20CED60100F4AD34 /* netnewswire-subscribe-to-feed.js */; }; 840F7CD021BF59840057E851 /* Subscribe to Feed.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 840F7CCE21BF58890057E851 /* Subscribe to Feed.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 84162A152038C12C00035290 /* MarkCommandValidationStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84162A142038C12C00035290 /* MarkCommandValidationStatus.swift */; }; - 84162A252038C1E000035290 /* TimelineDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84162A242038C1E000035290 /* TimelineDataSource.swift */; }; 841ABA4E20145E7300980E11 /* NothingInspectorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841ABA4D20145E7300980E11 /* NothingInspectorViewController.swift */; }; 841ABA5E20145E9200980E11 /* FolderInspectorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841ABA5D20145E9200980E11 /* FolderInspectorViewController.swift */; }; 841ABA6020145EC100980E11 /* BuiltinSmartFeedInspectorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841ABA5F20145EC100980E11 /* BuiltinSmartFeedInspectorViewController.swift */; }; @@ -760,7 +758,6 @@ 840F7CC021BDAD2C0057E851 /* Credits.rtf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.rtf; name = Credits.rtf; path = NetNewsWire/Resources/MAS/Credits.rtf; sourceTree = SOURCE_ROOT; }; 840F7CCE21BF58890057E851 /* Subscribe to Feed.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Subscribe to Feed.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; 84162A142038C12C00035290 /* MarkCommandValidationStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkCommandValidationStatus.swift; sourceTree = ""; }; - 84162A242038C1E000035290 /* TimelineDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineDataSource.swift; sourceTree = ""; }; 841ABA4D20145E7300980E11 /* NothingInspectorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NothingInspectorViewController.swift; sourceTree = ""; }; 841ABA5D20145E9200980E11 /* FolderInspectorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderInspectorViewController.swift; sourceTree = ""; }; 841ABA5F20145EC100980E11 /* BuiltinSmartFeedInspectorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuiltinSmartFeedInspectorViewController.swift; sourceTree = ""; }; @@ -1287,7 +1284,6 @@ children = ( 849A976B1ED9EBC8007D329B /* TimelineViewController.swift */, 84E8E0DA202EC49300562D8F /* TimelineViewController+ContextualMenus.swift */, - 84162A242038C1E000035290 /* TimelineDataSource.swift */, 84F204DF1FAACBB30076E152 /* ArticleArray.swift */, 849A97691ED9EBC8007D329B /* TimelineTableRowView.swift */, 849A976A1ED9EBC8007D329B /* TimelineTableView.swift */, @@ -2408,7 +2404,6 @@ 840F7C7521BDA4B40057E851 /* DeleteFromSidebarCommand.swift in Sources */, 840F7C7621BDA4B40057E851 /* AddFeedWindowController.swift in Sources */, 840F7C7721BDA4B40057E851 /* TimelineTableView.swift in Sources */, - 840F7C7821BDA4B40057E851 /* TimelineDataSource.swift in Sources */, 840F7C7921BDA4B40057E851 /* DetailStatusBarView.swift in Sources */, 840F7C7A21BDA4B40057E851 /* MainWindowController+Scriptability.swift in Sources */, 840F7C7B21BDA4B40057E851 /* SidebarGearMenuDelegate.swift in Sources */, @@ -2533,7 +2528,6 @@ 84B99C9D1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift in Sources */, 849A97541ED9EAC0007D329B /* AddFeedWindowController.swift in Sources */, 849A976D1ED9EBC8007D329B /* TimelineTableView.swift in Sources */, - 84162A252038C1E000035290 /* TimelineDataSource.swift in Sources */, 84D52E951FE588BB00D14F5B /* DetailStatusBarView.swift in Sources */, D5E4CC64202C1AC1009B4FFC /* MainWindowController+Scriptability.swift in Sources */, 84D5BA20201E8FB6009092BD /* SidebarGearMenuDelegate.swift in Sources */, diff --git a/NetNewsWire/Base.lproj/MainWindow.storyboard b/NetNewsWire/Base.lproj/MainWindow.storyboard index bdd151844..bc37540ac 100644 --- a/NetNewsWire/Base.lproj/MainWindow.storyboard +++ b/NetNewsWire/Base.lproj/MainWindow.storyboard @@ -504,7 +504,7 @@ - + @@ -532,7 +532,6 @@ - @@ -563,7 +562,6 @@ - diff --git a/NetNewsWire/MainWindow/Timeline/TimelineDataSource.swift b/NetNewsWire/MainWindow/Timeline/TimelineDataSource.swift deleted file mode 100644 index dc9c7d1e0..000000000 --- a/NetNewsWire/MainWindow/Timeline/TimelineDataSource.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// TimelineDataSource.swift -// NetNewsWire -// -// Created by Brent Simmons on 2/17/18. -// Copyright © 2018 Ranchero Software. All rights reserved. -// - -import AppKit - -@objc final class TimelineDataSource: NSObject, NSTableViewDataSource { - - var articles = ArticleArray() - - func numberOfRows(in tableView: NSTableView) -> Int { - - return articles.count - } - - func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? { - - return articles.articleAtRow(row) ?? nil - } - - func tableView(_ tableView: NSTableView, pasteboardWriterForRow row: Int) -> NSPasteboardWriting? { - - guard let article = articles.articleAtRow(row) else { - return nil - } - return ArticlePasteboardWriter(article: article) - } -} diff --git a/NetNewsWire/MainWindow/Timeline/TimelineViewController.swift b/NetNewsWire/MainWindow/Timeline/TimelineViewController.swift index a498fb289..48a6b24c8 100644 --- a/NetNewsWire/MainWindow/Timeline/TimelineViewController.swift +++ b/NetNewsWire/MainWindow/Timeline/TimelineViewController.swift @@ -15,7 +15,6 @@ class TimelineViewController: NSViewController, UndoableCommandRunner { @IBOutlet var tableView: TimelineTableView! @IBOutlet var contextualMenuDelegate: TimelineContextualMenuDelegate? - @IBOutlet var dataSource: TimelineDataSource! var sharingServiceDelegate: NSSharingServiceDelegate? @@ -30,7 +29,6 @@ class TimelineViewController: NSViewController, UndoableCommandRunner { var articles = ArticleArray() { didSet { if articles != oldValue { - dataSource.articles = articles updateShowAvatars() articleRowMap = [String: Int]() tableView.reloadData() @@ -532,6 +530,26 @@ extension TimelineViewController: NSUserInterfaceValidations { } } +// MARK: - NSTableViewDataSource + +extension TimelineViewController: NSTableViewDataSource { + + func numberOfRows(in tableView: NSTableView) -> Int { + return articles.count + } + + func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? { + return articles.articleAtRow(row) ?? nil + } + + func tableView(_ tableView: NSTableView, pasteboardWriterForRow row: Int) -> NSPasteboardWriting? { + guard let article = articles.articleAtRow(row) else { + return nil + } + return ArticlePasteboardWriter(article: article) + } +} + // MARK: - NSTableViewDelegate extension TimelineViewController: NSTableViewDelegate {