diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2012-06-27 16:20:18 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-29 16:22:19 +0200 |
commit | f58e046a611118a6349ee617a98dbb24280ef183 (patch) | |
tree | 50fb5a6348723553da5cb8d261282f7ec3adf16b /src/widgets/widgets/qdockwidget.cpp | |
parent | 2b368469c8e58e0df26e48706b5864d5e4f7da5e (diff) |
Add framestrut mouse events.
- Add infrastructure to QWindowSystemInterface.
- Add a setter for enabling framestrut events
to QPlatformWindow.
- Add Windows implementation, pass keyboard modifiers.
QDockWidget relies on it for docking.
Task-number: QTBUG-26296
Change-Id: I9d84b356e9a5eb341f57b6f51f34b6b494ff7f87
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/widgets/widgets/qdockwidget.cpp')
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index be216ecf9f..551549f97e 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -48,12 +48,14 @@ #include <qdrawutil.h> #include <qevent.h> #include <qfontmetrics.h> +#include <qwindow.h> #include <qmainwindow.h> #include <qrubberband.h> #include <qstylepainter.h> #include <qtoolbutton.h> #include <qdebug.h> +#include <qpa/qplatformwindow.h> #include <private/qwidgetresizehandler_p.h> #include "qdockwidget_p.h" @@ -1052,6 +1054,11 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect } } + if (unplug && floating && nativeDeco) + if (const QWindow *window = q->windowHandle()) + if (QPlatformWindow *platformWindow = window->handle()) + platformWindow->setFrameStrutEventsEnabled(true); + resizer->setActive(QWidgetResizeHandler::Resize, !unplug && floating && !nativeDeco); } |