summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--osdep/mac/touch_bar.swift14
1 files changed, 5 insertions, 9 deletions
diff --git a/osdep/mac/touch_bar.swift b/osdep/mac/touch_bar.swift
index 13bdbfa6f6..daffc4ccb0 100644
--- a/osdep/mac/touch_bar.swift
+++ b/osdep/mac/touch_bar.swift
@@ -251,15 +251,11 @@ class TouchBar: NSTouchBar, NSTouchBarDelegate {
}
func format(time: Int) -> String {
- let seconds = time % 60
- let minutes = (time / 60) % 60
- let hours = time / (60 * 60)
-
- var stime = hours > 0 ? "\(hours):" : ""
- stime = (stime.count > 0 || minutes > 9) ? String(format: "%@%02d:", stime, minutes) : "\(minutes):"
- stime = String(format: "%@%02d", stime, seconds)
-
- return stime
+ let formatter = DateComponentsFormatter()
+ formatter.unitsStyle = .positional
+ formatter.zeroFormattingBehavior = time >= (60 * 60) ? [.dropLeading] : []
+ formatter.allowedUnits = time >= (60 * 60) ? [.hour, .minute, .second] : [.minute, .second]
+ return formatter.string(from: TimeInterval(time)) ?? "0:00"
}
func removeConstraintFor(identifier: NSTouchBarItem.Identifier) {