diff --git a/src/dolphindockwidget.cpp b/src/dolphindockwidget.cpp index 0d8aea7bdf..6495c8da96 100644 --- a/src/dolphindockwidget.cpp +++ b/src/dolphindockwidget.cpp @@ -21,6 +21,14 @@ #include +namespace { + // Disable the 'Floatable' feature, i.e., the possibility to drag the + // dock widget out of the main window. This works around problems like + // https://bugs.kde.org/show_bug.cgi?id=288629 + // https://bugs.kde.org/show_bug.cgi?id=322299 + const QDockWidget::DockWidgetFeatures DefaultDockWidgetFeatures = QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable; +} + // Empty titlebar for the dock widgets when "Lock Layout" has been activated. class DolphinDockTitleBar : public QWidget { @@ -45,6 +53,7 @@ DolphinDockWidget::DolphinDockWidget(const QString& title, QWidget* parent, Qt:: m_locked(false), m_dockTitleBar(0) { + setFeatures(DefaultDockWidgetFeatures); } DolphinDockWidget::DolphinDockWidget(QWidget* parent, Qt::WindowFlags flags) : @@ -52,6 +61,7 @@ DolphinDockWidget::DolphinDockWidget(QWidget* parent, Qt::WindowFlags flags) : m_locked(false), m_dockTitleBar(0) { + setFeatures(DefaultDockWidgetFeatures); } DolphinDockWidget::~DolphinDockWidget() @@ -71,9 +81,7 @@ void DolphinDockWidget::setLocked(bool lock) setFeatures(QDockWidget::NoDockWidgetFeatures); } else { setTitleBarWidget(0); - setFeatures(QDockWidget::DockWidgetMovable | - QDockWidget::DockWidgetFloatable | - QDockWidget::DockWidgetClosable); + setFeatures(DefaultDockWidgetFeatures); } } }