#0000862: Draft toolbar doesn't disappear when switching workbenches

This commit is contained in:
wmayer 2013-06-13 22:30:46 +02:00
parent 88a05de6ba
commit 5a04adebe4
3 changed files with 17 additions and 3 deletions

View File

@ -118,6 +118,8 @@ class ArchWorkbench(Workbench):
def Deactivated(self):
if hasattr(FreeCADGui,"draftToolBar"):
FreeCADGui.draftToolBar.Deactivated()
if hasattr(FreeCADGui,"Snapper"):
FreeCADGui.Snapper.hide()
Msg("Arch workbench deactivated\n")
def ContextMenu(self, recipient):

View File

@ -851,7 +851,7 @@ class Snapper:
"builds the Snap toolbar"
self.toolbar = QtGui.QToolBar(None)
self.toolbar.setObjectName("Draft Snap")
self.toolbar.setWindowTitle("Draft Snap")
self.toolbar.setWindowTitle(QtCore.QCoreApplication.translate("Workbench", "Draft Snap"))
self.toolbarButtons = []
self.masterbutton = QtGui.QPushButton(None)
self.masterbutton.setIcon(QtGui.QIcon(":/icons/Snap_Lock.svg"))
@ -933,10 +933,17 @@ class Snapper:
bt = mw.findChild(QtGui.QToolBar,"Draft Snap")
if not bt:
mw.addToolBar(self.toolbar)
self.toolbar.setParent(mw)
self.toolbar.show()
self.toolbar.toggleViewAction().setVisible(True)
if FreeCADGui.ActiveDocument:
self.setTrackers()
def hide(self):
if hasattr(self,"toolbar"):
self.toolbar.hide()
self.toolbar.toggleViewAction().setVisible(True)
def setGrid(self):
"sets the grid, if visible"
if self.grid and (not self.forceGridOff):

View File

@ -68,6 +68,9 @@ class DraftWorkbench (Workbench):
ToolTip = "The Draft module is used for basic 2D CAD Drafting"
def Initialize(self):
def QT_TRANSLATE_NOOP(scope, text):
return text
# run self-tests
depsOK = False
try:
@ -115,8 +118,8 @@ class DraftWorkbench (Workbench):
"Draft_SelectGroup","Draft_SelectPlane","Draft_ToggleSnap",
"Draft_ShowSnapBar","Draft_ToggleGrid"]
self.lineList = ["Draft_UndoLine","Draft_FinishLine","Draft_CloseLine"]
self.appendToolbar(str(DraftTools.translate("draft","Draft creation tools")),self.cmdList)
self.appendToolbar(str(DraftTools.translate("draft","Draft modification tools")),self.modList)
self.appendToolbar(QT_TRANSLATE_NOOP("Workbench","Draft creation tools"),self.cmdList)
self.appendToolbar(QT_TRANSLATE_NOOP("Workbench","Draft modification tools"),self.modList)
self.appendMenu(str(DraftTools.translate("draft","&Draft")),self.cmdList+self.modList)
self.appendMenu([str(DraftTools.translate("draft","&Draft")),str(DraftTools.translate("draft","Context tools"))],self.treecmdList)
self.appendMenu([str(DraftTools.translate("draft","&Draft")),str(DraftTools.translate("draft","Wire tools"))],self.lineList)
@ -131,6 +134,8 @@ class DraftWorkbench (Workbench):
def Deactivated(self):
if hasattr(FreeCADGui,"draftToolBar"):
FreeCADGui.draftToolBar.Deactivated()
if hasattr(FreeCADGui,"Snapper"):
FreeCADGui.Snapper.hide()
Msg("Draft workbench deactivated\n")
def ContextMenu(self, recipient):