Draft: Added a grid toggle button to the snap toolbar

This commit is contained in:
Yorik van Havre 2015-12-29 12:10:22 -02:00
parent ed037c138e
commit d989acaae8
4 changed files with 144 additions and 1 deletions

View File

@ -1074,6 +1074,16 @@ class Snapper:
self.toolbar.setObjectName("Draft Snap")
self.toolbar.setWindowTitle(QtCore.QCoreApplication.translate("Workbench", "Draft Snap"))
self.toolbarButtons = []
# grid button
gridbutton = QtGui.QPushButton(None)
gridbutton.setIcon(QtGui.QIcon(":/icons/Draft_Grid.svg"))
gridbutton.setIconSize(QtCore.QSize(isize, isize))
gridbutton.setMaximumSize(QtCore.QSize(bsize,bsize))
gridbutton.setToolTip(QtCore.QCoreApplication.translate("Draft_ToggleGrid","Toggles the Draft grid on/off"))
gridbutton.setObjectName("GridButton")
QtCore.QObject.connect(gridbutton,QtCore.SIGNAL("clicked()"),self.toggleGrid)
self.toolbar.addWidget(gridbutton)
# master button
self.masterbutton = QtGui.QPushButton(None)
self.masterbutton.setIcon(QtGui.QIcon(":/icons/Snap_Lock.svg"))
self.masterbutton.setIconSize(QtCore.QSize(isize, isize))
@ -1123,6 +1133,9 @@ class Snapper:
c += 1
if not Draft.getParam("showSnapBar",True):
self.toolbar.hide()
def toggleGrid(self):
FreeCADGui.runCommand("Draft_ToggleGrid")
def saveSnapModes(self):
"saves the snap modes for next sessions"

View File

@ -4319,7 +4319,7 @@ class ToggleGrid():
"The Draft ToggleGrid command definition"
def GetResources(self):
return {'Pixmap' : 'Snap_Grid',
return {'Pixmap' : 'Draft_Grid',
'Accel' : "G,R",
'MenuText': QtCore.QT_TRANSLATE_NOOP("Draft_ToggleGrid", "Toggle Grid"),
'ToolTip' : QtCore.QT_TRANSLATE_NOOP("Draft_ToggleGrid", "Toggles the Draft grid on/off")}

View File

@ -67,6 +67,7 @@
<file>icons/Draft_Facebinder.svg</file>
<file>icons/Draft_FlipDimension.svg</file>
<file>icons/Draft_Mirror.svg</file>
<file>icons/Draft_Grid.svg</file>
<file>patterns/concrete.svg</file>
<file>patterns/cross.svg</file>
<file>patterns/line.svg</file>

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg2726"
sodipodi:version="0.32"
inkscape:version="0.91 r13725"
sodipodi:docname="Draft_Grid.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs2728">
<linearGradient
inkscape:collect="always"
id="linearGradient3144">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3146" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3148" />
</linearGradient>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective2734" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144"
id="radialGradient3850"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144-1"
id="radialGradient3850-4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<linearGradient
inkscape:collect="always"
id="linearGradient3144-1">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3146-9" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3148-8" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.7781746"
inkscape:cx="17.208101"
inkscape:cy="30.896655"
inkscape:current-layer="g4289"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1920"
inkscape:window-height="1053"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata2731">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
id="g4289"
transform="matrix(0.1621282,0,0,0.1621282,6.3605986,-66.108806)">
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.00766993;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 21.523034,442.71224 0,26.31194 -26.3002481,0 0,36.97011 26.3002481,0 0,89.42111 -26.3002481,0 0,36.97011 26.3002481,0 0,88.22254 -26.3002481,0 0,36.97011 26.3002481,0 0,26.30024 36.9701,0 0,-26.30024 88.651006,0 0,26.30024 36.9701,0 0,-26.30024 88.99267,0 0,26.30024 36.9701,0 0,-26.30024 26.30025,0 0,-36.97011 -26.30025,0 0,-88.22254 26.30025,0 0,-36.97011 -26.30025,0 0,-89.42111 26.30025,0 0,-36.97011 -26.30025,0 0,-26.31194 -36.9701,0 0,26.31194 -88.99267,0 0,-26.31194 -36.9701,0 0,26.31194 -88.651006,0 0,-26.31194 z m 36.9701,63.28205 88.651006,0 0,89.42111 -88.651006,0 z m 125.621106,0 88.99267,0 0,89.42111 -88.99267,0 z m -125.621106,126.39122 88.651006,0 0,88.22254 -88.651006,0 z m 125.621106,0 88.99267,0 0,88.22254 -88.99267,0 z"
id="rect4144-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cdcdcd;fill-opacity:1;fill-rule:nonzero;stroke:#373737;stroke-width:6.00766993;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 9.1871168,430.37632 0,26.31194 -26.3002478,0 0,36.9701 26.3002478,0 0,89.42112 -26.3002478,0 0,36.9701 26.3002478,0 0,88.22255 -26.3002478,0 0,36.9701 26.3002478,0 0,26.30025 36.9701012,0 0,-26.30025 88.651002,0 0,26.30025 36.9701,0 0,-26.30025 88.99267,0 0,26.30025 36.9701,0 0,-26.30025 26.30025,0 0,-36.9701 -26.30025,0 0,-88.22255 26.30025,0 0,-36.9701 -26.30025,0 0,-89.42112 26.30025,0 0,-36.9701 -26.30025,0 0,-26.31194 -36.9701,0 0,26.31194 -88.99267,0 0,-26.31194 -36.9701,0 0,26.31194 -88.651002,0 0,-26.31194 z m 36.9701012,63.28204 88.651002,0 0,89.42112 -88.651002,0 z m 125.621102,0 88.99267,0 0,89.42112 -88.99267,0 z m -125.621102,126.39122 88.651002,0 0,88.22255 -88.651002,0 z m 125.621102,0 88.99267,0 0,88.22255 -88.99267,0 z"
id="rect4144"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.4 KiB