mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
feat: added named time zones (thx #2447)
This commit is contained in:
@@ -42,7 +42,7 @@ public struct Clock_t: Codable {
|
||||
public func formatted() -> String {
|
||||
let formatter = DateFormatter()
|
||||
formatter.dateFormat = self.format
|
||||
formatter.timeZone = TimeZone(fromUTC: self.tz)
|
||||
formatter.timeZone = TimeZone(from: self.tz)
|
||||
return formatter.string(from: self.value ?? Date())
|
||||
}
|
||||
}
|
||||
@@ -159,7 +159,8 @@ extension Clock {
|
||||
KeyValue_t(key: "11", value: "UTC+11:00"),
|
||||
KeyValue_t(key: "12", value: "UTC+12:00"),
|
||||
KeyValue_t(key: "13", value: "UTC+13:00"),
|
||||
KeyValue_t(key: "14", value: "UTC+14:00")
|
||||
]
|
||||
KeyValue_t(key: "14", value: "UTC+14:00"),
|
||||
KeyValue_t(key: "separator", value: "separator")
|
||||
] + TimeZone.knownTimeZoneIdentifiers.map { KeyValue_t(key: $0, value: $0) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -499,7 +499,7 @@ private class ClockView: NSStackView {
|
||||
if (self.window?.isVisible ?? false) || !self.ready {
|
||||
self.timeField.stringValue = newClock.formatted()
|
||||
if let value = newClock.value {
|
||||
self.clockView.setValue(value.convertToTimeZone(TimeZone(fromUTC: newClock.tz)))
|
||||
self.clockView.setValue(value.convertToTimeZone(TimeZone(from: newClock.tz)))
|
||||
}
|
||||
self.ready = true
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ public class Portal: NSStackView, Portal_p {
|
||||
let views = self.oneContainer.subviews.compactMap{ $0 as? ClockChart }
|
||||
if let view = views.first(where: { $0.identifier?.rawValue == clock.id }) {
|
||||
if let value = clock.value {
|
||||
view.setValue(value.convertToTimeZone(TimeZone(fromUTC: clock.tz)))
|
||||
view.setValue(value.convertToTimeZone(TimeZone(from: clock.tz)))
|
||||
}
|
||||
} else {
|
||||
self.oneContainer.addRow(with: [self.clockView(clock)])
|
||||
@@ -102,7 +102,7 @@ public class Portal: NSStackView, Portal_p {
|
||||
sorted.forEach { (c: Clock_t) in
|
||||
if let view = views.first(where: { $0.identifier?.rawValue == c.id }) {
|
||||
if let value = c.value {
|
||||
view.setValue(value.convertToTimeZone(TimeZone(fromUTC: c.tz)))
|
||||
view.setValue(value.convertToTimeZone(TimeZone(from: c.tz)))
|
||||
}
|
||||
} else {
|
||||
self.multiplyContainer.stackView.addArrangedSubview(clockView(c))
|
||||
@@ -117,7 +117,7 @@ public class Portal: NSStackView, Portal_p {
|
||||
view.identifier = NSUserInterfaceItemIdentifier(clock.id)
|
||||
|
||||
if let value = clock.value {
|
||||
view.setValue(value.convertToTimeZone(TimeZone(fromUTC: clock.tz)))
|
||||
view.setValue(value.convertToTimeZone(TimeZone(from: clock.tz)))
|
||||
}
|
||||
|
||||
return view
|
||||
|
||||
@@ -204,6 +204,9 @@ internal class Settings: NSStackView, Settings_v, NSTableViewDelegate, NSTableVi
|
||||
let select: NSPopUpButton = selectView(action: #selector(self.toggleTZ), items: Clock.zones, selected: item.tz)
|
||||
select.identifier = NSUserInterfaceItemIdentifier("\(row)")
|
||||
select.sizeToFit()
|
||||
select.preferredEdge = .maxX
|
||||
select.translatesAutoresizingMaskIntoConstraints = false
|
||||
select.widthAnchor.constraint(lessThanOrEqualToConstant: 132).isActive = true
|
||||
cell.addSubview(select)
|
||||
case statusColumnID:
|
||||
let button: NSButton = NSButton(frame: NSRect(x: 0, y: 5, width: 10, height: 10))
|
||||
|
||||
Reference in New Issue
Block a user