NetNewsWire/Evergreen/MainWindow/Timeline/Cell/TimelineCellData.swift

63 lines
1.4 KiB
Swift
Raw Normal View History

2017-05-27 19:43:27 +02:00
//
// TimelineCellData.swift
// Evergreen
//
// Created by Brent Simmons on 2/6/16.
// Copyright © 2016 Ranchero Software, LLC. All rights reserved.
//
import AppKit
import Articles
2017-05-27 19:43:27 +02:00
struct TimelineCellData {
let title: String
let text: String
let dateString: String
let feedName: String
let showFeedName: Bool
let avatar: NSImage? // feed icon, user avatar, or favicon
let showAvatar: Bool // Make space even when avatar is nil
let featuredImage: NSImage? // image from within the article
2017-05-27 19:43:27 +02:00
let read: Bool
let starred: Bool
2017-05-27 19:43:27 +02:00
init(article: Article, appearance: TimelineCellAppearance, showFeedName: Bool, feedName: String?, avatar: NSImage?, showAvatar: Bool, featuredImage: NSImage?) {
2017-05-27 19:43:27 +02:00
self.title = timelineTruncatedTitle(article)
self.text = timelineTruncatedSummary(article)
self.dateString = timelineDateString(article.logicalDatePublished)
if let feedName = feedName {
self.feedName = timelineTruncatedFeedName(feedName)
2017-05-27 19:43:27 +02:00
}
else {
self.feedName = ""
}
self.showFeedName = showFeedName
self.showAvatar = showAvatar
self.avatar = avatar
self.featuredImage = featuredImage
2017-09-24 21:24:44 +02:00
self.read = article.status.read
self.starred = article.status.starred
2017-05-27 19:43:27 +02:00
}
init() { //Empty
self.title = ""
self.text = ""
self.dateString = ""
self.feedName = ""
self.showFeedName = false
self.showAvatar = false
self.avatar = nil
self.featuredImage = nil
2017-05-27 19:43:27 +02:00
self.read = true
self.starred = false
2017-05-27 19:43:27 +02:00
}
}