mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
This commit is contained in:
@@ -20,17 +20,14 @@ let statusColumnID = NSUserInterfaceItemIdentifier(rawValue: "status")
|
|||||||
internal class Settings: NSStackView, Settings_v, NSTableViewDelegate, NSTableViewDataSource, NSTextFieldDelegate {
|
internal class Settings: NSStackView, Settings_v, NSTableViewDelegate, NSTableViewDataSource, NSTextFieldDelegate {
|
||||||
public var callback: (() -> Void) = {}
|
public var callback: (() -> Void) = {}
|
||||||
|
|
||||||
|
private var cachedList: [Clock_t] = []
|
||||||
private var list: [Clock_t] {
|
private var list: [Clock_t] {
|
||||||
get {
|
get {
|
||||||
if let objects = Store.shared.data(key: "\(self.title)_list") {
|
return self.cachedList
|
||||||
let decoder = JSONDecoder()
|
|
||||||
if let objectsDecoded = try? decoder.decode(Array.self, from: objects) as [Clock_t] {
|
|
||||||
return objectsDecoded
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return [Clock.local]
|
|
||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
|
self.cachedList = newValue
|
||||||
|
|
||||||
if newValue.isEmpty {
|
if newValue.isEmpty {
|
||||||
Store.shared.remove("\(self.title)_list")
|
Store.shared.remove("\(self.title)_list")
|
||||||
} else {
|
} else {
|
||||||
@@ -55,6 +52,16 @@ internal class Settings: NSStackView, Settings_v, NSTableViewDelegate, NSTableVi
|
|||||||
|
|
||||||
super.init(frame: NSRect.zero)
|
super.init(frame: NSRect.zero)
|
||||||
|
|
||||||
|
if let objects = Store.shared.data(key: "\(self.title)_list") {
|
||||||
|
let decoder = JSONDecoder()
|
||||||
|
if let objectsDecoded = try? decoder.decode(Array.self, from: objects) as [Clock_t] {
|
||||||
|
self.cachedList = objectsDecoded
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if self.cachedList.isEmpty {
|
||||||
|
self.cachedList = [Clock.local]
|
||||||
|
}
|
||||||
|
|
||||||
self.orientation = .vertical
|
self.orientation = .vertical
|
||||||
self.distribution = .gravityAreas
|
self.distribution = .gravityAreas
|
||||||
self.spacing = 0
|
self.spacing = 0
|
||||||
|
|||||||
Reference in New Issue
Block a user