aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Ui/qsui/dockwidgetlist.cpp27
-rw-r--r--src/plugins/Ui/qsui/dockwidgetlist.h2
-rw-r--r--src/plugins/Ui/qsui/mainwindow.cpp2
3 files changed, 31 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);
diff --git a/src/plugins/Ui/qsui/dockwidgetlist.h b/src/plugins/Ui/qsui/dockwidgetlist.h
index a03e29ff2..366e49b3c 100644
--- a/src/plugins/Ui/qsui/dockwidgetlist.h
+++ b/src/plugins/Ui/qsui/dockwidgetlist.h
@@ -15,6 +15,7 @@ public:
explicit DockWidgetList(QMainWindow *parent);
void registerMenu(QMenu *menu, QAction *before);
+ void setTitleBarsVisible(bool visible);
private slots:
void onViewActionToggled(bool visible);
@@ -27,6 +28,7 @@ private:
QList<QDockWidget *> m_dockWidgetList;
QAction *m_beforeAction = nullptr;
QMenu *m_menu;
+ bool m_titleBarsVisible = true;
};
#endif // DOCKWIDGETLIST_H
diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp
index 8b0733272..6512f230c 100644
--- a/src/plugins/Ui/qsui/mainwindow.cpp
+++ b/src/plugins/Ui/qsui/mainwindow.cpp
@@ -850,6 +850,8 @@ void MainWindow::showMetaData()
void MainWindow::setTitleBarsVisible(bool visible)
{
+ m_dockWidgetList->setTitleBarsVisible(visible);
+
QList<QDockWidget *> widgetList = {
m_ui.analyzerDockWidget,
m_ui.fileSystemDockWidget,