diff --git a/src/Gui/Icons/freecadsplash.png b/src/Gui/Icons/freecadsplash.png index e3e85b7fa..465aa7ce9 100644 Binary files a/src/Gui/Icons/freecadsplash.png and b/src/Gui/Icons/freecadsplash.png differ diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 9fce6f8c6..5de91a174 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1493,7 +1493,6 @@ class _ViewProviderDraft: obj.addProperty("App::PropertyEnumeration","DrawStyle","Base", "The line style of this object") self.Object = obj.Object - obj.DrawStyle = ["solid","dashed","dotted","dashdot"] def attach(self, obj): self.Object = obj.Object @@ -1510,21 +1509,8 @@ class _ViewProviderDraft: return mode def onChanged(self, vp, prop): - if prop == "DrawStyle": - self.setStyle(vp) return - def setStyle(self,vobj): - ds = vobj.RootNode.getChild(2).getChild(0).getChild(0).getChild(1) - if vobj.DrawStyle == "solid": - ds.linePattern = 0xffff - elif vobj.DrawStyle == "dotted": - ds.linePattern = 0x0f0f - elif vobj.DrawStyle == "dashed": - ds.linePattern = 0xf00f - elif vobj.DrawStyle == "dashdot": - ds.linePattern = 0xff88 - def __getstate__(self): return None @@ -2116,8 +2102,6 @@ class _ViewProviderRectangle(_ViewProviderDraft): if self.texture: r.removeChild(self.texture) self.texture = None - elif prop == "DrawStyle": - self.setStyle(vp) return class _Circle: @@ -2284,8 +2268,6 @@ class _ViewProviderWire(_ViewProviderDraft): rn.addChild(self.pt) else: rn.removeChild(self.pt) - elif prop == "DrawStyle": - self.setStyle(vp) return def claimChildren(self): @@ -2446,8 +2428,6 @@ class _ViewProviderBSpline(_ViewProviderDraft): rn.addChild(self.pt) else: rn.removeChild(self.pt) - elif prop == "DrawStyle": - self.setStyle(vp) return class _Block: diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index 9d942fe14..6b33e6b8b 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -906,6 +906,8 @@ class DraftToolBar: spec = True elif txt.endsWith("w"): self.wipeLine() + elif txt.endsWith("s"): + self.togglesnap() elif txt.endsWith("c"): if self.closeButton.isVisible(): self.closeLine() @@ -1099,6 +1101,10 @@ class DraftToolBar: b.close() return str(a) + def togglesnap(self): + if hasattr(FreeCADGui,"Snapper"): + FreeCADGui.Snapper.active = not FreeCADGui.Snapper.active + #--------------------------------------------------------------------------- # TaskView operations diff --git a/src/Mod/Draft/DraftSnap.py b/src/Mod/Draft/DraftSnap.py index bb7fa09f0..e496ea8f6 100644 --- a/src/Mod/Draft/DraftSnap.py +++ b/src/Mod/Draft/DraftSnap.py @@ -69,6 +69,7 @@ class Snapper: self.constrainLine = None self.trackLine = None self.lastSnappedObject = None + self.active = True # the snapmarker has "dot","circle" and "square" available styles self.mk = {'passive':'circle', @@ -141,11 +142,13 @@ class Snapper: if self.grid and Draft.getParam("grid"): self.grid.set() - # checking if alwaySnap setting is on + # activate snap oldActive = False if Draft.getParam("alwaysSnap"): oldActive = active active = True + if not self.active: + active = False self.setCursor('passive') if self.tracker: @@ -159,14 +162,17 @@ class Snapper: info = FreeCADGui.ActiveDocument.ActiveView.getObjectInfo((screenpos[0],screenpos[1])) # checking if parallel to one of the edges of the last objects or to a polar direction - eline = None - point,eline = self.snapToPolar(point,lastpoint) - point,eline = self.snapToExtensions(point,lastpoint,constrain,eline) + + if active: + eline = None + point,eline = self.snapToPolar(point,lastpoint) + point,eline = self.snapToExtensions(point,lastpoint,constrain,eline) if not info: # nothing has been snapped, check fro grid snap - point = self.snapToGrid(point) + if active: + point = self.snapToGrid(point) return cstr(point) else: diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index a74f4d733..e528c39ca 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -3631,6 +3631,18 @@ class Point: Draft.makePoint((self.stack[0][0]),(self.stack[0][1]),0.0) FreeCAD.ActiveDocument.commitTransaction() FreeCADGui.Snapper.off() + +class ToggleSnap(): + "The ToggleSnap FreeCAD command definition" + + def GetResources(self): + return {'Pixmap' : 'Draft_Snap', + 'MenuText': QtCore.QT_TRANSLATE_NOOP("Draft_ToggleSnap", "Toggle snap"), + 'ToolTip' : QtCore.QT_TRANSLATE_NOOP("Draft_ToggleSnap", "Toggles Draft snap on or off")} + + def Activated(self): + if hasattr(FreeCADGui,"Snapper"): + FreeCADGui.Snapper.active = not FreeCADGui.Snapper.active #--------------------------------------------------------------------------- # Adds the icons & commands to the FreeCAD command manager, and sets defaults @@ -3676,6 +3688,7 @@ FreeCADGui.addCommand('Draft_ToggleDisplayMode',ToggleDisplayMode()) FreeCADGui.addCommand('Draft_AddToGroup',AddToGroup()) FreeCADGui.addCommand('Draft_SelectGroup',SelectGroup()) FreeCADGui.addCommand('Draft_Shape2DView',Shape2DView()) +FreeCADGui.addCommand('Draft_ToggleSnap',ToggleSnap()) # a global place to look for active draft Command FreeCAD.activeDraftCommand = None diff --git a/src/Mod/Draft/Draft_rc.py b/src/Mod/Draft/Draft_rc.py index 249e0561a..abcd03a82 100644 --- a/src/Mod/Draft/Draft_rc.py +++ b/src/Mod/Draft/Draft_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Sun Feb 19 20:09:28 2012 +# Created: Thu Feb 23 13:58:42 2012 # by: The Resource Compiler for PyQt (Qt v4.7.4) # # WARNING! All changes made in this file will be lost! @@ -25074,6 +25074,314 @@ qt_resource_data = "\ \xca\x21\x00\xfc\xd8\x43\x38\x54\x2e\x1c\xb6\x35\x04\x87\x81\xed\ \x23\xdf\x83\x16\xc4\x9f\xef\x05\x11\xbe\xd5\x89\x78\xb3\x9a\x2d\ \xd4\xb1\xb7\x9a\xfd\x0b\xb3\xde\x14\xff\ +\x00\x00\x13\x1b\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\ +\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\ +\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\ +\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\ +\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\ +\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\ +\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\ +\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\ +\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\ +\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\ +\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\ +\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\ +\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\ +\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\ +\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\ +\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\ +\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\ +\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\ +\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\ +\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\ +\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\ +\x39\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x22\x0a\x20\x20\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\ +\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\ +\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\ +\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\x73\x63\ +\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\x61\x6d\ +\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\x70\x65\ +\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x36\x34\x22\x0a\ +\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x36\x34\x22\x0a\x20\ +\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x34\x30\x32\x35\x22\x0a\x20\ +\x20\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\ +\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x65\x72\x73\ +\x69\x6f\x6e\x3d\x22\x30\x2e\x34\x38\x2e\x31\x20\x72\x39\x37\x36\ +\x30\x22\x0a\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x64\ +\x6f\x63\x6e\x61\x6d\x65\x3d\x22\x44\x72\x61\x66\x74\x5f\x45\x64\ +\x69\x74\x2e\x73\x76\x67\x22\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\ +\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\x34\x30\ +\x32\x37\x22\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x3a\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\ +\x79\x70\x65\x3d\x22\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\ +\x72\x73\x70\x33\x64\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\ +\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x78\x3d\x22\x30\x20\x3a\ +\x20\x31\x36\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x79\x3d\x22\x30\ +\x20\x3a\x20\x31\x30\x30\x30\x20\x3a\x20\x30\x22\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\ +\x7a\x3d\x22\x33\x32\x20\x3a\x20\x31\x36\x20\x3a\x20\x31\x22\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\ +\x70\x65\x72\x73\x70\x33\x64\x2d\x6f\x72\x69\x67\x69\x6e\x3d\x22\ +\x31\x36\x20\x3a\x20\x31\x30\x2e\x36\x36\x36\x36\x36\x37\x20\x3a\ +\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\ +\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\x34\x30\x33\x33\x22\x20\ +\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x6b\x73\x63\x61\x70\x65\ +\x3a\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x65\x72\x73\x70\x65\x63\x74\ +\x69\x76\x65\x34\x30\x31\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x33\x64\ +\x2d\x6f\x72\x69\x67\x69\x6e\x3d\x22\x30\x2e\x35\x20\x3a\x20\x30\ +\x2e\x33\x33\x33\x33\x33\x33\x33\x33\x20\x3a\x20\x31\x22\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\ +\x70\x5f\x7a\x3d\x22\x31\x20\x3a\x20\x30\x2e\x35\x20\x3a\x20\x31\ +\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x76\x70\x5f\x79\x3d\x22\x30\x20\x3a\x20\x31\x30\x30\x30\ +\x20\x3a\x20\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\ +\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x78\x3d\x22\x30\x20\x3a\x20\ +\x30\x2e\x35\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\x69\ +\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x33\x64\x22\ +\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x6e\x65\x61\x72\x47\ +\x72\x61\x64\x69\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x69\ +\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\ +\x22\x61\x6c\x77\x61\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x78\x6c\x69\x6e\x6b\x3a\x68\x72\x65\x66\x3d\x22\x23\x6c\x69\x6e\ +\x65\x61\x72\x47\x72\x61\x64\x69\x65\x6e\x74\x34\x30\x39\x35\x22\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x69\x6e\x65\ +\x61\x72\x47\x72\x61\x64\x69\x65\x6e\x74\x33\x39\x39\x39\x22\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x67\x72\x61\x64\x69\x65\x6e\x74\x55\ +\x6e\x69\x74\x73\x3d\x22\x75\x73\x65\x72\x53\x70\x61\x63\x65\x4f\ +\x6e\x55\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x78\x31\x3d\ +\x22\x39\x30\x31\x2e\x31\x38\x37\x35\x22\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x79\x31\x3d\x22\x31\x31\x39\x30\x2e\x38\x37\x35\x22\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x78\x32\x3d\x22\x31\x32\x36\x37\x2e\ +\x39\x30\x36\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x79\x32\x3d\ +\x22\x31\x31\x39\x30\x2e\x38\x37\x35\x22\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x67\x72\x61\x64\x69\x65\x6e\x74\x54\x72\x61\x6e\x73\x66\ +\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x30\x2e\x31\x30\ +\x34\x35\x36\x37\x39\x31\x2c\x30\x2c\x30\x2c\x30\x2e\x31\x30\x34\ +\x35\x36\x37\x39\x31\x2c\x34\x32\x30\x2e\x39\x30\x30\x30\x36\x2c\ +\x33\x31\x2e\x30\x32\x33\x36\x32\x29\x22\x20\x2f\x3e\x0a\x20\x20\ +\x20\x20\x3c\x6c\x69\x6e\x65\x61\x72\x47\x72\x61\x64\x69\x65\x6e\ +\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x69\x6e\ +\x65\x61\x72\x47\x72\x61\x64\x69\x65\x6e\x74\x34\x30\x39\x35\x22\ +\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x6f\x70\x0a\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x73\x74\ +\x6f\x70\x2d\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x35\x62\x66\x66\ +\x3b\x73\x74\x6f\x70\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\ +\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x66\x66\x73\x65\ +\x74\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\ +\x64\x3d\x22\x73\x74\x6f\x70\x34\x30\x39\x37\x22\x20\x2f\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x6f\x70\x0a\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x73\x74\x6f\x70\ +\x2d\x63\x6f\x6c\x6f\x72\x3a\x23\x63\x31\x65\x33\x66\x37\x3b\x73\ +\x74\x6f\x70\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x22\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x66\x66\x73\x65\x74\x3d\ +\x22\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\ +\x22\x73\x74\x6f\x70\x34\x30\x39\x39\x22\x20\x2f\x3e\x0a\x20\x20\ +\x20\x20\x3c\x2f\x6c\x69\x6e\x65\x61\x72\x47\x72\x61\x64\x69\x65\ +\x6e\x74\x3e\x0a\x20\x20\x20\x20\x3c\x6c\x69\x6e\x65\x61\x72\x47\ +\x72\x61\x64\x69\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x69\ +\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\x3d\ +\x22\x61\x6c\x77\x61\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x78\x6c\x69\x6e\x6b\x3a\x68\x72\x65\x66\x3d\x22\x23\x6c\x69\x6e\ +\x65\x61\x72\x47\x72\x61\x64\x69\x65\x6e\x74\x34\x30\x39\x35\x22\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x69\x6e\x65\ +\x61\x72\x47\x72\x61\x64\x69\x65\x6e\x74\x32\x39\x37\x39\x22\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x67\x72\x61\x64\x69\x65\x6e\x74\x55\ +\x6e\x69\x74\x73\x3d\x22\x75\x73\x65\x72\x53\x70\x61\x63\x65\x4f\ +\x6e\x55\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x67\x72\x61\ +\x64\x69\x65\x6e\x74\x54\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\ +\x6d\x61\x74\x72\x69\x78\x28\x30\x2e\x31\x31\x31\x35\x34\x35\x38\ +\x33\x2c\x30\x2c\x30\x2c\x30\x2e\x31\x30\x36\x33\x32\x38\x35\x34\ +\x2c\x2d\x39\x39\x2e\x30\x33\x34\x32\x38\x31\x2c\x2d\x31\x33\x35\ +\x2e\x37\x30\x34\x34\x39\x29\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x78\x31\x3d\x22\x39\x30\x31\x2e\x31\x38\x37\x35\x22\x0a\x20\x20\ +\x20\x20\x20\x20\x20\x79\x31\x3d\x22\x31\x31\x39\x30\x2e\x38\x37\ +\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x78\x32\x3d\x22\x31\x32\ +\x36\x37\x2e\x39\x30\x36\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x79\x32\x3d\x22\x31\x31\x39\x30\x2e\x38\x37\x35\x22\x20\x2f\x3e\ +\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\x3e\x0a\x20\x20\x3c\x73\x6f\ +\x64\x69\x70\x6f\x64\x69\x3a\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\ +\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x62\x61\x73\x65\x22\x0a\ +\x20\x20\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\ +\x23\x66\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\ +\x72\x64\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x36\x36\x36\x36\ +\x36\x36\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\ +\x70\x61\x63\x69\x74\x79\x3d\x22\x31\x2e\x30\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\ +\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x2e\x30\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x73\ +\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\x20\x20\x69\ +\x6e\x6b\x73\x63\x61\x70\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x31\x2e\ +\x39\x37\x39\x35\x31\x30\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\ +\x6b\x73\x63\x61\x70\x65\x3a\x63\x78\x3d\x22\x31\x31\x2e\x31\x33\ +\x30\x36\x32\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\ +\x61\x70\x65\x3a\x63\x79\x3d\x22\x32\x31\x2e\x32\x32\x30\x32\x30\ +\x37\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\ +\x3a\x63\x75\x72\x72\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\ +\x6c\x61\x79\x65\x72\x31\x22\x0a\x20\x20\x20\x20\x20\x73\x68\x6f\ +\x77\x67\x72\x69\x64\x3d\x22\x74\x72\x75\x65\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x67\x72\x69\x64\x2d\ +\x62\x62\x6f\x78\x3d\x22\x74\x72\x75\x65\x22\x0a\x20\x20\x20\x20\ +\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x64\x6f\x63\x75\x6d\x65\ +\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\x70\x78\x22\x0a\x20\x20\ +\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\ +\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x32\x38\x30\x22\x0a\ +\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\ +\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x37\x35\x35\ +\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\ +\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x30\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\ +\x77\x2d\x79\x3d\x22\x32\x32\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\ +\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x6d\x61\ +\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\x20\x2f\x3e\x0a\x20\ +\x20\x3c\x6d\x65\x74\x61\x64\x61\x74\x61\x0a\x20\x20\x20\x20\x20\ +\x69\x64\x3d\x22\x6d\x65\x74\x61\x64\x61\x74\x61\x34\x30\x33\x30\ +\x22\x3e\x0a\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x3e\ +\x0a\x20\x20\x20\x20\x20\x20\x3c\x63\x63\x3a\x57\x6f\x72\x6b\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x61\x62\x6f\ +\x75\x74\x3d\x22\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\ +\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x69\x6d\x61\x67\x65\x2f\ +\x73\x76\x67\x2b\x78\x6d\x6c\x3c\x2f\x64\x63\x3a\x66\x6f\x72\x6d\ +\x61\x74\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\ +\x74\x79\x70\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x72\x64\x66\x3a\x72\x65\x73\x6f\x75\x72\x63\x65\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\x72\x67\x2f\x64\x63\ +\x2f\x64\x63\x6d\x69\x74\x79\x70\x65\x2f\x53\x74\x69\x6c\x6c\x49\ +\x6d\x61\x67\x65\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\x3c\x2f\x64\x63\x3a\ +\x74\x69\x74\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x2f\x63\ +\x63\x3a\x57\x6f\x72\x6b\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x72\x64\ +\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\x3c\x2f\x6d\x65\x74\x61\x64\ +\x61\x74\x61\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\ +\x64\x3d\x22\x6c\x61\x79\x65\x72\x31\x22\x0a\x20\x20\x20\x20\x20\ +\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\ +\x4c\x61\x79\x65\x72\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\ +\x6b\x73\x63\x61\x70\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\ +\x3d\x22\x6c\x61\x79\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x74\x72\ +\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\x72\x61\x6e\x73\x6c\x61\ +\x74\x65\x28\x30\x2c\x33\x32\x29\x22\x3e\x0a\x20\x20\x20\x20\x3c\ +\x72\x65\x63\x74\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\ +\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x30\x30\x30\x30\ +\x3b\x66\x69\x6c\x6c\x3a\x23\x66\x66\x66\x66\x66\x66\x3b\x66\x69\ +\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\ +\x6f\x6b\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\ +\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x2e\x35\x34\x32\x39\x39\ +\x39\x39\x38\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\ +\x61\x70\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\ +\x69\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\ +\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\ +\x34\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\ +\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\ +\x72\x61\x79\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\x2d\ +\x64\x61\x73\x68\x6f\x66\x66\x73\x65\x74\x3a\x30\x3b\x6d\x61\x72\ +\x6b\x65\x72\x3a\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\ +\x69\x74\x79\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\ +\x6c\x61\x79\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\ +\x6c\x6f\x77\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\ +\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\ +\x63\x75\x6d\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\ +\x20\x69\x64\x3d\x22\x72\x65\x63\x74\x33\x37\x38\x30\x22\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x38\x2e\ +\x32\x32\x35\x37\x31\x32\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x68\ +\x65\x69\x67\x68\x74\x3d\x22\x38\x2e\x35\x37\x33\x31\x31\x30\x36\ +\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x78\x3d\x22\x2d\x35\x2e\x39\ +\x35\x37\x37\x36\x30\x33\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x79\ +\x3d\x22\x32\x31\x2e\x33\x32\x37\x34\x33\x33\x22\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\ +\x61\x74\x72\x69\x78\x28\x30\x2e\x38\x34\x33\x39\x32\x33\x38\x36\ +\x2c\x2d\x30\x2e\x35\x33\x36\x34\x36\x32\x39\x38\x2c\x30\x2e\x35\ +\x33\x36\x34\x36\x32\x39\x38\x2c\x30\x2e\x38\x34\x33\x39\x32\x33\ +\x38\x36\x2c\x30\x2c\x30\x29\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\ +\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\ +\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\x61\x72\x63\x22\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\ +\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\ +\x6c\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\ +\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\ +\x6c\x65\x3a\x65\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\ +\x65\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\ +\x2d\x77\x69\x64\x74\x68\x3a\x33\x2e\x35\x34\x32\x39\x39\x39\x39\ +\x38\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\ +\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\ +\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\ +\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\ +\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\ +\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\ +\x79\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\ +\x73\x68\x6f\x66\x66\x73\x65\x74\x3a\x30\x3b\x6d\x61\x72\x6b\x65\ +\x72\x3a\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\ +\x79\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\ +\x79\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\ +\x77\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\ +\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\ +\x6d\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\ +\x64\x3d\x22\x70\x61\x74\x68\x33\x37\x38\x32\x22\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x78\x3d\ +\x22\x32\x30\x2e\x36\x32\x39\x30\x34\x37\x22\x0a\x20\x20\x20\x20\ +\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\ +\x32\x39\x2e\x30\x38\x32\x34\x33\x34\x22\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\x31\ +\x30\x2e\x39\x38\x34\x32\x39\x39\x22\x0a\x20\x20\x20\x20\x20\x20\ +\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\x79\x3d\x22\x31\x30\ +\x2e\x39\x38\x34\x32\x39\x39\x22\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x64\x3d\x22\x6d\x20\x33\x31\x2e\x36\x31\x33\x33\x34\x36\x2c\x32\ +\x39\x2e\x30\x38\x32\x34\x33\x34\x20\x61\x20\x31\x30\x2e\x39\x38\ +\x34\x32\x39\x39\x2c\x31\x30\x2e\x39\x38\x34\x32\x39\x39\x20\x30\ +\x20\x31\x20\x31\x20\x2d\x32\x31\x2e\x39\x36\x38\x35\x39\x37\x33\ +\x2c\x30\x20\x31\x30\x2e\x39\x38\x34\x32\x39\x39\x2c\x31\x30\x2e\ +\x39\x38\x34\x32\x39\x39\x20\x30\x20\x31\x20\x31\x20\x32\x31\x2e\ +\x39\x36\x38\x35\x39\x37\x33\x2c\x30\x20\x7a\x22\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x74\ +\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x31\x32\x2e\x35\x36\x33\x37\ +\x34\x32\x2c\x2d\x32\x31\x2e\x30\x34\x38\x39\x37\x34\x29\x22\x20\ +\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\ +\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x3a\x23\x66\ +\x66\x30\x63\x30\x30\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\ +\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x65\ +\x76\x65\x6e\x6f\x64\x64\x3b\x73\x74\x72\x6f\x6b\x65\x3a\x23\x34\ +\x37\x30\x30\x30\x30\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\ +\x74\x68\x3a\x33\x2e\x32\x33\x38\x36\x33\x32\x32\x3b\x73\x74\x72\ +\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\x75\x74\x74\ +\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\ +\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\ +\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\ +\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\ +\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\ +\x65\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x6f\x66\x66\ +\x73\x65\x74\x3a\x30\x3b\x6d\x61\x72\x6b\x65\x72\x3a\x6e\x6f\x6e\ +\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\x76\x69\x73\ +\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\x69\x6e\x6c\ +\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\x76\x69\x73\ +\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\ +\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\x75\x6c\x61\x74\ +\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x6d\x20\x31\ +\x34\x2e\x31\x38\x30\x33\x39\x32\x2c\x2d\x32\x38\x2e\x32\x34\x36\ +\x32\x39\x35\x20\x30\x2c\x31\x32\x2e\x31\x39\x35\x39\x32\x38\x20\ +\x2d\x39\x2e\x32\x39\x39\x36\x39\x2c\x30\x20\x30\x2c\x36\x2e\x35\ +\x36\x37\x30\x33\x37\x38\x20\x39\x2e\x32\x39\x39\x36\x39\x2c\x30\ +\x20\x37\x2e\x31\x33\x39\x31\x35\x35\x2c\x30\x20\x39\x2e\x36\x37\ +\x35\x34\x33\x35\x2c\x30\x20\x30\x2c\x2d\x36\x2e\x35\x36\x37\x30\ +\x33\x37\x38\x20\x2d\x39\x2e\x36\x37\x35\x34\x33\x35\x2c\x30\x20\ +\x30\x2c\x2d\x31\x32\x2e\x31\x39\x35\x39\x32\x38\x20\x2d\x37\x2e\ +\x31\x33\x39\x31\x35\x35\x2c\x30\x20\x7a\x22\x0a\x20\x20\x20\x20\ +\x20\x20\x20\x69\x64\x3d\x22\x72\x65\x63\x74\x33\x37\x38\x34\x22\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\ +\x3a\x63\x6f\x6e\x6e\x65\x63\x74\x6f\x72\x2d\x63\x75\x72\x76\x61\ +\x74\x75\x72\x65\x3d\x22\x30\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\ +\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\ \x00\x00\x08\x45\ \x00\ \x00\x26\xfb\x78\x9c\xed\x59\x6b\x6f\xdb\x38\x16\xfd\x9e\x5f\xa1\ @@ -31818,6 +32126,10 @@ qt_resource_name = "\ \x03\xe2\xfa\x67\ \x00\x44\ \x00\x72\x00\x61\x00\x66\x00\x74\x00\x5f\x00\x50\x00\x6f\x00\x69\x00\x6e\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\ +\x00\x0e\ +\x04\x78\x06\xe7\ +\x00\x44\ +\x00\x72\x00\x61\x00\x66\x00\x74\x00\x5f\x00\x53\x00\x6e\x00\x61\x00\x70\x00\x2e\x00\x73\x00\x76\x00\x67\ \x00\x15\ \x0e\x5a\x0f\xa7\ \x00\x44\ @@ -31969,8 +32281,8 @@ qt_resource_name = "\ qt_resource_struct = "\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x02\x00\x00\x00\x41\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x27\x00\x00\x00\x1a\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x02\x00\x00\x00\x42\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x28\x00\x00\x00\x1a\ \x00\x00\x00\x38\x00\x02\x00\x00\x00\x05\x00\x00\x00\x15\ \x00\x00\x00\x1a\x00\x02\x00\x00\x00\x10\x00\x00\x00\x05\ \x00\x00\x02\x72\x00\x01\x00\x00\x00\x01\x00\x05\x98\x94\ @@ -31994,45 +32306,46 @@ qt_resource_struct = "\ \x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x01\x64\ \x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x04\xc4\ \x00\x00\x00\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x03\x12\ -\x00\x00\x05\x78\x00\x01\x00\x00\x00\x01\x00\x06\x84\xbe\ +\x00\x00\x05\x9a\x00\x01\x00\x00\x00\x01\x00\x06\x97\xdd\ \x00\x00\x03\x70\x00\x00\x00\x00\x00\x01\x00\x05\xfb\xc9\ -\x00\x00\x06\xf8\x00\x01\x00\x00\x00\x01\x00\x07\x08\x4c\ -\x00\x00\x04\x58\x00\x01\x00\x00\x00\x01\x00\x06\x33\x91\ -\x00\x00\x05\xc0\x00\x00\x00\x00\x00\x01\x00\x06\xa2\x08\ -\x00\x00\x06\x82\x00\x01\x00\x00\x00\x01\x00\x06\xe7\x40\ -\x00\x00\x08\xc8\x00\x01\x00\x00\x00\x01\x00\x07\xa6\xe8\ +\x00\x00\x07\x1a\x00\x01\x00\x00\x00\x01\x00\x07\x1b\x6b\ +\x00\x00\x04\x7a\x00\x01\x00\x00\x00\x01\x00\x06\x46\xb0\ +\x00\x00\x05\xe2\x00\x00\x00\x00\x00\x01\x00\x06\xb5\x27\ +\x00\x00\x06\xa4\x00\x01\x00\x00\x00\x01\x00\x06\xfa\x5f\ +\x00\x00\x08\xea\x00\x01\x00\x00\x00\x01\x00\x07\xba\x07\ \x00\x00\x03\xb6\x00\x01\x00\x00\x00\x01\x00\x06\x14\xeb\ -\x00\x00\x05\x9a\x00\x00\x00\x00\x00\x01\x00\x06\x8f\x72\ -\x00\x00\x06\x08\x00\x01\x00\x00\x00\x01\x00\x06\xba\xcd\ +\x00\x00\x05\xbc\x00\x00\x00\x00\x00\x01\x00\x06\xa2\x91\ +\x00\x00\x03\xda\x00\x00\x00\x00\x00\x01\x00\x06\x1a\x6a\ +\x00\x00\x06\x2a\x00\x01\x00\x00\x00\x01\x00\x06\xcd\xec\ \x00\x00\x03\x92\x00\x01\x00\x00\x00\x01\x00\x06\x0a\x7f\ -\x00\x00\x08\x52\x00\x00\x00\x00\x00\x01\x00\x07\x89\x2e\ +\x00\x00\x08\x74\x00\x00\x00\x00\x00\x01\x00\x07\x9c\x4d\ \x00\x00\x03\x14\x00\x01\x00\x00\x00\x01\x00\x05\xeb\x33\ -\x00\x00\x04\xa8\x00\x01\x00\x00\x00\x01\x00\x06\x4e\xb0\ -\x00\x00\x08\x0a\x00\x01\x00\x00\x00\x01\x00\x07\x75\x38\ -\x00\x00\x08\x2c\x00\x01\x00\x00\x00\x01\x00\x07\x7f\x9a\ -\x00\x00\x04\x86\x00\x00\x00\x00\x00\x01\x00\x06\x3c\x97\ +\x00\x00\x04\xca\x00\x01\x00\x00\x00\x01\x00\x06\x61\xcf\ +\x00\x00\x08\x2c\x00\x01\x00\x00\x00\x01\x00\x07\x88\x57\ +\x00\x00\x08\x4e\x00\x01\x00\x00\x00\x01\x00\x07\x92\xb9\ +\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x06\x4f\xb6\ \x00\x00\x02\xe2\x00\x01\x00\x00\x00\x01\x00\x05\xe3\x7a\ -\x00\x00\x07\xc2\x00\x00\x00\x00\x00\x01\x00\x07\x4b\xae\ -\x00\x00\x04\xfc\x00\x01\x00\x00\x00\x01\x00\x06\x60\x20\ -\x00\x00\x07\xe6\x00\x00\x00\x00\x00\x01\x00\x07\x62\x61\ -\x00\x00\x06\x5c\x00\x00\x00\x00\x00\x01\x00\x06\xd5\x88\ -\x00\x00\x04\x0a\x00\x01\x00\x00\x00\x01\x00\x06\x22\xb3\ +\x00\x00\x07\xe4\x00\x00\x00\x00\x00\x01\x00\x07\x5e\xcd\ +\x00\x00\x05\x1e\x00\x01\x00\x00\x00\x01\x00\x06\x73\x3f\ +\x00\x00\x08\x08\x00\x00\x00\x00\x00\x01\x00\x07\x75\x80\ +\x00\x00\x06\x7e\x00\x00\x00\x00\x00\x01\x00\x06\xe8\xa7\ +\x00\x00\x04\x2c\x00\x01\x00\x00\x00\x01\x00\x06\x35\xd2\ \x00\x00\x03\x40\x00\x01\x00\x00\x00\x01\x00\x05\xf3\x3a\ -\x00\x00\x07\x1a\x00\x01\x00\x00\x00\x01\x00\x07\x10\xf5\ -\x00\x00\x08\x78\x00\x00\x00\x00\x00\x01\x00\x07\x91\xbb\ -\x00\x00\x05\x56\x00\x01\x00\x00\x00\x01\x00\x06\x77\x5f\ -\x00\x00\x06\x34\x00\x01\x00\x00\x00\x01\x00\x06\xcb\xd7\ -\x00\x00\x07\x70\x00\x00\x00\x00\x00\x01\x00\x07\x2d\x4a\ -\x00\x00\x04\x2e\x00\x01\x00\x00\x00\x01\x00\x06\x29\x50\ -\x00\x00\x04\xdc\x00\x01\x00\x00\x00\x01\x00\x06\x5a\xa1\ -\x00\x00\x07\x92\x00\x01\x00\x00\x00\x01\x00\x07\x41\xdb\ -\x00\x00\x06\xa8\x00\x01\x00\x00\x00\x01\x00\x06\xed\x04\ -\x00\x00\x06\xd0\x00\x01\x00\x00\x00\x01\x00\x06\xf8\x76\ -\x00\x00\x08\x9e\x00\x01\x00\x00\x00\x01\x00\x07\x9c\x66\ -\x00\x00\x03\xda\x00\x01\x00\x00\x00\x01\x00\x06\x1a\x6a\ -\x00\x00\x05\x2a\x00\x00\x00\x00\x00\x01\x00\x06\x68\x05\ -\x00\x00\x05\xe8\x00\x01\x00\x00\x00\x01\x00\x06\xb1\x59\ -\x00\x00\x07\x3e\x00\x00\x00\x00\x00\x01\x00\x07\x18\x46\ +\x00\x00\x07\x3c\x00\x01\x00\x00\x00\x01\x00\x07\x24\x14\ +\x00\x00\x08\x9a\x00\x00\x00\x00\x00\x01\x00\x07\xa4\xda\ +\x00\x00\x05\x78\x00\x01\x00\x00\x00\x01\x00\x06\x8a\x7e\ +\x00\x00\x06\x56\x00\x01\x00\x00\x00\x01\x00\x06\xde\xf6\ +\x00\x00\x07\x92\x00\x00\x00\x00\x00\x01\x00\x07\x40\x69\ +\x00\x00\x04\x50\x00\x01\x00\x00\x00\x01\x00\x06\x3c\x6f\ +\x00\x00\x04\xfe\x00\x01\x00\x00\x00\x01\x00\x06\x6d\xc0\ +\x00\x00\x07\xb4\x00\x01\x00\x00\x00\x01\x00\x07\x54\xfa\ +\x00\x00\x06\xca\x00\x01\x00\x00\x00\x01\x00\x07\x00\x23\ +\x00\x00\x06\xf2\x00\x01\x00\x00\x00\x01\x00\x07\x0b\x95\ +\x00\x00\x08\xc0\x00\x01\x00\x00\x00\x01\x00\x07\xaf\x85\ +\x00\x00\x03\xfc\x00\x01\x00\x00\x00\x01\x00\x06\x2d\x89\ +\x00\x00\x05\x4c\x00\x00\x00\x00\x00\x01\x00\x06\x7b\x24\ +\x00\x00\x06\x0a\x00\x01\x00\x00\x00\x01\x00\x06\xc4\x78\ +\x00\x00\x07\x60\x00\x00\x00\x00\x00\x01\x00\x07\x2b\x65\ \x00\x00\x02\x8e\x00\x01\x00\x00\x00\x01\x00\x05\xcc\x17\ \x00\x00\x02\xba\x00\x01\x00\x00\x00\x01\x00\x05\xd4\xf0\ " diff --git a/src/Mod/Draft/InitGui.py b/src/Mod/Draft/InitGui.py index 506904c2a..957d9ed07 100644 --- a/src/Mod/Draft/InitGui.py +++ b/src/Mod/Draft/InitGui.py @@ -191,7 +191,8 @@ class DraftWorkbench (Workbench): "Draft_Trimex", "Draft_Upgrade", "Draft_Downgrade", "Draft_Scale", "Draft_Drawing","Draft_Edit","Draft_WireToBSpline","Draft_AddPoint", "Draft_DelPoint","Draft_Shape2DView","Draft_Draft2Sketch","Draft_Array"] - self.treecmdList = ["Draft_ApplyStyle","Draft_ToggleDisplayMode","Draft_AddToGroup","Draft_SelectGroup","Draft_SelectPlane"] + self.treecmdList = ["Draft_ApplyStyle","Draft_ToggleDisplayMode","Draft_AddToGroup", + "Draft_SelectGroup","Draft_SelectPlane","Draft_ToggleSnap"] 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) diff --git a/src/Mod/Draft/Resources/Draft.qrc b/src/Mod/Draft/Resources/Draft.qrc index e63be2d71..6823b6747 100644 --- a/src/Mod/Draft/Resources/Draft.qrc +++ b/src/Mod/Draft/Resources/Draft.qrc @@ -39,6 +39,7 @@ icons/Draft_Cursor.svg icons/Draft_Dot.svg icons/Draft_Point.svg + icons/Draft_Snap.svg patterns/concrete.svg patterns/cross.svg patterns/line.svg diff --git a/src/Mod/Draft/Resources/icons/Draft_Snap.svg b/src/Mod/Draft/Resources/icons/Draft_Snap.svg new file mode 100644 index 000000000..2d491b621 --- /dev/null +++ b/src/Mod/Draft/Resources/icons/Draft_Snap.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp index 8f929e121..1c2584813 100644 --- a/src/Mod/Part/Gui/ViewProviderExt.cpp +++ b/src/Mod/Part/Gui/ViewProviderExt.cpp @@ -119,6 +119,7 @@ PROPERTY_SOURCE(PartGui::ViewProviderPartExt, Gui::ViewProviderGeometryObject) App::PropertyFloatConstraint::Constraints ViewProviderPartExt::sizeRange = {1.0f,64.0f,1.0f}; App::PropertyFloatConstraint::Constraints ViewProviderPartExt::tessRange = {0.0001f,100.0f,0.01f}; const char* ViewProviderPartExt::LightingEnums[]= {"One side","Two side",NULL}; +const char* ViewProviderPartExt::DrawStyleEnums[]= {"Solid","Dashed","Dotted","Dashdot",NULL}; ViewProviderPartExt::ViewProviderPartExt() { @@ -145,6 +146,8 @@ ViewProviderPartExt::ViewProviderPartExt() ADD_PROPERTY(ControlPoints,(false)); ADD_PROPERTY(Lighting,(1)); Lighting.setEnums(LightingEnums); + ADD_PROPERTY(DrawStyle,((long int)0)); + DrawStyle.setEnums(DrawStyleEnums); coords = new SoCoordinate3(); coords->ref(); @@ -185,6 +188,7 @@ ViewProviderPartExt::ViewProviderPartExt() pShapeHints->shapeType = SoShapeHints::UNKNOWN_SHAPE_TYPE; pShapeHints->ref(); Lighting.touch(); + DrawStyle.touch(); sPixmap = "Tree_Part"; loadParameter(); @@ -278,6 +282,16 @@ void ViewProviderPartExt::onChanged(const App::Property* prop) else pShapeHints->vertexOrdering = SoShapeHints::COUNTERCLOCKWISE; } + else if (prop == &DrawStyle) { + if (DrawStyle.getValue() == 0) + pcLineStyle->linePattern = 0xffff; + else if (DrawStyle.getValue() == 1) + pcLineStyle->linePattern = 0xf00f; + else if (DrawStyle.getValue() == 2) + pcLineStyle->linePattern = 0x0f0f; + else + pcLineStyle->linePattern = 0xff88; + } else { // if the object was invisible and has been changed, recreate the visual if (prop == &Visibility && Visibility.getValue() && VisualTouched) diff --git a/src/Mod/Part/Gui/ViewProviderExt.h b/src/Mod/Part/Gui/ViewProviderExt.h index 116997963..4e0839e7c 100644 --- a/src/Mod/Part/Gui/ViewProviderExt.h +++ b/src/Mod/Part/Gui/ViewProviderExt.h @@ -77,6 +77,7 @@ public: App::PropertyMaterial PointMaterial; App::PropertyBool ControlPoints; App::PropertyEnumeration Lighting; + App::PropertyEnumeration DrawStyle; App::PropertyColorList DiffuseColor; @@ -144,6 +145,7 @@ private: static App::PropertyFloatConstraint::Constraints sizeRange; static App::PropertyFloatConstraint::Constraints tessRange; static const char* LightingEnums[]; + static const char* DrawStyleEnums[]; }; }