@@ -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 ();
@@ -914,6 +920,7 @@ void Joystick::setButtonAction(int button, const QString& action)
914
920
settings.beginGroup (_settingsGroup);
915
921
settings.beginGroup (_name);
916
922
if (action.isEmpty () || action == _buttonActionNone) {
923
+ _pwmVisibilities[button] = false ;
917
924
if (_buttonActionArray[button]) {
918
925
// -- Clear from settings
919
926
settings.remove (QString (_buttonActionNameKey).arg (button));
@@ -928,8 +935,10 @@ void Joystick::setButtonAction(int button, const QString& action)
928
935
}
929
936
} else {
930
937
bool isPwmAction = assignableActionIsPwm (action);
938
+ _pwmVisibilities[button] = isPwmAction;
939
+ qCDebug (JoystickLog) << " setButtonAction: isPwmAction" << isPwmAction;
931
940
AssignedButtonAction *ap;
932
-
941
+ // TODO(bzd) rethink this section
933
942
if (!_buttonActionArray[button]) {
934
943
if (isPwmAction) {
935
944
ap = new AssignedButtonAction (this , action, 0 , 0 , false );
@@ -964,6 +973,7 @@ void Joystick::setButtonAction(int button, const QString& action)
964
973
settings.setValue (QString (_buttonActionLatchPwmValueKey).arg (button), _buttonActionArray[button]->pwmLatchMode ());
965
974
}
966
975
}
976
+ emit pwmVisibilitiesChanged ();
967
977
emit buttonActionsChanged ();
968
978
}
969
979
0 commit comments