From 5a04adebe478a24d60fab9de81494113c982e984 Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 13 Jun 2013 22:30:46 +0200 Subject: [PATCH] #0000862: Draft toolbar doesn't disappear when switching workbenches --- src/Mod/Arch/InitGui.py | 2 ++ src/Mod/Draft/DraftSnap.py | 9 ++++++++- src/Mod/Draft/InitGui.py | 9 +++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/Mod/Arch/InitGui.py b/src/Mod/Arch/InitGui.py index 1f5f2386d3..7e0cd8361b 100644 --- a/src/Mod/Arch/InitGui.py +++ b/src/Mod/Arch/InitGui.py @@ -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): diff --git a/src/Mod/Draft/DraftSnap.py b/src/Mod/Draft/DraftSnap.py index bedb71f13b..9b2d8ad9e3 100644 --- a/src/Mod/Draft/DraftSnap.py +++ b/src/Mod/Draft/DraftSnap.py @@ -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): diff --git a/src/Mod/Draft/InitGui.py b/src/Mod/Draft/InitGui.py index add28732aa..57fbca4db2 100644 --- a/src/Mod/Draft/InitGui.py +++ b/src/Mod/Draft/InitGui.py @@ -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):