diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-10-20 21:16:16 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2020-10-20 21:16:16 +0000 |
| commit | e04df1641e0b5f83a12c13ed0b4994ffe07f58ea (patch) | |
| tree | a1dd7dca51dfc24f61ca5c4a2ecd4512ece3ddfe /src/plugins/Ui/qsui | |
| parent | d1ce45bbf8c4aaa42c025c13c05c3f1e9bb93c63 (diff) | |
| download | qmmp-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/Ui/qsui')
| -rw-r--r-- | src/plugins/Ui/qsui/dockwidgetlist.cpp | 27 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/dockwidgetlist.h | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 2 |
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, |
