fix: hide all sensors from the settings view when Unknown sensors is disabled (#1245)

This commit is contained in:
Serhiy Mytrovtsiy
2023-01-11 19:46:39 +01:00
parent f76e10f104
commit fec946e58e
2 changed files with 10 additions and 5 deletions

View File

@@ -18,7 +18,7 @@ internal class Popup: NSStackView, Popup_p {
public var sizeCallback: ((NSSize) -> Void)? = nil
private var unknownSensorsState: Bool {
return Store.shared.bool(key: "Sensors_unknown", defaultValue: false)
Store.shared.bool(key: "Sensors_unknown", defaultValue: false)
}
public init() {

View File

@@ -61,9 +61,14 @@ internal class Settings: NSStackView, Settings_v {
}
public func load(widgets: [widget_t]) {
guard !self.list.isEmpty else {
var sensors = self.list
guard !sensors.isEmpty else {
return
}
if !self.unknownSensorsState {
sensors = sensors.filter({ $0.group != .unknown })
}
self.subviews.forEach{ $0.removeFromSuperview() }
self.addArrangedSubview(selectSettingsRowV1(
@@ -107,7 +112,7 @@ internal class Settings: NSStackView, Settings_v {
))
var types: [SensorType] = []
self.list.forEach { (s: Sensor_p) in
sensors.forEach { (s: Sensor_p) in
if !types.contains(s.type) {
types.append(s.type)
}
@@ -127,7 +132,7 @@ internal class Settings: NSStackView, Settings_v {
self.addArrangedSubview(header)
let filtered = self.list.filter{ $0.type == typ }
let filtered = sensors.filter{ $0.type == typ }
var groups: [SensorGroup] = []
filtered.forEach { (s: Sensor_p) in
if !groups.contains(s.group) {
@@ -158,7 +163,7 @@ internal class Settings: NSStackView, Settings_v {
container.addArrangedSubview(row)
}
}
self.addArrangedSubview(container)
}