summaryrefslogtreecommitdiff
path: root/src/gui/kernel/qapplication_s60.cpp
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2011-08-17 13:14:57 +0200
committerFrederik Gladhorn <frederik.gladhorn@nokia.com>2011-08-17 13:14:57 +0200
commit3b5354386225974ea6db78c12f32cb81e2d50104 (patch)
tree6ab2fffb846b52908ec3f6d889403e3e539db08e /src/gui/kernel/qapplication_s60.cpp
parentfb934f2a8d7398a3ff39a107093f9da6ceda59a7 (diff)
downloadqt4-tools-3b5354386225974ea6db78c12f32cb81e2d50104.tar.gz
Add a QApplication::queryKeyboardModifiers() method.
QApplication::keyboardModifiers returns the keyboard modifiers from the last keypress event in this process, as documented. However there are use cases for querying keyboard modifiers as they currently are, see QTBUG-11243. Merge-request: 585 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Diffstat (limited to 'src/gui/kernel/qapplication_s60.cpp')
-rw-r--r--src/gui/kernel/qapplication_s60.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 5ac98037d1..31246f41db 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -115,6 +115,8 @@ QWidget *qt_button_down = 0; // widget got last button-down
QSymbianControl *QSymbianControl::lastFocusedControl = 0;
+static Qt::KeyboardModifiers app_keyboardModifiers = Qt::NoModifier;
+
QS60Data* qGlobalS60Data()
{
return qt_s60Data();
@@ -735,6 +737,7 @@ void QSymbianControl::HandlePointerEvent(const TPointerEvent& pEvent)
Qt::MouseButton button;
mapS60MouseEventTypeToQt(&type, &button, &pEvent);
Qt::KeyboardModifiers modifiers = mapToQtModifiers(pEvent.iModifiers);
+ app_keyboardModifiers = modifiers;
QPoint widgetPos = translatePointForFixedNativeOrientation(pEvent.iPosition);
TPoint controlScreenPos = PositionRelativeToScreen();
@@ -2590,6 +2593,11 @@ void QApplication::setEffectEnabled(Qt::UIEffect /* effect */, bool /* enable */
// TODO: Implement QApplication::setEffectEnabled(Qt::UIEffect effect, bool enable)
}
+Qt::KeyboardModifiers QApplication::queryKeyboardModifiers()
+{
+ return app_keyboardModifiers;
+}
+
TUint QApplicationPrivate::resolveS60ScanCode(TInt scanCode, TUint keysym)
{
if (!scanCode)