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 @@
+
+
+
+
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[];
};
}