diff options
Diffstat (limited to 'src/plugins/platforms/windows/qwindowscontext.cpp')
-rw-r--r-- | src/plugins/platforms/windows/qwindowscontext.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp index 5f7dfb1b10..2706e02cf8 100644 --- a/src/plugins/platforms/windows/qwindowscontext.cpp +++ b/src/plugins/platforms/windows/qwindowscontext.cpp @@ -49,6 +49,7 @@ #include "qwindowsinputcontext.h" #include "qwindowsaccessibility.h" #include "qwindowsscreen.h" +#include "qwindowstheme.h" #include <QtGui/QWindow> #include <QtGui/QWindowSystemInterface> @@ -78,6 +79,7 @@ int QWindowsContext::verboseGL = 0; int QWindowsContext::verboseOLE = 0; int QWindowsContext::verboseInputMethods = 0; int QWindowsContext::verboseDialogs = 0; +int QWindowsContext::verboseTheming = 0; // Get verbosity of components from "foo:2,bar:3" static inline int componentVerbose(const char *v, const char *keyWord) @@ -284,6 +286,7 @@ QWindowsContext::QWindowsContext() : QWindowsContext::verboseOLE = componentVerbose(v, "ole"); QWindowsContext::verboseInputMethods = componentVerbose(v, "im"); QWindowsContext::verboseDialogs = componentVerbose(v, "dialogs"); + QWindowsContext::verboseTheming = componentVerbose(v, "theming"); } } @@ -676,10 +679,6 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, } // Events without an associated QWindow or events we are not interested in. switch (et) { - case QtWindows::DeactivateApplicationEvent: - case QtWindows::DeactivateWindowEvent: - QWindowSystemInterface::handleWindowActivated(0); - return true; case QtWindows::InputMethodStartCompositionEvent: return QWindowsInputContext::instance()->startComposition(hwnd); case QtWindows::InputMethodCompositionEvent: @@ -773,9 +772,12 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, return d->m_mouseHandler.translateMouseEvent(platformWindow->window(), hwnd, et, msg, result); case QtWindows::TouchEvent: return d->m_mouseHandler.translateTouchEvent(platformWindow->window(), hwnd, et, msg, result); - case QtWindows::ActivateWindowEvent: + case QtWindows::FocusInEvent: // see QWindowsWindow::requestActivateWindow(). QWindowSystemInterface::handleWindowActivated(platformWindow->window()); return true; + case QtWindows::FocusOutEvent: + QWindowSystemInterface::handleWindowActivated(0); + return true; case QtWindows::ShowEvent: platformWindow->handleShown(); return true; @@ -785,6 +787,9 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message, case QtWindows::CloseEvent: QWindowSystemInterface::handleCloseEvent(platformWindow->window()); return true; + case QtWindows::ThemeChanged: // ### fixme: Compress these events? + QWindowsTheme::instance()->windowsThemeChanged(platformWindow->window()); + return true; default: break; } |