diff options
author | David Edmundson <davidedmundson@kde.org> | 2013-08-08 17:33:35 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-20 22:22:21 +0200 |
commit | 725bdc3fd2f88c7f49f59a151579fd128cf543dc (patch) | |
tree | c9b472af22114805a5e6a132989e0d98920e4bea /tests/auto/gui/kernel/qkeysequence | |
parent | e2322c885f6dd67834c5110c6b7e2b63ea8b6186 (diff) |
Fetch StandardKey shortcuts from QPlatformTheme
This allows platforms to dynamically alter their keyboard
shortcuts, for example if they are user-configurable on that
platform. Current behavior remains the same.
QEvent previously used the hardcoded values in QKeySequencePrivate so
this was modified to use QKeySequence::keyBindings().
In order to keep the speed of QEvent's former binary search, we moved
this code to QPlatformTheme::keyBindings(), making it faster for all
keyBinding lookups.
As we now need to search by StandardKey instead of by shortcut the list
is reordered and a test is changed to reflect that.
Change-Id: Iefb402fbbe8768be2208ce036f3c2deed72dcc6c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'tests/auto/gui/kernel/qkeysequence')
-rw-r--r-- | tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp b/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp index 7cd8642f26..19fcb6ea9f 100644 --- a/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp +++ b/tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp @@ -43,6 +43,7 @@ #include <QtTest/QtTest> #include <qkeysequence.h> #include <qpa/qplatformtheme.h> +#include <qpa/qplatformtheme_p.h> #include <private/qkeysequence_p.h> #include <private/qguiapplication_p.h> #include <QTranslator> @@ -306,16 +307,16 @@ void tst_QKeySequence::checkMultipleCodes() } /* -* We must ensure that the keyBindings data is always sorted +* We must ensure that the keyBindings data are always sorted by standardKey * so that we can safely perform binary searches. */ #ifdef QT_BUILD_INTERNAL void tst_QKeySequence::ensureSorted() { - uint N = QKeySequencePrivate::numberOfKeyBindings; - uint val = QKeySequencePrivate::keyBindings[0].shortcut; + uint N = QPlatformThemePrivate::numberOfKeyBindings; + uint val = QPlatformThemePrivate::keyBindings[0].standardKey; for ( uint i = 1 ; i < N ; ++i) { - uint nextval = QKeySequencePrivate::keyBindings[i].shortcut; + uint nextval = QPlatformThemePrivate::keyBindings[i].standardKey; if (nextval < val) qDebug() << "Data not sorted at index " << i; QVERIFY(nextval >= val); |