diff options
Diffstat (limited to 'src/widgets/widgets/qdockwidget_p.h')
-rw-r--r-- | src/widgets/widgets/qdockwidget_p.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/widgets/widgets/qdockwidget_p.h b/src/widgets/widgets/qdockwidget_p.h index 8e9f80d412..fa936599c6 100644 --- a/src/widgets/widgets/qdockwidget_p.h +++ b/src/widgets/widgets/qdockwidget_p.h @@ -41,6 +41,8 @@ class QDockWidgetPrivate : public QWidgetPrivate struct DragState { QPoint pressPos; + QPoint globalPressPos; + QPoint widgetInitialPos; bool dragging; QLayoutItem *widgetItem; bool ownWidgetItem; @@ -49,9 +51,19 @@ class QDockWidgetPrivate : public QWidgetPrivate }; public: + enum class DragScope { + Group, + Widget + }; + + enum class EndDragMode { + LocationChange, + Abort + }; + void init(); - void _q_toggleView(bool); // private slot - void _q_toggleTopLevel(); // private slot + void toggleView(bool); + void toggleTopLevel(); void updateButtons(); static Qt::DockWidgetArea toDockWidgetArea(QInternal::DockPosition pos); @@ -84,8 +96,8 @@ public: void setWindowState(bool floating, bool unplug = false, const QRect &rect = QRect()); void nonClientAreaMouseEvent(QMouseEvent *event); void initDrag(const QPoint &pos, bool nca); - void startDrag(bool group = true); - void endDrag(bool abort = false); + void startDrag(DragScope scope); + void endDrag(EndDragMode mode); void moveEvent(QMoveEvent *event); void recalculatePressPos(QResizeEvent *event); @@ -94,6 +106,7 @@ public: void setResizerActive(bool active); bool isAnimating() const; + bool isTabbed() const; private: QWidgetResizeHandler *resizer = nullptr; |