Draft: fix focus behavior if Length has default focus and axis constraint is used

Fixes #21774.

The X, Y or Z input should have priority is an axis constraint is used.
This commit is contained in:
Roy-043
2025-06-06 10:21:17 +02:00
committed by GitHub
parent e3a320fd2c
commit c9a434377a

View File

@@ -638,13 +638,7 @@ class DraftToolBar:
self.checkLocal()
def setFocus(self,f=None):
if params.get_param("focusOnLength") and self.lengthValue.isVisible():
self.lengthValue.setFocus()
self.lengthValue.setSelection(0,self.number_length(self.lengthValue.text()))
elif self.angleLock.isVisible() and self.angleLock.isChecked():
self.lengthValue.setFocus()
self.lengthValue.setSelection(0,self.number_length(self.lengthValue.text()))
elif (f is None) or (f == "x"):
if f == "x":
self.xValue.setFocus()
self.xValue.setSelection(0,self.number_length(self.xValue.text()))
elif f == "y":
@@ -656,6 +650,16 @@ class DraftToolBar:
elif f == "radius":
self.radiusValue.setFocus()
self.radiusValue.setSelection(0,self.number_length(self.radiusValue.text()))
elif params.get_param("focusOnLength") and self.lengthValue.isVisible():
self.lengthValue.setFocus()
self.lengthValue.setSelection(0,self.number_length(self.lengthValue.text()))
elif self.angleLock.isVisible() and self.angleLock.isChecked():
self.lengthValue.setFocus()
self.lengthValue.setSelection(0,self.number_length(self.lengthValue.text()))
else:
# f is None
self.xValue.setFocus()
self.xValue.setSelection(0,self.number_length(self.xValue.text()))
def number_length(self, str):
nl = 0
@@ -1298,7 +1302,7 @@ class DraftToolBar:
self.yValue.setEnabled(False)
self.zValue.setEnabled(False)
self.angleValue.setEnabled(False)
self.setFocus()
self.setFocus("x")
elif (mask == "y") or (self.mask == "y"):
self.xValue.setEnabled(False)
self.yValue.setEnabled(True)