diff options
author | James Turner <james.turner@kdab.com> | 2012-07-06 12:28:44 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-23 17:12:57 +0200 |
commit | 78d8c201f16374df4d5b8682f9eda2885125e1a6 (patch) | |
tree | 7b25d860559f35cb164f3e2a5fe76f0e6cffaf17 /src/widgets/widgets/qdockwidget.cpp | |
parent | 2dc1722b9eda058748b19b6401a56cb764072599 (diff) |
QTBUG-26296, dock widget moving
Cocoa lacked implementation of FrameStrut events, and also frameMargins on
QPlatformWindow. Fix both of these issues. Unfortunately QDockWidget also
contains a tangle of #ifdef MAC behaviour which I am unclear about. What's
included here disables some logic on Mac that seems definitely wrong -
while moving a window on Mac we now generate NonClientArea events
(as intended, I believe), but this should not cause dock-widget dragging to end.
Note the window titlebar is the only frame-strut/non-client area on Mac (as far as I can see)
Task-number: QTBUG-26296
Change-Id: Id0c6e954db64b9f9f71d16355cb92922877e5ebe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/widgets/widgets/qdockwidget.cpp')
-rw-r--r-- | src/widgets/widgets/qdockwidget.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 4a1ce17cff..bbea8d3afc 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -943,18 +943,11 @@ void QDockWidgetPrivate::nonClientAreaMouseEvent(QMouseEvent *event) case QEvent::NonClientAreaMouseMove: if (state == 0 || !state->dragging) break; + +#ifndef Q_OS_MAC if (state->nca) { endDrag(); } -#ifdef Q_OS_MAC - else { // workaround for lack of mouse-grab on Mac - QMainWindowLayout *layout = qt_mainwindow_layout(qobject_cast<QMainWindow *>(q->parentWidget())); - Q_ASSERT(layout != 0); - - q->move(event->globalPos() - state->pressPos); - if (!state->ctrlDrag) - layout->hover(state->widgetItem, event->globalPos()); - } #endif break; case QEvent::NonClientAreaMouseButtonRelease: |