From 7efebad51a2af0a3c56b04f4c68252bbeaf01a6d Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 10 Feb 2020 00:01:26 +0100 Subject: [PATCH] Menu item to reset all dock widgets' settings --- src/blackgui/infoarea.cpp | 13 ++++++++++++- src/blackgui/infoarea.h | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/blackgui/infoarea.cpp b/src/blackgui/infoarea.cpp index fcd015b5a..a75084298 100644 --- a/src/blackgui/infoarea.cpp +++ b/src/blackgui/infoarea.cpp @@ -92,8 +92,10 @@ namespace BlackGui bool hasDockedWidgets = this->countDockedWidgetInfoAreas() > 0; if (hasDockedWidgets) { - menu->addAction(CIcons::dockTop16(), "Dock all", this, &CInfoArea::dockAllWidgets); + menu->addAction(CIcons::dockTop16(), "Dock all", this, &CInfoArea::dockAllWidgets); menu->addAction(CIcons::floatAll16(), "Float all", this, &CInfoArea::floatAllWidgets); + menu->addAction(CIcons::refresh16(), "Reset all to defaults", this, &CInfoArea::resetAllWidgetSettings); + menu->addAction(CIcons::floatOne16(), QStringLiteral("Dock / float '%1'").arg(this->windowTitle()), this, &CInfoArea::toggleFloatingWholeInfoArea); QAction *lockTabBarMenuAction = new QAction(menu); lockTabBarMenuAction->setObjectName(this->objectName().append("LockTabBar")); @@ -352,6 +354,15 @@ namespace BlackGui } } + void CInfoArea::resetAllWidgetSettings() + { + for (CDockWidgetInfoArea *dw : as_const(m_dockWidgetInfoAreas)) + { + if (!dw->isFloating()) { continue; } + dw->resetSettings(); + } + } + void CInfoArea::allFloatingOnTop() { for (CDockWidgetInfoArea *dw : as_const(m_dockWidgetInfoAreas)) diff --git a/src/blackgui/infoarea.h b/src/blackgui/infoarea.h index 939b68cc3..8dc3fa799 100644 --- a/src/blackgui/infoarea.h +++ b/src/blackgui/infoarea.h @@ -104,6 +104,9 @@ namespace BlackGui //! All floating info areas on top void allFloatingOnTop(); + //! Reset all widgets + void resetAllWidgetSettings(); + //! Toggle dock / floating of the whole info area virtual void toggleFloatingWholeInfoArea();