diff --git a/src/cfclient/ui/tabs/FlightTab.py b/src/cfclient/ui/tabs/FlightTab.py index f24947aa763503b07372f16fbc19928cdf6668c0..a987d970a519c5d81af22ecb6b752695031ee0b5 100644 --- a/src/cfclient/ui/tabs/FlightTab.py +++ b/src/cfclient/ui/tabs/FlightTab.py @@ -198,7 +198,7 @@ class FlightTab(Tab, flight_tab_class): cb=self._set_available_sensors) self.helper.cf.param.all_updated.add_callback( - self._ring_populate_dropdown) + self._all_params_updated) self.logBaro = None self.logAltHold = None @@ -339,8 +339,6 @@ class FlightTab(Tab, flight_tab_class): except AttributeError as e: logger.warning(str(e)) - self._populate_assisted_mode_dropdown() - def _set_available_sensors(self, name, available): logger.info("[%s]: %s", name, available) available = eval(available) @@ -553,6 +551,10 @@ class FlightTab(Tab, flight_tab_class): def alt2_updated(self, state): self.helper.cf.param.set_value("ring.headlightEnable", str(state)) + def _all_params_updated(self): + self._ring_populate_dropdown() + self._populate_assisted_mode_dropdown() + def _ring_populate_dropdown(self): try: nbr = int(self.helper.cf.param.values["ring"]["neffect"]) @@ -593,7 +595,7 @@ class FlightTab(Tab, flight_tab_class): self._ring_effect_changed) self._led_ring_effect.setCurrentIndex(current) - if bool(self.helper.cf.param.values["deck"]["bcLedRing"]): + if int(self.helper.cf.param.values["deck"]["bcLedRing"]) == 1: self._led_ring_effect.setEnabled(True) self._led_ring_headlight.setEnabled(True) @@ -617,20 +619,20 @@ class FlightTab(Tab, flight_tab_class): heightHoldPossible = False hoverPossible = False - if bool(self.helper.cf.param.values["deck"]["bcZRanger"]): + if int(self.helper.cf.param.values["deck"]["bcZRanger"]) == 1: heightHoldPossible = True self.helper.inputDeviceReader.set_hover_max_height(1.0) - if bool(self.helper.cf.param.values["deck"]["bcZRanger2"]): + if int(self.helper.cf.param.values["deck"]["bcZRanger2"]) == 1: heightHoldPossible = True self.helper.inputDeviceReader.set_hover_max_height(2.0) - if bool(self.helper.cf.param.values["deck"]["bcFlow"]): + if int(self.helper.cf.param.values["deck"]["bcFlow"]) == 1: heightHoldPossible = True hoverPossible = True self.helper.inputDeviceReader.set_hover_max_height(1.0) - if bool(self.helper.cf.param.values["deck"]["bcFlow2"]): + if int(self.helper.cf.param.values["deck"]["bcFlow2"]) == 1: heightHoldPossible = True hoverPossible = True self.helper.inputDeviceReader.set_hover_max_height(2.0)