diff --git a/src/Gui/ToolBarManager.cpp b/src/Gui/ToolBarManager.cpp index 12c3b862cb..210ca41f29 100644 --- a/src/Gui/ToolBarManager.cpp +++ b/src/Gui/ToolBarManager.cpp @@ -536,7 +536,16 @@ void ToolBarManager::setState(const QString& name, State state) tb->toggleViewAction()->setVisible(true); - showhide(tb, policy); + // Unavailable policy defaults to a Visible toolbars when made available + auto show = visibility( policy == ToolBarItem::DefaultVisibility::Visible || + policy == ToolBarItem::DefaultVisibility::Unavailable); + + if(show) { + tb->show(); + } + else { + tb->hide(); + } } else if (state == State::ForceHidden) { tb->toggleViewAction()->setVisible(false); // not visible in context menus diff --git a/src/Gui/ToolBarManager.h b/src/Gui/ToolBarManager.h index 1aa631ea94..a84da34cbc 100644 --- a/src/Gui/ToolBarManager.h +++ b/src/Gui/ToolBarManager.h @@ -44,7 +44,8 @@ public: Hidden, // toolbar hidden by default, visibility toggle action is enabled Unavailable, // toolbar visibility is managed independently by client code and defaults to // hidden, visibility toggle action is disabled by default (it is unavailable - // to the UI). + // to the UI). Upon being forced to be available, these toolbars default to + // visible. }; ToolBarItem();