mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
feat: added reverse order of items in the Speed widget for one row mode (#1674)
This commit is contained in:
@@ -134,49 +134,65 @@ public class SpeedWidget: WidgetWrapper {
|
||||
let downloadIconColor = self.downloadValue >= 1_024 ? self.downloadColor : self.noActivityColor
|
||||
let uploadIconColor = self.uploadValue >= 1_024 ? self.uploadColor : self.noActivityColor
|
||||
|
||||
switch self.icon {
|
||||
case "dots":
|
||||
width += self.drawDot(CGPoint(x: width, y: 0), color: uploadIconColor)
|
||||
case "arrows":
|
||||
width += self.drawArrow(CGPoint(x: width, y: 0), symbol: "U", color: uploadIconColor)
|
||||
case "chars":
|
||||
width += self.drawChar(CGPoint(x: width, y: 0), symbol: self.symbols[0], color: uploadIconColor)
|
||||
default: break
|
||||
}
|
||||
|
||||
width += self.valueState && self.icon != "none" ? 2 : 0
|
||||
|
||||
if self.valueState {
|
||||
width += self.drawValue(self.uploadValue,
|
||||
offset: CGPoint(x: width, y: 0),
|
||||
color: self.valueColorState && self.uploadValue >= 1_024 ? self.uploadColor : NSColor.textColor
|
||||
if self.reverseOrderState {
|
||||
width = self.drawRowItem(
|
||||
initWidth: width,
|
||||
symbol: self.symbols[1],
|
||||
iconColor: downloadIconColor,
|
||||
value: self.downloadValue,
|
||||
valueColor: self.valueColorState && self.downloadValue >= 1_024 ? self.downloadColor : NSColor.textColor
|
||||
)
|
||||
}
|
||||
|
||||
width += 4
|
||||
|
||||
switch self.icon {
|
||||
case "dots":
|
||||
width += self.drawDot(CGPoint(x: width, y: 0), color: downloadIconColor)
|
||||
case "arrows":
|
||||
width += self.drawArrow(CGPoint(x: width, y: 0), symbol: "D", color: downloadIconColor)
|
||||
case "chars":
|
||||
width += self.drawChar(CGPoint(x: width, y: 0), symbol: self.symbols[1], color: downloadIconColor)
|
||||
default: break
|
||||
}
|
||||
|
||||
width += self.valueState && self.icon != "none" ? 2 : 0
|
||||
|
||||
if self.valueState {
|
||||
width += self.drawValue(self.downloadValue,
|
||||
offset: CGPoint(x: width, y: 0),
|
||||
color: self.valueColorState && self.downloadValue >= 1_024 ? self.downloadColor : NSColor.textColor
|
||||
width += 4
|
||||
width = self.drawRowItem(
|
||||
initWidth: width,
|
||||
symbol: self.symbols[0],
|
||||
iconColor: uploadIconColor,
|
||||
value: self.uploadValue,
|
||||
valueColor: self.valueColorState && self.uploadValue >= 1_024 ? self.uploadColor : NSColor.textColor
|
||||
)
|
||||
} else {
|
||||
width = self.drawRowItem(
|
||||
initWidth: width,
|
||||
symbol: self.symbols[0],
|
||||
iconColor: uploadIconColor,
|
||||
value: self.uploadValue,
|
||||
valueColor: self.valueColorState && self.uploadValue >= 1_024 ? self.uploadColor : NSColor.textColor
|
||||
)
|
||||
width += 4
|
||||
width = self.drawRowItem(
|
||||
initWidth: width,
|
||||
symbol: self.symbols[1],
|
||||
iconColor: downloadIconColor,
|
||||
value: self.downloadValue,
|
||||
valueColor: self.valueColorState && self.downloadValue >= 1_024 ? self.downloadColor : NSColor.textColor
|
||||
)
|
||||
}
|
||||
|
||||
return width + Constants.Widget.margin.x
|
||||
}
|
||||
|
||||
private func drawRowItem(initWidth: CGFloat, symbol: String, iconColor: NSColor, value: Int64, valueColor: NSColor) -> CGFloat {
|
||||
var width = initWidth
|
||||
|
||||
switch self.icon {
|
||||
case "dots":
|
||||
width += self.drawDot(CGPoint(x: width, y: 0), color: iconColor)
|
||||
case "arrows":
|
||||
width += self.drawArrow(CGPoint(x: width, y: 0), symbol: symbol, color: iconColor)
|
||||
case "chars":
|
||||
width += self.drawChar(CGPoint(x: width, y: 0), symbol: symbol, color: iconColor)
|
||||
default: break
|
||||
}
|
||||
|
||||
width += self.valueState && self.icon != "none" ? 2 : 0
|
||||
|
||||
if self.valueState {
|
||||
width += self.drawValue(value, offset: CGPoint(x: width, y: 0), color: valueColor)
|
||||
}
|
||||
|
||||
return width
|
||||
}
|
||||
|
||||
private func drawValue(_ value: Int64, offset: CGPoint, color: NSColor) -> CGFloat {
|
||||
let rowWidth: CGFloat = self.unitsState ? 58 : 32
|
||||
let height: CGFloat = self.frame.height
|
||||
|
||||
Reference in New Issue
Block a user