From d969045bd92f892f8ca185b95e56fb346a0b23ec Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 1 Feb 2025 13:51:38 +0100 Subject: [PATCH] Gui: Fix several methods in Workbench to list all items * Fix Workbench::listToolbars() to also return custom toolbars or added by a manipulator * Fix Workbench::getToolbarItems() to also return custom toolbars or added by a manipulator * Fix Workbench::listMenus() to also return menus added by a manipulator Fixes issue 18647 --- src/Gui/Workbench.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Gui/Workbench.cpp b/src/Gui/Workbench.cpp index e0c8a65f05..532b20d7c7 100644 --- a/src/Gui/Workbench.cpp +++ b/src/Gui/Workbench.cpp @@ -463,6 +463,9 @@ void Workbench::removeTaskWatcher() std::list Workbench::listToolbars() const { std::unique_ptr tb(setupToolBars()); + setupCustomToolbars(tb.get(), "Toolbar"); + WorkbenchManipulator::changeToolBars(tb.get()); + std::list bars; QList items = tb->getItems(); for (const auto & item : items) { @@ -474,6 +477,8 @@ std::list Workbench::listToolbars() const std::list>> Workbench::getToolbarItems() const { std::unique_ptr tb(setupToolBars()); + setupCustomToolbars(tb.get(), "Toolbar"); + WorkbenchManipulator::changeToolBars(tb.get()); std::list>> itemsList; QList items = tb->getItems(); @@ -492,6 +497,9 @@ std::list>> Workbench::getToolbarI std::list Workbench::listMenus() const { std::unique_ptr mb(setupMenuBar()); + addPermanentMenuItems(mb.get()); + WorkbenchManipulator::changeMenuBar(mb.get()); + std::list menus; QList items = mb->getItems(); for (const auto & item : items) {