fix: fixed updating the remote address that causes it to be impossible to select the address by double-clicking

This commit is contained in:
Serhiy Mytrovtsiy
2025-04-04 23:57:29 +02:00
parent def91f6c96
commit d2688a35b2

View File

@@ -455,8 +455,14 @@ internal class Popup: PopupWrapper {
}
}
if self.localIPField?.stringValue != value.laddr {
self.localIPField?.stringValue = value.laddr ?? localizedString("Unknown")
var privateIP = localizedString("Unknown")
if let v4 = value.laddr.v4, !v4.isEmpty {
privateIP = v4
} else if let v6 = value.laddr.v6, !v6.isEmpty {
privateIP = v6
}
if self.localIPField?.stringValue != privateIP {
self.localIPField?.stringValue = privateIP
}
if let view = self.publicIPv4View {
@@ -465,11 +471,12 @@ internal class Popup: PopupWrapper {
self.addressView?.addArrangedSubview(view)
self.recalculateHeight()
}
if self.publicIPv4Field?.stringValue != addr {
self.publicIPv4Field?.stringValue = addr
var ip = addr
if let cc = value.raddr.countryCode {
self.publicIPv4Field?.stringValue += " (\(cc))"
ip += " (\(cc))"
}
if self.publicIPv4Field?.stringValue != ip {
self.publicIPv4Field?.stringValue = ip
}
} else if view.superview != nil {
view.removeFromSuperview()
@@ -484,8 +491,12 @@ internal class Popup: PopupWrapper {
self.addressView?.addArrangedSubview(view)
resized = true
}
if self.publicIPv6Field?.stringValue != addr {
self.publicIPv6Field?.stringValue = addr
var ip = addr
if let cc = value.raddr.countryCode {
ip += " (\(cc))"
}
if self.publicIPv6Field?.stringValue != ip {
self.publicIPv6Field?.stringValue = ip
}
} else if view.superview != nil {
view.removeFromSuperview()