diff --git a/src/Gui/ToolBarManager.cpp b/src/Gui/ToolBarManager.cpp index b96167114c..7221c1fbb3 100644 --- a/src/Gui/ToolBarManager.cpp +++ b/src/Gui/ToolBarManager.cpp @@ -250,6 +250,11 @@ void ToolBarManager::setup(ToolBarItem* toolBarItems) (*it)->hide(); (*it)->toggleViewAction()->setVisible(false); } + + hPref = App::GetApplication().GetUserParameter().GetGroup("BaseApp") + ->GetGroup("Preferences")->GetGroup("General"); + bool lockToolBars = hPref->GetBool("LockToolBars", false); + setMovable(!lockToolBars); } void ToolBarManager::setup(ToolBarItem* item, QToolBar* toolbar) const @@ -314,6 +319,12 @@ void ToolBarManager::restoreState() const toolbar->setVisible(hPref->GetBool(toolbarName.constData(), toolbar->isVisible())); } } + + + hPref = App::GetApplication().GetUserParameter().GetGroup("BaseApp") + ->GetGroup("Preferences")->GetGroup("General"); + bool lockToolBars = hPref->GetBool("LockToolBars", false); + setMovable(!lockToolBars); } void ToolBarManager::retranslate() const @@ -327,6 +338,13 @@ void ToolBarManager::retranslate() const } } +void Gui::ToolBarManager::setMovable(bool moveable) const +{ + for (auto& tb : toolBars()) { + tb->setMovable(moveable); + } +} + QToolBar* ToolBarManager::findToolBar(const QList& toolbars, const QString& item) const { for (QList::ConstIterator it = toolbars.begin(); it != toolbars.end(); ++it) { diff --git a/src/Gui/ToolBarManager.h b/src/Gui/ToolBarManager.h index 82230044f6..ed92657642 100644 --- a/src/Gui/ToolBarManager.h +++ b/src/Gui/ToolBarManager.h @@ -80,6 +80,8 @@ public: void restoreState() const; void retranslate() const; + void setMovable(bool movable) const; + protected: void setup(ToolBarItem*, QToolBar*) const; /** Returns a list of all currently existing toolbars. */