vcl/inc/qt5/QtTools.hxx | 3 vcl/qt5/QtInstanceWidget.cxx | 10 ++ vcl/qt5/QtTools.cxx | 121 ++++++++++++++++++++++++++++++++ vcl/qt5/QtWidget.cxx | 160 ------------------------------------------- 4 files changed, 134 insertions(+), 160 deletions(-)
New commits: commit 5c1912f1eed81484befa122681e04e92efa6a1c7 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Sat Apr 12 21:35:37 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Sun Apr 13 19:17:38 2025 +0200 tdf#130857 qt weld: Forward key press/release events Similar to how commit 099feb494d23bd0addc162a15a5bb90ddc68c111 Author: Michael Weghorn <m.wegh...@posteo.de> Date: Fri Apr 11 15:58:16 2025 +0200 tdf#130857 qt weld: Forward mouse click/release events implemented it for mouse click/release events, also forward Qt key press/release events for the widget as vcl KeyPress events. In a WIP/experimental branch for the spelling dialog that contains more changes, this makes typing in the edit view in that dialog work. Change-Id: I334f4fa5811d02260140c2791eee9705d666086c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184106 Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> Tested-by: Jenkins diff --git a/vcl/inc/qt5/QtTools.hxx b/vcl/inc/qt5/QtTools.hxx index 6907fc2fe25b..13ab0282b2c6 100644 --- a/vcl/inc/qt5/QtTools.hxx +++ b/vcl/inc/qt5/QtTools.hxx @@ -148,8 +148,8 @@ typedef std::unique_ptr<cairo_surface_t, CairoDeleter> UniqueCairoSurface; sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers eKeyModifiers); sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers); +KeyEvent toVclKeyEvent(QKeyEvent& rEvent); sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons); - MouseEvent toVclMouseEvent(QMouseEvent& rEvent); QImage toQImage(const Image& rImage); diff --git a/vcl/qt5/QtInstanceWidget.cxx b/vcl/qt5/QtInstanceWidget.cxx index ac6bc39a44ed..e759abe019dd 100644 --- a/vcl/qt5/QtInstanceWidget.cxx +++ b/vcl/qt5/QtInstanceWidget.cxx @@ -279,6 +279,16 @@ bool QtInstanceWidget::eventFilter(QObject* pObject, QEvent* pEvent) switch (pEvent->type()) { + case QEvent::KeyPress: + { + QKeyEvent* pKeyEvent = static_cast<QKeyEvent*>(pEvent); + return signal_key_press(toVclKeyEvent(*pKeyEvent)); + } + case QEvent::KeyRelease: + { + QKeyEvent* pKeyEvent = static_cast<QKeyEvent*>(pEvent); + return signal_key_release(toVclKeyEvent(*pKeyEvent)); + } case QEvent::MouseButtonDblClick: case QEvent::MouseButtonPress: { diff --git a/vcl/qt5/QtTools.cxx b/vcl/qt5/QtTools.cxx index 411040fd4b2f..ed6916a4cd38 100644 --- a/vcl/qt5/QtTools.cxx +++ b/vcl/qt5/QtTools.cxx @@ -161,6 +161,15 @@ sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers) } } +KeyEvent toVclKeyEvent(QKeyEvent& rEvent) +{ + const sal_uInt16 nKeyCode = toVclKeyCode(rEvent.key(), rEvent.modifiers()); + const QString sText = rEvent.text(); + const sal_Unicode nChar = sText.isEmpty() ? 0 : sText.at(0).unicode(); + vcl::KeyCode aKeyCode(nKeyCode, toVclKeyboardModifiers(rEvent.modifiers())); + return KeyEvent(nChar, aKeyCode, 0); +} + sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons) { sal_uInt16 nCode = 0; commit 39cc9ad90c6285b522ab909479a7ec1a3541c051 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Sat Apr 12 15:40:32 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Sun Apr 13 19:17:31 2025 +0200 qt: Return early in toVclKeyCode Return value right away instead of first assigning to a local variable and returning at the end of the function. Change-Id: I4b00c2fcb29529f04d84ba5b61423a39bb305231 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184105 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/vcl/qt5/QtTools.cxx b/vcl/qt5/QtTools.cxx index 7da673c576e0..411040fd4b2f 100644 --- a/vcl/qt5/QtTools.cxx +++ b/vcl/qt5/QtTools.cxx @@ -51,160 +51,114 @@ sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers eKeyModifiers) sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers) { - sal_uInt16 nCode = 0; if (nKeyval >= Qt::Key_0 && nKeyval <= Qt::Key_9) - nCode = KEY_0 + (nKeyval - Qt::Key_0); - else if (nKeyval >= Qt::Key_A && nKeyval <= Qt::Key_Z) - nCode = KEY_A + (nKeyval - Qt::Key_A); - else if (nKeyval >= Qt::Key_F1 && nKeyval <= Qt::Key_F26) - nCode = KEY_F1 + (nKeyval - Qt::Key_F1); - else if (eModifiers.testFlag(Qt::KeypadModifier) - && (nKeyval == Qt::Key_Period || nKeyval == Qt::Key_Comma)) + return KEY_0 + (nKeyval - Qt::Key_0); + if (nKeyval >= Qt::Key_A && nKeyval <= Qt::Key_Z) + return KEY_A + (nKeyval - Qt::Key_A); + if (nKeyval >= Qt::Key_F1 && nKeyval <= Qt::Key_F26) + return KEY_F1 + (nKeyval - Qt::Key_F1); + if (eModifiers.testFlag(Qt::KeypadModifier) + && (nKeyval == Qt::Key_Period || nKeyval == Qt::Key_Comma)) // Qt doesn't use a special keyval for decimal separator ("," or ".") // on numerical keypad, but sets Qt::KeypadModifier in addition - nCode = KEY_DECIMAL; - else + return KEY_DECIMAL; + + switch (nKeyval) { - switch (nKeyval) - { - case Qt::Key_Down: - nCode = KEY_DOWN; - break; - case Qt::Key_Up: - nCode = KEY_UP; - break; - case Qt::Key_Left: - nCode = KEY_LEFT; - break; - case Qt::Key_Right: - nCode = KEY_RIGHT; - break; - case Qt::Key_Home: - nCode = KEY_HOME; - break; - case Qt::Key_End: - nCode = KEY_END; - break; - case Qt::Key_PageUp: - nCode = KEY_PAGEUP; - break; - case Qt::Key_PageDown: - nCode = KEY_PAGEDOWN; - break; - case Qt::Key_Return: - case Qt::Key_Enter: - nCode = KEY_RETURN; - break; - case Qt::Key_Escape: - nCode = KEY_ESCAPE; - break; - case Qt::Key_Tab: - // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key pressed with Shift - // modifier' but as 'Backtab key pressed' (while its modifier bits are still - // set to Shift) -- so let's map both Key_Tab and Key_Backtab to VCL's KEY_TAB - case Qt::Key_Backtab: - nCode = KEY_TAB; - break; - case Qt::Key_Backspace: - nCode = KEY_BACKSPACE; - break; - case Qt::Key_Space: - nCode = KEY_SPACE; - break; - case Qt::Key_Insert: - nCode = KEY_INSERT; - break; - case Qt::Key_Delete: - nCode = KEY_DELETE; - break; - case Qt::Key_Plus: - nCode = KEY_ADD; - break; - case Qt::Key_Minus: - nCode = KEY_SUBTRACT; - break; - case Qt::Key_Asterisk: - nCode = KEY_MULTIPLY; - break; - case Qt::Key_Slash: - nCode = KEY_DIVIDE; - break; - case Qt::Key_Period: - nCode = KEY_POINT; - break; - case Qt::Key_Comma: - nCode = KEY_COMMA; - break; - case Qt::Key_Less: - nCode = KEY_LESS; - break; - case Qt::Key_Greater: - nCode = KEY_GREATER; - break; - case Qt::Key_Equal: - nCode = KEY_EQUAL; - break; - case Qt::Key_Find: - nCode = KEY_FIND; - break; - case Qt::Key_Menu: - nCode = KEY_CONTEXTMENU; - break; - case Qt::Key_Help: - nCode = KEY_HELP; - break; - case Qt::Key_Undo: - nCode = KEY_UNDO; - break; - case Qt::Key_Redo: - nCode = KEY_REPEAT; - break; - case Qt::Key_Cancel: - nCode = KEY_F11; - break; - case Qt::Key_AsciiTilde: - nCode = KEY_TILDE; - break; - case Qt::Key_QuoteLeft: - nCode = KEY_QUOTELEFT; - break; - case Qt::Key_BracketLeft: - nCode = KEY_BRACKETLEFT; - break; - case Qt::Key_BracketRight: - nCode = KEY_BRACKETRIGHT; - break; - case Qt::Key_NumberSign: - nCode = KEY_NUMBERSIGN; - break; - case Qt::Key_Forward: - nCode = KEY_XF86FORWARD; - break; - case Qt::Key_Back: - nCode = KEY_XF86BACK; - break; - case Qt::Key_Colon: - nCode = KEY_COLON; - break; - case Qt::Key_Semicolon: - nCode = KEY_SEMICOLON; - break; - case Qt::Key_Copy: - nCode = KEY_COPY; - break; - case Qt::Key_Cut: - nCode = KEY_CUT; - break; - case Qt::Key_Open: - nCode = KEY_OPEN; - break; - case Qt::Key_Paste: - nCode = KEY_PASTE; - break; - } + case Qt::Key_Down: + return KEY_DOWN; + case Qt::Key_Up: + return KEY_UP; + case Qt::Key_Left: + return KEY_LEFT; + case Qt::Key_Right: + return KEY_RIGHT; + case Qt::Key_Home: + return KEY_HOME; + case Qt::Key_End: + return KEY_END; + case Qt::Key_PageUp: + return KEY_PAGEUP; + case Qt::Key_PageDown: + return KEY_PAGEDOWN; + case Qt::Key_Return: + case Qt::Key_Enter: + return KEY_RETURN; + case Qt::Key_Escape: + return KEY_ESCAPE; + case Qt::Key_Tab: + // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key pressed with Shift + // modifier' but as 'Backtab key pressed' (while its modifier bits are still + // set to Shift) -- so let's map both Key_Tab and Key_Backtab to VCL's KEY_TAB + case Qt::Key_Backtab: + return KEY_TAB; + case Qt::Key_Backspace: + return KEY_BACKSPACE; + case Qt::Key_Space: + return KEY_SPACE; + case Qt::Key_Insert: + return KEY_INSERT; + case Qt::Key_Delete: + return KEY_DELETE; + case Qt::Key_Plus: + return KEY_ADD; + case Qt::Key_Minus: + return KEY_SUBTRACT; + case Qt::Key_Asterisk: + return KEY_MULTIPLY; + case Qt::Key_Slash: + return KEY_DIVIDE; + case Qt::Key_Period: + return KEY_POINT; + case Qt::Key_Comma: + return KEY_COMMA; + case Qt::Key_Less: + return KEY_LESS; + case Qt::Key_Greater: + return KEY_GREATER; + case Qt::Key_Equal: + return KEY_EQUAL; + case Qt::Key_Find: + return KEY_FIND; + case Qt::Key_Menu: + return KEY_CONTEXTMENU; + case Qt::Key_Help: + return KEY_HELP; + case Qt::Key_Undo: + return KEY_UNDO; + case Qt::Key_Redo: + return KEY_REPEAT; + case Qt::Key_Cancel: + return KEY_F11; + case Qt::Key_AsciiTilde: + return KEY_TILDE; + case Qt::Key_QuoteLeft: + return KEY_QUOTELEFT; + case Qt::Key_BracketLeft: + return KEY_BRACKETLEFT; + case Qt::Key_BracketRight: + return KEY_BRACKETRIGHT; + case Qt::Key_NumberSign: + return KEY_NUMBERSIGN; + case Qt::Key_Forward: + return KEY_XF86FORWARD; + case Qt::Key_Back: + return KEY_XF86BACK; + case Qt::Key_Colon: + return KEY_COLON; + case Qt::Key_Semicolon: + return KEY_SEMICOLON; + case Qt::Key_Copy: + return KEY_COPY; + case Qt::Key_Cut: + return KEY_CUT; + case Qt::Key_Open: + return KEY_OPEN; + case Qt::Key_Paste: + return KEY_PASTE; + default: + return 0; } - - return nCode; } sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons) commit a10fe020128bc0573af656cbd1aaee1d3d3355be Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Sat Apr 12 15:33:28 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Sun Apr 13 19:17:23 2025 +0200 tdf#130857 qt: Move Qt -> VCL key code helper to QtTools Move helper function GetKeyCode to QtTools and rename to toVclKeyCode. This will allow reusing it from QtInstanceWidget in an upcoming commit. Change-Id: I7157ee870d16bb77a677c8505e8018b5b871c7f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184104 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/vcl/inc/qt5/QtTools.hxx b/vcl/inc/qt5/QtTools.hxx index 345beb60a79a..6907fc2fe25b 100644 --- a/vcl/inc/qt5/QtTools.hxx +++ b/vcl/inc/qt5/QtTools.hxx @@ -147,6 +147,7 @@ struct CairoDeleter typedef std::unique_ptr<cairo_surface_t, CairoDeleter> UniqueCairoSurface; sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers eKeyModifiers); +sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers); sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons); MouseEvent toVclMouseEvent(QMouseEvent& rEvent); diff --git a/vcl/qt5/QtTools.cxx b/vcl/qt5/QtTools.cxx index 20091f005ae5..7da673c576e0 100644 --- a/vcl/qt5/QtTools.cxx +++ b/vcl/qt5/QtTools.cxx @@ -49,6 +49,164 @@ sal_uInt16 toVclKeyboardModifiers(Qt::KeyboardModifiers eKeyModifiers) return nCode; } +sal_uInt16 toVclKeyCode(int nKeyval, Qt::KeyboardModifiers eModifiers) +{ + sal_uInt16 nCode = 0; + if (nKeyval >= Qt::Key_0 && nKeyval <= Qt::Key_9) + nCode = KEY_0 + (nKeyval - Qt::Key_0); + else if (nKeyval >= Qt::Key_A && nKeyval <= Qt::Key_Z) + nCode = KEY_A + (nKeyval - Qt::Key_A); + else if (nKeyval >= Qt::Key_F1 && nKeyval <= Qt::Key_F26) + nCode = KEY_F1 + (nKeyval - Qt::Key_F1); + else if (eModifiers.testFlag(Qt::KeypadModifier) + && (nKeyval == Qt::Key_Period || nKeyval == Qt::Key_Comma)) + // Qt doesn't use a special keyval for decimal separator ("," or ".") + // on numerical keypad, but sets Qt::KeypadModifier in addition + nCode = KEY_DECIMAL; + else + { + switch (nKeyval) + { + case Qt::Key_Down: + nCode = KEY_DOWN; + break; + case Qt::Key_Up: + nCode = KEY_UP; + break; + case Qt::Key_Left: + nCode = KEY_LEFT; + break; + case Qt::Key_Right: + nCode = KEY_RIGHT; + break; + case Qt::Key_Home: + nCode = KEY_HOME; + break; + case Qt::Key_End: + nCode = KEY_END; + break; + case Qt::Key_PageUp: + nCode = KEY_PAGEUP; + break; + case Qt::Key_PageDown: + nCode = KEY_PAGEDOWN; + break; + case Qt::Key_Return: + case Qt::Key_Enter: + nCode = KEY_RETURN; + break; + case Qt::Key_Escape: + nCode = KEY_ESCAPE; + break; + case Qt::Key_Tab: + // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key pressed with Shift + // modifier' but as 'Backtab key pressed' (while its modifier bits are still + // set to Shift) -- so let's map both Key_Tab and Key_Backtab to VCL's KEY_TAB + case Qt::Key_Backtab: + nCode = KEY_TAB; + break; + case Qt::Key_Backspace: + nCode = KEY_BACKSPACE; + break; + case Qt::Key_Space: + nCode = KEY_SPACE; + break; + case Qt::Key_Insert: + nCode = KEY_INSERT; + break; + case Qt::Key_Delete: + nCode = KEY_DELETE; + break; + case Qt::Key_Plus: + nCode = KEY_ADD; + break; + case Qt::Key_Minus: + nCode = KEY_SUBTRACT; + break; + case Qt::Key_Asterisk: + nCode = KEY_MULTIPLY; + break; + case Qt::Key_Slash: + nCode = KEY_DIVIDE; + break; + case Qt::Key_Period: + nCode = KEY_POINT; + break; + case Qt::Key_Comma: + nCode = KEY_COMMA; + break; + case Qt::Key_Less: + nCode = KEY_LESS; + break; + case Qt::Key_Greater: + nCode = KEY_GREATER; + break; + case Qt::Key_Equal: + nCode = KEY_EQUAL; + break; + case Qt::Key_Find: + nCode = KEY_FIND; + break; + case Qt::Key_Menu: + nCode = KEY_CONTEXTMENU; + break; + case Qt::Key_Help: + nCode = KEY_HELP; + break; + case Qt::Key_Undo: + nCode = KEY_UNDO; + break; + case Qt::Key_Redo: + nCode = KEY_REPEAT; + break; + case Qt::Key_Cancel: + nCode = KEY_F11; + break; + case Qt::Key_AsciiTilde: + nCode = KEY_TILDE; + break; + case Qt::Key_QuoteLeft: + nCode = KEY_QUOTELEFT; + break; + case Qt::Key_BracketLeft: + nCode = KEY_BRACKETLEFT; + break; + case Qt::Key_BracketRight: + nCode = KEY_BRACKETRIGHT; + break; + case Qt::Key_NumberSign: + nCode = KEY_NUMBERSIGN; + break; + case Qt::Key_Forward: + nCode = KEY_XF86FORWARD; + break; + case Qt::Key_Back: + nCode = KEY_XF86BACK; + break; + case Qt::Key_Colon: + nCode = KEY_COLON; + break; + case Qt::Key_Semicolon: + nCode = KEY_SEMICOLON; + break; + case Qt::Key_Copy: + nCode = KEY_COPY; + break; + case Qt::Key_Cut: + nCode = KEY_CUT; + break; + case Qt::Key_Open: + nCode = KEY_OPEN; + break; + case Qt::Key_Paste: + nCode = KEY_PASTE; + break; + } + } + + return nCode; +} + sal_uInt16 toVclMouseButtons(Qt::MouseButtons eButtons) { sal_uInt16 nCode = 0; diff --git a/vcl/qt5/QtWidget.cxx b/vcl/qt5/QtWidget.cxx index 1c5f5c9a02f9..c08d4bcca010 100644 --- a/vcl/qt5/QtWidget.cxx +++ b/vcl/qt5/QtWidget.cxx @@ -251,164 +251,6 @@ void QtWidget::closeEvent(QCloseEvent* /*pEvent*/) m_rFrame.CallCallback(SalEvent::Close, nullptr); } -static sal_uInt16 GetKeyCode(int keyval, Qt::KeyboardModifiers modifiers) -{ - sal_uInt16 nCode = 0; - if (keyval >= Qt::Key_0 && keyval <= Qt::Key_9) - nCode = KEY_0 + (keyval - Qt::Key_0); - else if (keyval >= Qt::Key_A && keyval <= Qt::Key_Z) - nCode = KEY_A + (keyval - Qt::Key_A); - else if (keyval >= Qt::Key_F1 && keyval <= Qt::Key_F26) - nCode = KEY_F1 + (keyval - Qt::Key_F1); - else if (modifiers.testFlag(Qt::KeypadModifier) - && (keyval == Qt::Key_Period || keyval == Qt::Key_Comma)) - // Qt doesn't use a special keyval for decimal separator ("," or ".") - // on numerical keypad, but sets Qt::KeypadModifier in addition - nCode = KEY_DECIMAL; - else - { - switch (keyval) - { - case Qt::Key_Down: - nCode = KEY_DOWN; - break; - case Qt::Key_Up: - nCode = KEY_UP; - break; - case Qt::Key_Left: - nCode = KEY_LEFT; - break; - case Qt::Key_Right: - nCode = KEY_RIGHT; - break; - case Qt::Key_Home: - nCode = KEY_HOME; - break; - case Qt::Key_End: - nCode = KEY_END; - break; - case Qt::Key_PageUp: - nCode = KEY_PAGEUP; - break; - case Qt::Key_PageDown: - nCode = KEY_PAGEDOWN; - break; - case Qt::Key_Return: - case Qt::Key_Enter: - nCode = KEY_RETURN; - break; - case Qt::Key_Escape: - nCode = KEY_ESCAPE; - break; - case Qt::Key_Tab: - // oddly enough, Qt doesn't send Shift-Tab event as 'Tab key pressed with Shift - // modifier' but as 'Backtab key pressed' (while its modifier bits are still - // set to Shift) -- so let's map both Key_Tab and Key_Backtab to VCL's KEY_TAB - case Qt::Key_Backtab: - nCode = KEY_TAB; - break; - case Qt::Key_Backspace: - nCode = KEY_BACKSPACE; - break; - case Qt::Key_Space: - nCode = KEY_SPACE; - break; - case Qt::Key_Insert: - nCode = KEY_INSERT; - break; - case Qt::Key_Delete: - nCode = KEY_DELETE; - break; - case Qt::Key_Plus: - nCode = KEY_ADD; - break; - case Qt::Key_Minus: - nCode = KEY_SUBTRACT; - break; - case Qt::Key_Asterisk: - nCode = KEY_MULTIPLY; - break; - case Qt::Key_Slash: - nCode = KEY_DIVIDE; - break; - case Qt::Key_Period: - nCode = KEY_POINT; - break; - case Qt::Key_Comma: - nCode = KEY_COMMA; - break; - case Qt::Key_Less: - nCode = KEY_LESS; - break; - case Qt::Key_Greater: - nCode = KEY_GREATER; - break; - case Qt::Key_Equal: - nCode = KEY_EQUAL; - break; - case Qt::Key_Find: - nCode = KEY_FIND; - break; - case Qt::Key_Menu: - nCode = KEY_CONTEXTMENU; - break; - case Qt::Key_Help: - nCode = KEY_HELP; - break; - case Qt::Key_Undo: - nCode = KEY_UNDO; - break; - case Qt::Key_Redo: - nCode = KEY_REPEAT; - break; - case Qt::Key_Cancel: - nCode = KEY_F11; - break; - case Qt::Key_AsciiTilde: - nCode = KEY_TILDE; - break; - case Qt::Key_QuoteLeft: - nCode = KEY_QUOTELEFT; - break; - case Qt::Key_BracketLeft: - nCode = KEY_BRACKETLEFT; - break; - case Qt::Key_BracketRight: - nCode = KEY_BRACKETRIGHT; - break; - case Qt::Key_NumberSign: - nCode = KEY_NUMBERSIGN; - break; - case Qt::Key_Forward: - nCode = KEY_XF86FORWARD; - break; - case Qt::Key_Back: - nCode = KEY_XF86BACK; - break; - case Qt::Key_Colon: - nCode = KEY_COLON; - break; - case Qt::Key_Semicolon: - nCode = KEY_SEMICOLON; - break; - case Qt::Key_Copy: - nCode = KEY_COPY; - break; - case Qt::Key_Cut: - nCode = KEY_CUT; - break; - case Qt::Key_Open: - nCode = KEY_OPEN; - break; - case Qt::Key_Paste: - nCode = KEY_PASTE; - break; - } - } - - return nCode; -} - void QtWidget::commitText(const QString& aText) const { SalExtTextInputEvent aInputEvent; @@ -501,7 +343,7 @@ bool QtWidget::handleKeyEvent(QKeyEvent* pEvent) const { const bool bIsKeyPressed = pEvent->type() == QEvent::KeyPress || pEvent->type() == QEvent::ShortcutOverride; - sal_uInt16 nCode = GetKeyCode(pEvent->key(), pEvent->modifiers()); + sal_uInt16 nCode = toVclKeyCode(pEvent->key(), pEvent->modifiers()); if (bIsKeyPressed && nCode == 0 && pEvent->text().length() > 1 && testAttribute(Qt::WA_InputMethodEnabled)) {