aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui/dockwidgetlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Ui/qsui/dockwidgetlist.cpp')
-rw-r--r--src/plugins/Ui/qsui/dockwidgetlist.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/plugins/Ui/qsui/dockwidgetlist.cpp b/src/plugins/Ui/qsui/dockwidgetlist.cpp
index 5c0176ef2..f1a1a9cea 100644
--- a/src/plugins/Ui/qsui/dockwidgetlist.cpp
+++ b/src/plugins/Ui/qsui/dockwidgetlist.cpp
@@ -33,6 +33,32 @@ void DockWidgetList::registerMenu(QMenu *menu, QAction *before)
menu->insertAction(m_beforeAction, dock->toggleViewAction());
}
+void DockWidgetList::setTitleBarsVisible(bool visible)
+{
+ m_titleBarsVisible = visible;
+
+ if(visible)
+ {
+ for(QDockWidget *w : qAsConst(m_dockWidgetList))
+ {
+ QWidget *widget = w->titleBarWidget();
+ if(widget)
+ {
+ w->setTitleBarWidget(nullptr);
+ delete widget;
+ }
+ }
+ }
+ else
+ {
+ for(QDockWidget *w : qAsConst(m_dockWidgetList))
+ {
+ if(!w->titleBarWidget())
+ w->setTitleBarWidget(new QWidget());
+ }
+ }
+}
+
void DockWidgetList::onViewActionToggled(bool checked)
{
if(!sender() || !sender()->parent())
@@ -75,6 +101,7 @@ void DockWidgetList::onWidgetAdded(const QString &id)
m_mw->addDockWidget(desc.area, dockWidget);
connect(dockWidget->toggleViewAction(), SIGNAL(toggled(bool)), SLOT(onViewActionToggled(bool)));
m_dockWidgetList << dockWidget;
+ setTitleBarsVisible(m_titleBarsVisible);
QWidget *w = General::createWidget(id, m_mw);
dockWidget->setWidget(w);