diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/widgets/widgets/qabstractscrollarea.cpp | 82 |
1 files changed, 45 insertions, 37 deletions
diff --git a/src/widgets/widgets/qabstractscrollarea.cpp b/src/widgets/widgets/qabstractscrollarea.cpp index 4ad8a3b411..627dbaa1d6 100644 --- a/src/widgets/widgets/qabstractscrollarea.cpp +++ b/src/widgets/widgets/qabstractscrollarea.cpp @@ -1232,49 +1232,57 @@ void QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e) void QAbstractScrollArea::keyPressEvent(QKeyEvent * e) { Q_D(QAbstractScrollArea); - + if (false){ +#ifndef QT_NO_SHORTCUT + } else if (e == QKeySequence::MoveToPreviousPage) { + d->vbar->triggerAction(QScrollBar::SliderPageStepSub); + } else if (e == QKeySequence::MoveToNextPage) { + d->vbar->triggerAction(QScrollBar::SliderPageStepAdd); +#endif + } else { #ifdef QT_KEYPAD_NAVIGATION - if (QApplicationPrivate::keypadNavigationEnabled() && !hasEditFocus()) { - e->ignore(); - return; - } + if (QApplicationPrivate::keypadNavigationEnabled() && !hasEditFocus()) { + e->ignore(); + return; + } #endif - switch (e->key()) { - case Qt::Key_Up: - d->vbar->triggerAction(QScrollBar::SliderSingleStepSub); - break; - case Qt::Key_Down: - d->vbar->triggerAction(QScrollBar::SliderSingleStepAdd); - break; - case Qt::Key_Left: + switch (e->key()) { + case Qt::Key_Up: + d->vbar->triggerAction(QScrollBar::SliderSingleStepSub); + break; + case Qt::Key_Down: + d->vbar->triggerAction(QScrollBar::SliderSingleStepAdd); + break; + case Qt::Key_Left: #ifdef QT_KEYPAD_NAVIGATION - if (QApplicationPrivate::keypadNavigationEnabled() && hasEditFocus() - && (!d->hbar->isVisible() || d->hbar->value() == d->hbar->minimum())) { - //if we aren't using the hbar or we are already at the leftmost point ignore - e->ignore(); - return; - } + if (QApplicationPrivate::keypadNavigationEnabled() && hasEditFocus() + && (!d->hbar->isVisible() || d->hbar->value() == d->hbar->minimum())) { + //if we aren't using the hbar or we are already at the leftmost point ignore + e->ignore(); + return; + } #endif - d->hbar->triggerAction( - layoutDirection() == Qt::LeftToRight - ? QScrollBar::SliderSingleStepSub : QScrollBar::SliderSingleStepAdd); - break; - case Qt::Key_Right: + d->hbar->triggerAction( + layoutDirection() == Qt::LeftToRight + ? QScrollBar::SliderSingleStepSub : QScrollBar::SliderSingleStepAdd); + break; + case Qt::Key_Right: #ifdef QT_KEYPAD_NAVIGATION - if (QApplicationPrivate::keypadNavigationEnabled() && hasEditFocus() - && (!d->hbar->isVisible() || d->hbar->value() == d->hbar->maximum())) { - //if we aren't using the hbar or we are already at the rightmost point ignore - e->ignore(); - return; - } + if (QApplicationPrivate::keypadNavigationEnabled() && hasEditFocus() + && (!d->hbar->isVisible() || d->hbar->value() == d->hbar->maximum())) { + //if we aren't using the hbar or we are already at the rightmost point ignore + e->ignore(); + return; + } #endif - d->hbar->triggerAction( - layoutDirection() == Qt::LeftToRight - ? QScrollBar::SliderSingleStepAdd : QScrollBar::SliderSingleStepSub); - break; - default: - e->ignore(); - return; + d->hbar->triggerAction( + layoutDirection() == Qt::LeftToRight + ? QScrollBar::SliderSingleStepAdd : QScrollBar::SliderSingleStepSub); + break; + default: + e->ignore(); + return; + } } e->accept(); } |