mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-15 00:34:08 +09:00
fix: hidden public IP from combined view if public address disabled in the popup settings (#2330)
This commit is contained in:
@@ -16,6 +16,9 @@ public class Portal: PortalWrapper {
|
||||
private var chart: NetworkChartView? = nil
|
||||
|
||||
private var publicIPField: NSTextField? = nil
|
||||
private var publicIPView: NSView? = nil
|
||||
private var localIPField: NSTextField? = nil
|
||||
private var localIPView: NSView? = nil
|
||||
|
||||
private var base: DataSizeBase {
|
||||
DataSizeBase(rawValue: Store.shared.string(key: "\(self.name)_base", defaultValue: "byte")) ?? .byte
|
||||
@@ -32,6 +35,9 @@ public class Portal: PortalWrapper {
|
||||
private var chartFixedScaleSize: SizeUnit {
|
||||
SizeUnit.fromString(Store.shared.string(key: "\(self.name)_chartFixedScaleSize", defaultValue: SizeUnit.MB.key))
|
||||
}
|
||||
private var publicIPState: Bool {
|
||||
Store.shared.bool(key: "\(self.name)_publicIP", defaultValue: true)
|
||||
}
|
||||
|
||||
private var downloadColor: NSColor {
|
||||
let v = SColor.fromString(Store.shared.string(key: "\(self.name)_downloadColor", defaultValue: SColor.secondBlue.key))
|
||||
@@ -82,8 +88,17 @@ public class Portal: PortalWrapper {
|
||||
self.chart = chart
|
||||
view.addArrangedSubview(container)
|
||||
|
||||
self.publicIPField = portalRow(view, title: "\(localizedString("Public IP")):", value: localizedString("Unknown"), isSelectable: true)
|
||||
view.subviews.last?.heightAnchor.constraint(equalToConstant: 16).isActive = true
|
||||
let publicIP = portalRow(view, title: "\(localizedString("Public IP")):", value: localizedString("Unknown"), isSelectable: true)
|
||||
self.publicIPField = publicIP.1
|
||||
self.publicIPView = publicIP.2
|
||||
self.publicIPView?.isHidden = !self.publicIPState
|
||||
self.publicIPView?.heightAnchor.constraint(equalToConstant: 16).isActive = true
|
||||
|
||||
let localIP = portalRow(view, title: "\(localizedString("Local IP")):", value: localizedString("Unknown"), isSelectable: true)
|
||||
self.localIPField = localIP.1
|
||||
self.localIPView = localIP.2
|
||||
self.localIPView?.isHidden = self.publicIPState
|
||||
self.localIPView?.heightAnchor.constraint(equalToConstant: 16).isActive = true
|
||||
|
||||
self.addArrangedSubview(view)
|
||||
}
|
||||
@@ -99,6 +114,14 @@ public class Portal: PortalWrapper {
|
||||
chart.setColors(in: self.downloadColor, out: self.uploadColor)
|
||||
}
|
||||
|
||||
if self.publicIPState, let view = self.publicIPView, view.isHidden {
|
||||
self.publicIPView?.isHidden = false
|
||||
self.localIPView?.isHidden = true
|
||||
} else if !self.publicIPState, let view = self.publicIPView, !view.isHidden {
|
||||
self.publicIPView?.isHidden = true
|
||||
self.localIPView?.isHidden = false
|
||||
}
|
||||
|
||||
if let view = self.publicIPField, view.stringValue != value.raddr.v4 {
|
||||
if let addr = value.raddr.v4 {
|
||||
view.stringValue = (value.wifiDetails.countryCode != nil) ? "\(addr) (\(value.wifiDetails.countryCode!))" : addr
|
||||
@@ -111,6 +134,10 @@ public class Portal: PortalWrapper {
|
||||
view.toolTip = "\("\(localizedString("v6")):") \(localizedString("Unknown"))"
|
||||
}
|
||||
}
|
||||
|
||||
if self.localIPField?.stringValue != value.laddr {
|
||||
self.localIPField?.stringValue = value.laddr ?? localizedString("Unknown")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user