Adds NumberFormatter to Unread Counts

Fixes #3892
This commit is contained in:
Stuart Breckenridge
2023-03-03 07:30:03 +08:00
parent 9bb09b8ec8
commit 3e72a48d49
2 changed files with 30 additions and 2 deletions

View File

@@ -27,7 +27,7 @@ class UnreadCountView : NSView {
}
}
var unreadCountString: String {
return unreadCount < 1 ? "" : "\(unreadCount)"
return unreadCount < 1 ? "" : numberFormatter.string(from: NSNumber(value: unreadCount))!
}
private var intrinsicContentSizeIsValid = false
@@ -92,5 +92,21 @@ class UnreadCountView : NSView {
unreadCountString.draw(at: textRect().origin, withAttributes: Appearance.textAttributes)
}
}
var numberFormatter: NumberFormatter!
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
self.frame = frameRect
let formatter = NumberFormatter()
formatter.locale = Locale.current
formatter.numberStyle = .decimal
numberFormatter = formatter
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}

View File

@@ -35,8 +35,10 @@ class MasterFeedUnreadCountView : UIView {
}
var unreadCountString: String {
return unreadCount < 1 ? "" : "\(unreadCount)"
return unreadCount < 1 ? "" : numberFormatter.string(from: NSNumber(value: unreadCount))!
}
var numberFormatter: NumberFormatter!
private var contentSizeIsValid = false
private var _contentSize = CGSize.zero
@@ -44,11 +46,21 @@ class MasterFeedUnreadCountView : UIView {
override init(frame: CGRect) {
super.init(frame: frame)
self.isOpaque = false
let formatter = NumberFormatter()
formatter.locale = Locale.current
formatter.numberStyle = .decimal
numberFormatter = formatter
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.isOpaque = false
let formatter = NumberFormatter()
formatter.locale = Locale.current
formatter.numberStyle = .decimal
numberFormatter = formatter
}
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {