Delete unused LegacyArticleExtractorButton.swift.
This commit is contained in:
parent
030d101634
commit
de228c69c4
|
@ -1,111 +0,0 @@
|
||||||
//
|
|
||||||
// ArticleExtractorButton.swift
|
|
||||||
// NetNewsWire
|
|
||||||
//
|
|
||||||
// Created by Maurice Parker on 9/18/19.
|
|
||||||
// Copyright © 2019 Ranchero Software. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
final class LegacyArticleExtractorButton: NSButton {
|
|
||||||
|
|
||||||
var isError = false {
|
|
||||||
didSet {
|
|
||||||
if isError != oldValue {
|
|
||||||
needsDisplay = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var isInProgress = false {
|
|
||||||
didSet {
|
|
||||||
if isInProgress != oldValue {
|
|
||||||
needsDisplay = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override init(frame frameRect: NSRect) {
|
|
||||||
super.init(frame: frameRect)
|
|
||||||
wantsLayer = true
|
|
||||||
}
|
|
||||||
|
|
||||||
required init?(coder: NSCoder) {
|
|
||||||
super.init(coder: coder)
|
|
||||||
wantsLayer = true
|
|
||||||
}
|
|
||||||
|
|
||||||
override func draw(_ dirtyRect: NSRect) {
|
|
||||||
super.draw(dirtyRect)
|
|
||||||
|
|
||||||
guard let hostedLayer = self.layer else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if let imageLayer = hostedLayer.sublayers?[0] {
|
|
||||||
if needsToDraw(imageLayer.bounds) {
|
|
||||||
imageLayer.removeFromSuperlayer()
|
|
||||||
} else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let opacity: Float = isEnabled ? 1.0 : 0.5
|
|
||||||
|
|
||||||
switch true {
|
|
||||||
case isError:
|
|
||||||
addImageSublayer(to: hostedLayer, image: AppAssets.legacyArticleExtractorError, opacity: opacity)
|
|
||||||
case isInProgress:
|
|
||||||
addAnimatedSublayer(to: hostedLayer)
|
|
||||||
default:
|
|
||||||
if NSApplication.shared.isActive {
|
|
||||||
addImageSublayer(to: hostedLayer, image: AppAssets.legacyArticleExtractor, opacity: opacity)
|
|
||||||
} else {
|
|
||||||
if NSApplication.shared.effectiveAppearance.isDarkMode {
|
|
||||||
addImageSublayer(to: hostedLayer, image: AppAssets.legacyArticleExtractorInactiveDark, opacity: opacity)
|
|
||||||
} else {
|
|
||||||
addImageSublayer(to: hostedLayer, image: AppAssets.legacyArticleExtractorInactiveLight, opacity: opacity)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private func makeLayerForImage(_ image: NSImage) -> CALayer {
|
|
||||||
let imageLayer = CALayer()
|
|
||||||
imageLayer.bounds = CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height)
|
|
||||||
imageLayer.position = CGPoint(x: bounds.midX, y: floor(bounds.midY))
|
|
||||||
return imageLayer
|
|
||||||
}
|
|
||||||
|
|
||||||
private func addImageSublayer(to hostedLayer: CALayer, image: NSImage, opacity: Float = 1.0) {
|
|
||||||
let imageLayer = makeLayerForImage(image)
|
|
||||||
imageLayer.contents = image
|
|
||||||
imageLayer.opacity = opacity
|
|
||||||
hostedLayer.addSublayer(imageLayer)
|
|
||||||
}
|
|
||||||
|
|
||||||
private func addAnimatedSublayer(to hostedLayer: CALayer) {
|
|
||||||
let imageProgress1 = AppAssets.legacyArticleExtractorProgress1
|
|
||||||
let imageProgress2 = AppAssets.legacyArticleExtractorProgress2
|
|
||||||
let imageProgress3 = AppAssets.legacyArticleExtractorProgress3
|
|
||||||
let imageProgress4 = AppAssets.legacyArticleExtractorProgress4
|
|
||||||
let images = [imageProgress1, imageProgress2, imageProgress3, imageProgress4, imageProgress3, imageProgress2, imageProgress1]
|
|
||||||
|
|
||||||
let imageLayer = CALayer()
|
|
||||||
imageLayer.bounds = CGRect(x: 0, y: 0, width: imageProgress1?.size.width ?? 0, height: imageProgress1?.size.height ?? 0)
|
|
||||||
imageLayer.position = CGPoint(x: bounds.midX, y: floor(bounds.midY))
|
|
||||||
|
|
||||||
hostedLayer.addSublayer(imageLayer)
|
|
||||||
|
|
||||||
let animation = CAKeyframeAnimation(keyPath: "contents")
|
|
||||||
animation.calculationMode = CAAnimationCalculationMode.linear
|
|
||||||
animation.keyTimes = [0, 0.16, 0.32, 0.50, 0.66, 0.82, 1]
|
|
||||||
animation.duration = 2
|
|
||||||
animation.values = images as [Any]
|
|
||||||
animation.repeatCount = HUGE
|
|
||||||
|
|
||||||
imageLayer.add(animation, forKey: "contents")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -300,7 +300,6 @@
|
||||||
51F85BF92274AA7B00C787DC /* UIBarButtonItem-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BF82274AA7B00C787DC /* UIBarButtonItem-Extensions.swift */; };
|
51F85BF92274AA7B00C787DC /* UIBarButtonItem-Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BF82274AA7B00C787DC /* UIBarButtonItem-Extensions.swift */; };
|
||||||
51F85BFD2275DCA800C787DC /* SingleLineUILabelSizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BFC2275DCA800C787DC /* SingleLineUILabelSizer.swift */; };
|
51F85BFD2275DCA800C787DC /* SingleLineUILabelSizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F85BFC2275DCA800C787DC /* SingleLineUILabelSizer.swift */; };
|
||||||
51F9F3F723DF6DB200A314FD /* ArticleIconSchemeHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F9F3F623DF6DB200A314FD /* ArticleIconSchemeHandler.swift */; };
|
51F9F3F723DF6DB200A314FD /* ArticleIconSchemeHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51F9F3F623DF6DB200A314FD /* ArticleIconSchemeHandler.swift */; };
|
||||||
51FA73B72332D5F70090D516 /* LegacyArticleExtractorButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FA73B62332D5F70090D516 /* LegacyArticleExtractorButton.swift */; };
|
|
||||||
51FD413B2342BD0500880194 /* TimelineUnreadCountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FD413A2342BD0500880194 /* TimelineUnreadCountView.swift */; };
|
51FD413B2342BD0500880194 /* TimelineUnreadCountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FD413A2342BD0500880194 /* TimelineUnreadCountView.swift */; };
|
||||||
51FE10032345529D0056195D /* UserNotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FE10022345529D0056195D /* UserNotificationManager.swift */; };
|
51FE10032345529D0056195D /* UserNotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FE10022345529D0056195D /* UserNotificationManager.swift */; };
|
||||||
51FE10042345529D0056195D /* UserNotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FE10022345529D0056195D /* UserNotificationManager.swift */; };
|
51FE10042345529D0056195D /* UserNotificationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51FE10022345529D0056195D /* UserNotificationManager.swift */; };
|
||||||
|
@ -969,7 +968,6 @@
|
||||||
51F85BF82274AA7B00C787DC /* UIBarButtonItem-Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIBarButtonItem-Extensions.swift"; sourceTree = "<group>"; };
|
51F85BF82274AA7B00C787DC /* UIBarButtonItem-Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIBarButtonItem-Extensions.swift"; sourceTree = "<group>"; };
|
||||||
51F85BFC2275DCA800C787DC /* SingleLineUILabelSizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleLineUILabelSizer.swift; sourceTree = "<group>"; };
|
51F85BFC2275DCA800C787DC /* SingleLineUILabelSizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleLineUILabelSizer.swift; sourceTree = "<group>"; };
|
||||||
51F9F3F623DF6DB200A314FD /* ArticleIconSchemeHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleIconSchemeHandler.swift; sourceTree = "<group>"; };
|
51F9F3F623DF6DB200A314FD /* ArticleIconSchemeHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleIconSchemeHandler.swift; sourceTree = "<group>"; };
|
||||||
51FA73B62332D5F70090D516 /* LegacyArticleExtractorButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyArticleExtractorButton.swift; sourceTree = "<group>"; };
|
|
||||||
51FD413A2342BD0500880194 /* TimelineUnreadCountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineUnreadCountView.swift; sourceTree = "<group>"; };
|
51FD413A2342BD0500880194 /* TimelineUnreadCountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineUnreadCountView.swift; sourceTree = "<group>"; };
|
||||||
51FE10022345529D0056195D /* UserNotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserNotificationManager.swift; sourceTree = "<group>"; };
|
51FE10022345529D0056195D /* UserNotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserNotificationManager.swift; sourceTree = "<group>"; };
|
||||||
51FFF0C3235EE8E5002762AA /* VibrantButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VibrantButton.swift; sourceTree = "<group>"; };
|
51FFF0C3235EE8E5002762AA /* VibrantButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VibrantButton.swift; sourceTree = "<group>"; };
|
||||||
|
@ -1790,7 +1788,6 @@
|
||||||
519B8D322143397200FA689C /* SharingServiceDelegate.swift */,
|
519B8D322143397200FA689C /* SharingServiceDelegate.swift */,
|
||||||
849EE72020391F560082A1EA /* SharingServicePickerDelegate.swift */,
|
849EE72020391F560082A1EA /* SharingServicePickerDelegate.swift */,
|
||||||
5117715424E1EA0F00A2A836 /* ArticleExtractorButton.swift */,
|
5117715424E1EA0F00A2A836 /* ArticleExtractorButton.swift */,
|
||||||
51FA73B62332D5F70090D516 /* LegacyArticleExtractorButton.swift */,
|
|
||||||
847CD6C9232F4CBF00FAC46D /* IconView.swift */,
|
847CD6C9232F4CBF00FAC46D /* IconView.swift */,
|
||||||
844B5B6B1FEA224B00C7C76A /* Keyboard */,
|
844B5B6B1FEA224B00C7C76A /* Keyboard */,
|
||||||
849A975F1ED9EB95007D329B /* Sidebar */,
|
849A975F1ED9EB95007D329B /* Sidebar */,
|
||||||
|
@ -3525,7 +3522,6 @@
|
||||||
841ABA5E20145E9200980E11 /* FolderInspectorViewController.swift in Sources */,
|
841ABA5E20145E9200980E11 /* FolderInspectorViewController.swift in Sources */,
|
||||||
84DEE56522C32CA4005FC42C /* SmartFeedDelegate.swift in Sources */,
|
84DEE56522C32CA4005FC42C /* SmartFeedDelegate.swift in Sources */,
|
||||||
845122722B8CEA9100480DB0 /* SidebarItem.swift in Sources */,
|
845122722B8CEA9100480DB0 /* SidebarItem.swift in Sources */,
|
||||||
51FA73B72332D5F70090D516 /* LegacyArticleExtractorButton.swift in Sources */,
|
|
||||||
849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */,
|
849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */,
|
||||||
8405DDA522168C62008CE1BF /* TimelineContainerViewController.swift in Sources */,
|
8405DDA522168C62008CE1BF /* TimelineContainerViewController.swift in Sources */,
|
||||||
844B5B671FEA18E300C7C76A /* MainWIndowKeyboardHandler.swift in Sources */,
|
844B5B671FEA18E300C7C76A /* MainWIndowKeyboardHandler.swift in Sources */,
|
||||||
|
|
Loading…
Reference in New Issue