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",
|
"snapRange","gridEvery","linewidth","UiMode","modconstrain","modsnap",
|
||||||
"modalt"]:
|
"modalt"]:
|
||||||
return "int"
|
return "int"
|
||||||
elif param in ["constructiongroupname","textfont","patternFile","template","maxSnapEdges"]:
|
elif param in ["constructiongroupname","textfont","patternFile","template","maxSnapEdges",
|
||||||
|
"snapModes"]:
|
||||||
return "string"
|
return "string"
|
||||||
elif param in ["textheight","tolerance","gridSpacing"]:
|
elif param in ["textheight","tolerance","gridSpacing"]:
|
||||||
return "float"
|
return "float"
|
||||||
|
|
|
@ -796,10 +796,27 @@ class Snapper:
|
||||||
b.setChecked(True)
|
b.setChecked(True)
|
||||||
self.toolbar.addWidget(b)
|
self.toolbar.addWidget(b)
|
||||||
self.toolbarButtons.append(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"):
|
if not Draft.getParam("showSnapBar"):
|
||||||
self.toolbar.hide()
|
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):
|
def toggle(self,checked=None):
|
||||||
|
"toggles the snap mode"
|
||||||
if hasattr(self,"toolbarButtons"):
|
if hasattr(self,"toolbarButtons"):
|
||||||
if checked == None:
|
if checked == None:
|
||||||
self.masterbutton.toggle()
|
self.masterbutton.toggle()
|
||||||
|
@ -813,6 +830,7 @@ class Snapper:
|
||||||
for i in range(len(self.toolbarButtons)):
|
for i in range(len(self.toolbarButtons)):
|
||||||
self.savedButtonStates.append(self.toolbarButtons[i].isChecked())
|
self.savedButtonStates.append(self.toolbarButtons[i].isChecked())
|
||||||
self.toolbarButtons[i].setEnabled(False)
|
self.toolbarButtons[i].setEnabled(False)
|
||||||
|
self.saveSnapModes()
|
||||||
|
|
||||||
def isEnabled(self,but):
|
def isEnabled(self,but):
|
||||||
"returns true if the given button is turned on"
|
"returns true if the given button is turned on"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user