mirror of
https://github.com/danbee/persephone
synced 2025-03-04 08:39:11 +00:00
49 lines
1.2 KiB
Swift
49 lines
1.2 KiB
Swift
//
|
|
// AlbumItem.swift
|
|
// Persephone
|
|
//
|
|
// Created by Daniel Barber on 2019/2/08.
|
|
// Copyright © 2019 Dan Barber. All rights reserved.
|
|
//
|
|
|
|
import Cocoa
|
|
|
|
class AlbumItem: NSCollectionViewItem {
|
|
var observer: NSKeyValueObservation?
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
albumCoverView.wantsLayer = true
|
|
albumCoverView.layer?.cornerRadius = 3
|
|
albumCoverView.layer?.borderWidth = 1
|
|
setAppearance()
|
|
|
|
if #available(OSX 10.14, *) {
|
|
observer = NSApp.observe(\.effectiveAppearance) { (app, _) in
|
|
self.setAppearance()
|
|
}
|
|
}
|
|
}
|
|
|
|
func setAlbum(_ album: MPDClient.Album) {
|
|
albumTitle.stringValue = album.title
|
|
albumArtist.stringValue = album.artist
|
|
}
|
|
|
|
func setAppearance() {
|
|
if #available(OSX 10.14, *) {
|
|
let darkMode = NSApp.effectiveAppearance.bestMatch(from:
|
|
[.darkAqua, .aqua]) == .darkAqua
|
|
|
|
albumCoverView.layer?.borderColor = darkMode ? .albumBorderColorDark : .albumBorderColorLight
|
|
} else {
|
|
albumCoverView.layer?.borderColor = .albumBorderColorLight
|
|
}
|
|
}
|
|
|
|
@IBOutlet var albumCoverView: NSImageView!
|
|
@IBOutlet var albumTitle: NSTextField!
|
|
@IBOutlet var albumArtist: NSTextField!
|
|
}
|