Draft snaps now remember their state across FreeCAD sessions
This commit is contained in:
parent
4d1df2bcba
commit
e84497ff08
|
@ -102,7 +102,8 @@ def getParamType(param):
|
|||
"snapRange","gridEvery","linewidth","UiMode","modconstrain","modsnap",
|
||||
"modalt"]:
|
||||
return "int"
|
||||
elif param in ["constructiongroupname","textfont","patternFile","template","maxSnapEdges"]:
|
||||
elif param in ["constructiongroupname","textfont","patternFile","template","maxSnapEdges",
|
||||
"snapModes"]:
|
||||
return "string"
|
||||
elif param in ["textheight","tolerance","gridSpacing"]:
|
||||
return "float"
|
||||
|
|
|
@ -796,10 +796,27 @@ class Snapper:
|
|||
b.setChecked(True)
|
||||
self.toolbar.addWidget(b)
|
||||
self.toolbarButtons.append(b)
|
||||
QtCore.QObject.connect(b,QtCore.SIGNAL("toggled(bool)"),self.saveSnapModes)
|
||||
# restoring states
|
||||
t = Draft.getParam("snapModes")
|
||||
if t:
|
||||
c = 0
|
||||
for b in [self.masterbutton]+self.toolbarButtons:
|
||||
if len(t) > c:
|
||||
b.setChecked(bool(int(t[c])))
|
||||
c += 1
|
||||
if not Draft.getParam("showSnapBar"):
|
||||
self.toolbar.hide()
|
||||
|
||||
def saveSnapModes(self):
|
||||
"saves the snap modes for next sessions"
|
||||
t = ''
|
||||
for b in [self.masterbutton]+self.toolbarButtons:
|
||||
t += str(int(b.isChecked()))
|
||||
Draft.setParam("snapModes",t)
|
||||
|
||||
def toggle(self,checked=None):
|
||||
"toggles the snap mode"
|
||||
if hasattr(self,"toolbarButtons"):
|
||||
if checked == None:
|
||||
self.masterbutton.toggle()
|
||||
|
@ -813,6 +830,7 @@ class Snapper:
|
|||
for i in range(len(self.toolbarButtons)):
|
||||
self.savedButtonStates.append(self.toolbarButtons[i].isChecked())
|
||||
self.toolbarButtons[i].setEnabled(False)
|
||||
self.saveSnapModes()
|
||||
|
||||
def isEnabled(self,but):
|
||||
"returns true if the given button is turned on"
|
||||
|
|
Loading…
Reference in New Issue
Block a user