From 725bdc3fd2f88c7f49f59a151579fd128cf543dc Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Thu, 8 Aug 2013 17:33:35 +0100 Subject: 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 --- tests/auto/gui/kernel/qkeysequence/tst_qkeysequence.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'tests/auto/gui/kernel/qkeysequence') 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 #include #include +#include #include #include #include @@ -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); -- cgit v1.2.3