diff options
author | Olivier Goffart <ogoffart@trolltech.com> | 2009-10-08 08:05:43 (GMT) |
---|---|---|
committer | Olivier Goffart <ogoffart@trolltech.com> | 2009-10-08 08:55:37 (GMT) |
commit | c851e1e6cd481e69585fab16c384ec5ab7cc7900 (patch) | |
tree | 224250b274ca745bd92c17412e17781ea54d5524 /src/gui/dialogs | |
parent | 902ee9839bf6d03f5e1ff3f45fb1251d50d752be (diff) | |
download | Qt-c851e1e6cd481e69585fab16c384ec5ab7cc7900.zip Qt-c851e1e6cd481e69585fab16c384ec5ab7cc7900.tar.gz Qt-c851e1e6cd481e69585fab16c384ec5ab7cc7900.tar.bz2 |
Remove handling of arrow key on QDialog
This code was kind of dead anyway because
- On X11 and Windows, most of the widgets have the StrongFocus FocusPolicy
- On Mac, e->modifiers always contains KeypadModifier for arrows, so the
code is never reached on mac with real applications
Morever, QAbstractButton already have a more complex handling of arrow keys.
And the code breaks the QButtonGroup arrowKeyNavigation test on Mac (as when
the test system simulates events, the KeyPadModifier is not set)
Reviewed-by: mbm
Reviewed-by: Paul
Diffstat (limited to 'src/gui/dialogs')
-rw-r--r-- | src/gui/dialogs/qdialog.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp index 7df49fa..ed2d676 100644 --- a/src/gui/dialogs/qdialog.cpp +++ b/src/gui/dialogs/qdialog.cpp @@ -673,28 +673,6 @@ void QDialog::keyPressEvent(QKeyEvent *e) case Qt::Key_Escape: reject(); break; - case Qt::Key_Up: - case Qt::Key_Left: - if (focusWidget() && - (focusWidget()->focusPolicy() == Qt::StrongFocus || - focusWidget()->focusPolicy() == Qt::WheelFocus)) { - e->ignore(); - break; - } - // call ours, since c++ blocks us from calling the one - // belonging to focusWidget(). - focusNextPrevChild(false); - break; - case Qt::Key_Down: - case Qt::Key_Right: - if (focusWidget() && - (focusWidget()->focusPolicy() == Qt::StrongFocus || - focusWidget()->focusPolicy() == Qt::WheelFocus)) { - e->ignore(); - break; - } - focusNextPrevChild(true); - break; default: e->ignore(); return; |