mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Simplify change events to not force unwrap values
This commit is contained in:
parent
c0fd6cbf94
commit
6c6b44fdaa
7 changed files with 33 additions and 94 deletions
|
|
@ -123,9 +123,7 @@ struct BluetoothConfig: View {
|
|||
if $0 != node?.bluetoothConfig?.mode ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: fixedPin) { newFixedPin in
|
||||
if node != nil && node?.bluetoothConfig != nil {
|
||||
if newFixedPin != String(node!.bluetoothConfig!.fixedPin) { hasChanges = true }
|
||||
}
|
||||
if newFixedPin != String(node?.bluetoothConfig?.fixedPin ?? -1) { hasChanges = true }
|
||||
}
|
||||
.onChange(of: deviceLoggingEnabled) {
|
||||
if $0 != node?.bluetoothConfig?.deviceLoggingEnabled { hasChanges = true }
|
||||
|
|
|
|||
|
|
@ -262,24 +262,16 @@ struct DeviceConfig: View {
|
|||
if $0 != node?.deviceConfig?.debugLogEnabled { hasChanges = true }
|
||||
}
|
||||
.onChange(of: buttonGPIO) { newButtonGPIO in
|
||||
if node != nil && node?.deviceConfig != nil {
|
||||
if newButtonGPIO != node!.deviceConfig!.buttonGpio { hasChanges = true }
|
||||
}
|
||||
if newButtonGPIO != node?.deviceConfig?.buttonGpio ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: buzzerGPIO) { newBuzzerGPIO in
|
||||
if node != nil && node?.deviceConfig != nil {
|
||||
if newBuzzerGPIO != node!.deviceConfig!.buttonGpio { hasChanges = true }
|
||||
}
|
||||
if newBuzzerGPIO != node?.deviceConfig?.buttonGpio ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: rebroadcastMode) { newRebroadcastMode in
|
||||
if node != nil && node?.deviceConfig != nil {
|
||||
if newRebroadcastMode != node!.deviceConfig!.rebroadcastMode { hasChanges = true }
|
||||
}
|
||||
if newRebroadcastMode != node?.deviceConfig?.rebroadcastMode ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: nodeInfoBroadcastSecs) { newNodeInfoBroadcastSecs in
|
||||
if node != nil && node?.deviceConfig != nil {
|
||||
if newNodeInfoBroadcastSecs != node!.deviceConfig!.nodeInfoBroadcastSecs { hasChanges = true }
|
||||
}
|
||||
if newNodeInfoBroadcastSecs != node?.deviceConfig?.nodeInfoBroadcastSecs ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: doubleTapAsButtonPress) {
|
||||
if $0 != node?.deviceConfig?.doubleTapAsButtonPress { hasChanges = true }
|
||||
|
|
@ -288,9 +280,7 @@ struct DeviceConfig: View {
|
|||
if $0 != node?.deviceConfig?.isManaged { hasChanges = true }
|
||||
}
|
||||
.onChange(of: tzdef) { newTzdef in
|
||||
if node != nil && node?.deviceConfig != nil {
|
||||
if newTzdef != node!.deviceConfig!.tzdef { hasChanges = true }
|
||||
}
|
||||
if newTzdef != node?.deviceConfig?.tzdef { hasChanges = true }
|
||||
}
|
||||
}
|
||||
func setDeviceValues() {
|
||||
|
|
|
|||
|
|
@ -174,14 +174,10 @@ struct DisplayConfig: View {
|
|||
}
|
||||
}
|
||||
.onChange(of: screenOnSeconds) { newScreenSecs in
|
||||
if node != nil && node!.displayConfig != nil {
|
||||
if newScreenSecs != node!.displayConfig!.screenOnSeconds { hasChanges = true }
|
||||
}
|
||||
if newScreenSecs != node?.displayConfig?.screenOnSeconds ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: screenCarouselInterval) { newCarouselSecs in
|
||||
if node != nil && node!.displayConfig != nil {
|
||||
if newCarouselSecs != node!.displayConfig!.screenCarouselInterval { hasChanges = true }
|
||||
}
|
||||
if newCarouselSecs != node?.displayConfig?.screenCarouselInterval ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: compassNorthTop) {
|
||||
if $0 != node?.displayConfig?.compassNorthTop { hasChanges = true }
|
||||
|
|
@ -190,27 +186,19 @@ struct DisplayConfig: View {
|
|||
if $0 != node?.displayConfig?.wakeOnTapOrMotion { hasChanges = true }
|
||||
}
|
||||
.onChange(of: gpsFormat) { newGpsFormat in
|
||||
if node != nil && node!.displayConfig != nil {
|
||||
if newGpsFormat != node!.displayConfig!.gpsFormat { hasChanges = true }
|
||||
}
|
||||
if newGpsFormat != node?.displayConfig?.gpsFormat ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: flipScreen) {
|
||||
if $0 != node?.displayConfig?.flipScreen { hasChanges = true }
|
||||
}
|
||||
.onChange(of: oledType) { newOledType in
|
||||
if node != nil && node!.displayConfig != nil {
|
||||
if newOledType != node!.displayConfig!.oledType { hasChanges = true }
|
||||
}
|
||||
if newOledType != node?.displayConfig?.oledType ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: displayMode) { newDisplayMode in
|
||||
if node != nil && node!.displayConfig != nil {
|
||||
if newDisplayMode != node!.displayConfig!.displayMode { hasChanges = true }
|
||||
}
|
||||
if newDisplayMode != node?.displayConfig?.displayMode ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: units) { newUnits in
|
||||
if node != nil && node!.displayConfig != nil {
|
||||
if newUnits != node!.displayConfig!.units { hasChanges = true }
|
||||
}
|
||||
if newUnits != node?.displayConfig?.units ?? -1 { hasChanges = true }
|
||||
}
|
||||
}
|
||||
func setDisplayValues() {
|
||||
|
|
|
|||
|
|
@ -241,42 +241,28 @@ struct LoRaConfig: View {
|
|||
}
|
||||
}
|
||||
.onChange(of: region) { newRegion in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newRegion != node!.loRaConfig!.regionCode { hasChanges = true }
|
||||
}
|
||||
if newRegion != node?.loRaConfig?.regionCode ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: usePreset) {
|
||||
if $0 != node?.loRaConfig?.usePreset { hasChanges = true }
|
||||
}
|
||||
.onChange(of: modemPreset) { newModemPreset in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newModemPreset != node!.loRaConfig!.modemPreset { hasChanges = true }
|
||||
}
|
||||
if newModemPreset != node?.loRaConfig?.modemPreset ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: hopLimit) { newHopLimit in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newHopLimit != node!.loRaConfig!.hopLimit { hasChanges = true }
|
||||
}
|
||||
if newHopLimit != node?.loRaConfig?.hopLimit ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: channelNum) { newChannelNum in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newChannelNum != node!.loRaConfig!.channelNum { hasChanges = true }
|
||||
}
|
||||
if newChannelNum != node?.loRaConfig?.channelNum ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: bandwidth) { newBandwidth in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newBandwidth != node!.loRaConfig!.bandwidth { hasChanges = true }
|
||||
}
|
||||
if newBandwidth != node?.loRaConfig?.bandwidth ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: codingRate) { newCodingRate in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newCodingRate != node!.loRaConfig!.codingRate { hasChanges = true }
|
||||
}
|
||||
if newCodingRate != node?.loRaConfig?.codingRate ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: spreadFactor) { newSpreadFactor in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newSpreadFactor != node!.loRaConfig!.spreadFactor { hasChanges = true }
|
||||
}
|
||||
if newSpreadFactor != node?.loRaConfig?.spreadFactor ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: rxBoostedGain) {
|
||||
if $0 != node?.loRaConfig?.sx126xRxBoostedGain { hasChanges = true }
|
||||
|
|
@ -285,9 +271,7 @@ struct LoRaConfig: View {
|
|||
if newOverrideFrequency != node?.loRaConfig?.overrideFrequency { hasChanges = true }
|
||||
}
|
||||
.onChange(of: txPower) { newTxPower in
|
||||
if node != nil && node!.loRaConfig != nil {
|
||||
if newTxPower != node!.loRaConfig!.txPower { hasChanges = true }
|
||||
}
|
||||
if newTxPower != node?.loRaConfig?.txPower ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: txEnabled) {
|
||||
if $0 != node?.loRaConfig?.txEnabled { hasChanges = true }
|
||||
|
|
|
|||
|
|
@ -132,14 +132,11 @@ struct NetworkConfig: View {
|
|||
if $0 != node?.networkConfig?.wifiEnabled { hasChanges = true }
|
||||
}
|
||||
.onChange(of: wifiSsid) { newSSID in
|
||||
if node != nil && node!.networkConfig != nil {
|
||||
if newSSID != node!.networkConfig!.wifiSsid { hasChanges = true }
|
||||
}
|
||||
if newSSID != node?.networkConfig?.wifiSsid { hasChanges = true }
|
||||
|
||||
}
|
||||
.onChange(of: wifiPsk) { newPsk in
|
||||
if node != nil && node!.networkConfig != nil {
|
||||
if newPsk != node!.networkConfig!.wifiPsk { hasChanges = true }
|
||||
}
|
||||
if newPsk != node?.networkConfig?.wifiPsk { hasChanges = true }
|
||||
}
|
||||
.onChange(of: wifiMode) {
|
||||
if $0 != node?.networkConfig?.wifiMode ?? -1 { hasChanges = true }
|
||||
|
|
|
|||
|
|
@ -144,30 +144,22 @@ struct PowerConfig: View {
|
|||
}
|
||||
}
|
||||
.onChange(of: shutdownAfterSecs) {
|
||||
if let val = node?.powerConfig?.onBatteryShutdownAfterSecs {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.powerConfig?.minWakeSecs ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: adcOverride) { _ in
|
||||
hasChanges = true
|
||||
}
|
||||
.onChange(of: adcMultiplier) { newAdcMultiplier in
|
||||
if newAdcMultiplier != node?.powerConfig?.adcMultiplierOverride ?? 0 { hasChanges = true }
|
||||
if newAdcMultiplier != node?.powerConfig?.adcMultiplierOverride ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: waitBluetoothSecs) {
|
||||
if let val = node?.powerConfig?.waitBluetoothSecs {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.powerConfig?.waitBluetoothSecs ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: lsSecs) {
|
||||
if let val = node?.powerConfig?.lsSecs {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.powerConfig?.lsSecs ?? -1 { hasChanges = true }
|
||||
}
|
||||
.onChange(of: minWakeSecs) {
|
||||
if let val = node?.powerConfig?.minWakeSecs {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.powerConfig?.minWakeSecs ?? -1 { hasChanges = true }
|
||||
}
|
||||
|
||||
SaveConfigButton(node: node, hasChanges: $hasChanges) {
|
||||
|
|
|
|||
|
|
@ -155,29 +155,19 @@ struct SecurityConfig: View {
|
|||
)
|
||||
})
|
||||
.onChange(of: isManaged) {
|
||||
if let val = node?.securityConfig?.isManaged {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.securityConfig?.isManaged { hasChanges = true }
|
||||
}
|
||||
.onChange(of: serialEnabled) {
|
||||
if let val = node?.securityConfig?.serialEnabled {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.securityConfig?.serialEnabled { hasChanges = true }
|
||||
}
|
||||
.onChange(of: debugLogApiEnabled) {
|
||||
if let val = node?.securityConfig?.debugLogApiEnabled {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.securityConfig?.debugLogApiEnabled { hasChanges = true }
|
||||
}
|
||||
.onChange(of: bluetoothLoggingEnabled) {
|
||||
if let val = node?.securityConfig?.bluetoothLoggingEnabled {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.securityConfig?.bluetoothLoggingEnabled { hasChanges = true }
|
||||
}
|
||||
.onChange(of: adminChannelEnabled) {
|
||||
if let val = node?.securityConfig?.adminChannelEnabled {
|
||||
hasChanges = $0 != val
|
||||
}
|
||||
if $0 != node?.securityConfig?.adminChannelEnabled { hasChanges = true }
|
||||
}
|
||||
|
||||
SaveConfigButton(node: node, hasChanges: $hasChanges) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue