aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-10-20 21:16:16 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-10-20 21:16:16 +0000
commite04df1641e0b5f83a12c13ed0b4994ffe07f58ea (patch)
treea1dd7dca51dfc24f61ca5c4a2ecd4512ece3ddfe /src/plugins
parentd1ce45bbf8c4aaa42c025c13c05c3f1e9bb93c63 (diff)
downloadqmmp-e04df1641e0b5f83a12c13ed0b4994ffe07f58ea.tar.gz
qmmp-e04df1641e0b5f83a12c13ed0b4994ffe07f58ea.tar.bz2
qmmp-e04df1641e0b5f83a12c13ed0b4994ffe07f58ea.zip
qsui: fixed feauture to hide dockwidget titlebars
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9514 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
-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,