diff options
author | Liang Qi <liang.qi@qt.io> | 2016-10-11 07:40:32 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-10-11 07:40:32 +0200 |
commit | 905329200f2f3f9372bf07a001371c30c0663684 (patch) | |
tree | e6f072ea693c377ae306b3960f4bde36ee20bc17 /src/plugins | |
parent | 91cde062968f97041bca8d2a30d13aa03b606c3d (diff) | |
parent | 1a78ef09b93b0a7337075555dc91032f39fab2a9 (diff) |
Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
src/gui/image/qpixmap.cpp
src/widgets/kernel/qformlayout.cpp
Change-Id: I8a8391a202adf7f18464a22ddf0a6c4974eab692
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoakeymapper.mm | 16 | ||||
-rw-r--r-- | src/plugins/platforms/windows/qwindowskeymapper.cpp | 2 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm index 2faf82f5ff..e7952ae1f6 100644 --- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm +++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm @@ -394,11 +394,6 @@ bool QCocoaKeyMapper::updateKeyboard() keyboardInputLocale = QLocale::c(); keyboardInputDirection = Qt::LeftToRight; } - - const auto newMode = keyboard_mode; - deleteLayouts(); - keyboard_mode = newMode; - return true; } @@ -421,8 +416,10 @@ void QCocoaKeyMapper::clearMappings() void QCocoaKeyMapper::updateKeyMap(unsigned short macVirtualKey, QChar unicodeKey) { - updateKeyboard(); - + if (updateKeyboard()) { + // ### Qt 4 did this: + // QKeyMapper::changeKeyboard(); + } if (keyLayout[macVirtualKey]) return; @@ -478,8 +475,9 @@ QList<int> QCocoaKeyMapper::possibleKeys(const QKeyEvent *event) const for (int i = 1; i < 8; ++i) { Qt::KeyboardModifiers neededMods = ModsTbl[i]; int key = kbItem->qtKey[i]; - if (key && key != baseKey && ((keyMods & neededMods) == neededMods)) - ret << int(key + neededMods); + if (key && key != baseKey && ((keyMods & neededMods) == neededMods)) { + ret << int(key + (keyMods & ~neededMods)); + } } return ret; } diff --git a/src/plugins/platforms/windows/qwindowskeymapper.cpp b/src/plugins/platforms/windows/qwindowskeymapper.cpp index 79b5bbae41..fd7eca9e32 100644 --- a/src/plugins/platforms/windows/qwindowskeymapper.cpp +++ b/src/plugins/platforms/windows/qwindowskeymapper.cpp @@ -507,7 +507,7 @@ static const uint CmdTbl[] = { // Multimedia keys mapping table Qt::Key_Open, // 30 0x1e APPCOMMAND_OPEN Qt::Key_Close, // 31 0x1f APPCOMMAND_CLOSE Qt::Key_Save, // 32 0x20 APPCOMMAND_SAVE - Qt::Key_Print, // 33 0x21 APPCOMMAND_PRINT + Qt::Key_Printer, // 33 0x21 APPCOMMAND_PRINT Qt::Key_Undo, // 34 0x22 APPCOMMAND_UNDO Qt::Key_Redo, // 35 0x23 APPCOMMAND_REDO Qt::Key_Copy, // 36 0x24 APPCOMMAND_COPY |