summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel/qkeysequence
diff options
context:
space:
mode:
authorDavid Edmundson <davidedmundson@kde.org>2013-08-08 17:33:35 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-20 22:22:21 +0200
commit725bdc3fd2f88c7f49f59a151579fd128cf543dc (patch)
treec9b472af22114805a5e6a132989e0d98920e4bea /tests/auto/gui/kernel/qkeysequence
parente2322c885f6dd67834c5110c6b7e2b63ea8b6186 (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.cpp9
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);