diff options
Diffstat (limited to 'src/widgets/widgets/qtoolbar.cpp')
-rw-r--r-- | src/widgets/widgets/qtoolbar.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/widgets/widgets/qtoolbar.cpp b/src/widgets/widgets/qtoolbar.cpp index 54fd3ac525..0d386a4378 100644 --- a/src/widgets/widgets/qtoolbar.cpp +++ b/src/widgets/widgets/qtoolbar.cpp @@ -25,7 +25,6 @@ #include <qstyleoption.h> #include <qtoolbutton.h> #include <qwidgetaction.h> -#include <qtimer.h> #include <private/qwidgetaction_p.h> #include <private/qmainwindowlayout_p.h> #include <private/qhighdpiscaling_p.h> @@ -111,10 +110,12 @@ void QToolBarPrivate::updateWindowFlags(bool floating, bool unplug) flags |= Qt::FramelessWindowHint; +#if QT_CONFIG(draganddrop) // If we are performing a platform drag the flag is not needed and we want to avoid recreating // the platform window when it would be removed later if (unplug && !QMainWindowLayout::needsPlatformDrag()) flags |= Qt::X11BypassWindowManagerHint; +#endif q->setWindowFlags(flags); } @@ -178,10 +179,12 @@ void QToolBarPrivate::startDrag(bool moving) QMainWindowLayout *layout = qt_mainwindow_layout(win); Q_ASSERT(layout != nullptr); +#if QT_CONFIG(draganddrop) const bool wasFloating = q->isFloating(); +#endif if (!moving) { - state->widgetItem = layout->unplug(q); + state->widgetItem = layout->unplug(q, QDockWidgetPrivate::DragScope::Group); Q_ASSERT(state->widgetItem != nullptr); } state->dragging = !moving; @@ -264,10 +267,12 @@ bool QToolBarPrivate::mousePressEvent(QMouseEvent *event) bool QToolBarPrivate::mouseReleaseEvent(QMouseEvent*) { +#if QT_CONFIG(draganddrop) // if we are peforming a platform drag ignore the release here and end the drag when the actual // drag ends. if (QMainWindowLayout::needsPlatformDrag()) return false; +#endif if (state != nullptr) { endDrag(); @@ -389,6 +394,10 @@ void QToolBarPrivate::plug(const QRect &r) \ingroup mainwindow-classes \inmodule QtWidgets + A toolbar is typically created by calling + \l QMainWindow::addToolBar(const QString &title), but it can also + be added as the first widget in a QVBoxLayout, for example. + Toolbar buttons are added by adding \e actions, using addAction() or insertAction(). Groups of buttons can be separated using addSeparator() or insertSeparator(). If a toolbar button is not @@ -412,7 +421,7 @@ void QToolBarPrivate::plug(const QRect &r) addWidget(). Please use widget actions created by inheriting QWidgetAction and implementing QWidgetAction::createWidget() instead. - \sa QToolButton, QMenu, QAction, {Qt Widgets - Application Example} + \sa QToolButton, QMenu, QAction */ /*! @@ -1074,6 +1083,7 @@ bool QToolBar::event(QEvent *event) d->layout->setExpanded(false); break; } + break; default: break; } |