optimize QAbstractSlider::keyPressEvent()

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
Ivailo Monev 2020-06-22 16:58:24 +00:00
parent 4bc220b48a
commit 6df1dab6b8

View file

@ -756,44 +756,41 @@ void QAbstractSlider::keyPressEvent(QKeyEvent *ev)
SliderAction action = SliderNoAction; SliderAction action = SliderNoAction;
switch (ev->key()) { switch (ev->key()) {
// It seems we need to use invertedAppearance for Left and right, otherwise, things look weird. // It seems we need to use invertedAppearance for Left and right, otherwise, things look weird.
case Qt::Key_Left: case Qt::Key_Left:
if (isRightToLeft()) if (isRightToLeft())
action = d->invertedAppearance ? SliderSingleStepSub : SliderSingleStepAdd; triggerAction(d->invertedAppearance ? SliderSingleStepSub : SliderSingleStepAdd);
else else
action = !d->invertedAppearance ? SliderSingleStepSub : SliderSingleStepAdd; triggerAction(!d->invertedAppearance ? SliderSingleStepSub : SliderSingleStepAdd);
break; break;
case Qt::Key_Right: case Qt::Key_Right:
if (isRightToLeft()) if (isRightToLeft())
action = d->invertedAppearance ? SliderSingleStepAdd : SliderSingleStepSub; triggerAction(d->invertedAppearance ? SliderSingleStepAdd : SliderSingleStepSub);
else else
action = !d->invertedAppearance ? SliderSingleStepAdd : SliderSingleStepSub; triggerAction(!d->invertedAppearance ? SliderSingleStepAdd : SliderSingleStepSub);
break; break;
case Qt::Key_Up: case Qt::Key_Up:
action = d->invertedControls ? SliderSingleStepSub : SliderSingleStepAdd; triggerAction(d->invertedControls ? SliderSingleStepSub : SliderSingleStepAdd);
break; break;
case Qt::Key_Down: case Qt::Key_Down:
action = d->invertedControls ? SliderSingleStepAdd : SliderSingleStepSub; triggerAction(d->invertedControls ? SliderSingleStepAdd : SliderSingleStepSub);
break; break;
case Qt::Key_PageUp: case Qt::Key_PageUp:
action = d->invertedControls ? SliderPageStepSub : SliderPageStepAdd; triggerAction(d->invertedControls ? SliderPageStepSub : SliderPageStepAdd);
break; break;
case Qt::Key_PageDown: case Qt::Key_PageDown:
action = d->invertedControls ? SliderPageStepAdd : SliderPageStepSub; triggerAction(d->invertedControls ? SliderPageStepAdd : SliderPageStepSub);
break; break;
case Qt::Key_Home: case Qt::Key_Home:
action = SliderToMinimum; triggerAction(SliderToMinimum);
break; break;
case Qt::Key_End: case Qt::Key_End:
action = SliderToMaximum; triggerAction(SliderToMaximum);
break; break;
default: default:
ev->ignore(); ev->ignore();
break; break;
} }
if (action)
triggerAction(action);
} }
/*! /*!