@@ -372,7 +372,12 @@ void Joystick::_loadSettings()
372
372
// Remap to stored TX mode in settings
373
373
_remapAxes (2 , _transmitterMode, _rgFunctionAxis);
374
374
375
+ while (_pwmVisibilities.length () < _totalButtonCount) {
376
+ _pwmVisibilities.push_back (false );
377
+ }
378
+
375
379
for (int button = 0 ; button < _totalButtonCount; button++) {
380
+ _pwmVisibilities[button] = false ;
376
381
QString action = settings.value (QString (_buttonActionNameKey).arg (button), QString ()).toString ();
377
382
if (!action.isEmpty () && action != _buttonActionNone) {
378
383
if (_buttonActionArray[button]) {
@@ -381,6 +386,7 @@ void Joystick::_loadSettings()
381
386
382
387
AssignedButtonAction *ap;
383
388
if (assignableActionIsPwm (action)) {
389
+ _pwmVisibilities[button] = true ;
384
390
int lowPwm = settings.value (QString (_buttonActionLowPwmValueKey).arg (button), -1 ).toInt ();
385
391
int highPwm = settings.value (QString (_buttonActionHighPwmValueKey).arg (button), -1 ).toInt ();
386
392
bool latch = settings.value (QString (_buttonActionLatchPwmValueKey).arg (button), false ).toBool ();
@@ -916,6 +922,7 @@ void Joystick::setButtonAction(int button, const QString& action)
916
922
settings.beginGroup (_settingsGroup);
917
923
settings.beginGroup (_name);
918
924
if (action.isEmpty () || action == _buttonActionNone) {
925
+ _pwmVisibilities[button] = false ;
919
926
if (_buttonActionArray[button]) {
920
927
// -- Clear from settings
921
928
settings.remove (QString (_buttonActionNameKey).arg (button));
@@ -930,8 +937,10 @@ void Joystick::setButtonAction(int button, const QString& action)
930
937
}
931
938
} else {
932
939
bool isPwmAction = assignableActionIsPwm (action);
940
+ _pwmVisibilities[button] = isPwmAction;
941
+ qCDebug (JoystickLog) << " setButtonAction: isPwmAction" << isPwmAction;
933
942
AssignedButtonAction *ap;
934
-
943
+ // TODO(bzd) rethink this section
935
944
if (!_buttonActionArray[button]) {
936
945
if (isPwmAction) {
937
946
ap = new AssignedButtonAction (this , action, 0 , 0 , false );
@@ -966,6 +975,7 @@ void Joystick::setButtonAction(int button, const QString& action)
966
975
settings.setValue (QString (_buttonActionLatchPwmValueKey).arg (button), _buttonActionArray[button]->pwmLatchMode ());
967
976
}
968
977
}
978
+ emit pwmVisibilitiesChanged ();
969
979
emit buttonActionsChanged ();
970
980
}
971
981
0 commit comments