diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-08-24 09:30:29 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-08-24 11:16:19 +0200 |
commit | 1b2dae36d32bc4d37fa8a12653becd810101f82e (patch) | |
tree | 95a1d3159d1a3003528731b7c4987c2ba92f95be /src/plugins/platforms/windows/qwindowscontext.cpp | |
parent | f5777742126d5fb025522d1528d7e12d7239a03f (diff) |
Add Input context for Windows.
Change-Id: I20b97e863bf1198b9ad810bb5a25652327f626c9
Reviewed-on: http://codereview.qt.nokia.com/3463
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowscontext.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowscontext.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp index d62cbfb4c6..c77a111490 100644 --- a/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/src/plugins/platforms/windows/qwindowscontext.cpp @@ -46,6 +46,7 @@ #include "qwindowsmousehandler.h" #include "qtwindowsglobal.h" #include "qwindowsmime.h" +#include "qwindowsinputcontext.h" #include <QtGui/QWindow> #include <QtGui/QWindowSystemInterface> @@ -72,6 +73,7 @@ int QWindowsContext::verboseBackingStore = 0; int QWindowsContext::verboseFonts = 0; int QWindowsContext::verboseGL = 0; int QWindowsContext::verboseOLE = 0; +int QWindowsContext::verboseInputMethods = 0; // Get verbosity of components from "foo:2,bar:3" static inline int componentVerbose(const char *v, const char *keyWord) @@ -240,6 +242,7 @@ QWindowsContext::QWindowsContext(bool isOpenGL) : QWindowsContext::verboseFonts = componentVerbose(v, "fonts"); QWindowsContext::verboseGL = componentVerbose(v, "gl"); QWindowsContext::verboseOLE = componentVerbose(v, "ole"); + QWindowsContext::verboseInputMethods = componentVerbose(v, "im"); } } @@ -603,8 +606,21 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, case QtWindows::DeactivateWindowEvent: QWindowSystemInterface::handleWindowActivated(0); return true; + case QtWindows::InputMethodStartCompositionEvent: + return QWindowsInputContext::instance()->startComposition(hwnd); + case QtWindows::InputMethodCompositionEvent: + return QWindowsInputContext::instance()->composition(hwnd, lParam); + case QtWindows::InputMethodEndCompositionEvent: + return QWindowsInputContext::instance()->endComposition(hwnd); + case QtWindows::InputMethodRequest: + return QWindowsInputContext::instance()->handleIME_Request(wParam, lParam, result); + case QtWindows::InputMethodOpenCandidateWindowEvent: + case QtWindows::InputMethodCloseCandidateWindowEvent: + // TODO: Release/regrab mouse if a popup has mouse grab. + return false; case QtWindows::ClipboardEvent: case QtWindows::DestroyEvent: + case QtWindows::UnknownEvent: return false; default: |