Merge pull request #18142 from Roy-043/Draft-fix-focus-behavior-of-radius-input

Draft: fix focus behavior of radius input
This commit is contained in:
Roy-043
2024-11-29 18:08:20 +01:00
committed by GitHub
3 changed files with 7 additions and 13 deletions

View File

@@ -758,8 +758,7 @@ class DraftToolBar:
self.z = 0
self.pointButton.show()
if rel: self.isRelative.show()
todo.delay(self.setFocus,None)
self.xValue.selectAll()
todo.delay(self.setFocus, None)
def labelUi(self,title=translate("draft","Label"),callback=None):
w = QtWidgets.QWidget()
@@ -787,8 +786,7 @@ class DraftToolBar:
self.labelRadius.setText(translate("draft","Distance"))
self.radiusValue.setToolTip(translate("draft", "Offset distance"))
self.radiusValue.setText(FreeCAD.Units.Quantity(0,FreeCAD.Units.Length).UserString)
todo.delay(self.radiusValue.setFocus,None)
self.radiusValue.selectAll()
todo.delay(self.setFocus, "radius")
def offUi(self):
todo.delay(FreeCADGui.Control.closeDialog,None)
@@ -805,8 +803,7 @@ class DraftToolBar:
self.labelRadius.setText(translate("draft","Distance"))
self.radiusValue.setToolTip(translate("draft", "Offset distance"))
self.radiusValue.setText(FreeCAD.Units.Quantity(0,FreeCAD.Units.Length).UserString)
todo.delay(self.radiusValue.setFocus,None)
self.radiusValue.selectAll()
todo.delay(self.setFocus, "radius")
def radiusUi(self):
self.hideXYZ()
@@ -815,8 +812,7 @@ class DraftToolBar:
self.labelRadius.show()
self.radiusValue.setText(FreeCAD.Units.Quantity(0,FreeCAD.Units.Length).UserString)
self.radiusValue.show()
todo.delay(self.radiusValue.setFocus,None)
self.radiusValue.selectAll()
todo.delay(self.setFocus, "radius")
def textUi(self):
self.hideXYZ()
@@ -1466,7 +1462,7 @@ class DraftToolBar:
print("Error: setRadiusValue called for number without Dimension")
t = display_external(val,None, None)
self.radiusValue.setText(t)
self.radiusValue.setFocus()
self.setFocus("radius")
def runAutoGroup(self):
FreeCADGui.runCommand("Draft_AutoGroup")

View File

@@ -212,8 +212,7 @@ class Offset(gui_base_original.Modifier):
self.constrainSeg = None
self.linetrack.off()
self.ui.radiusValue.setText("off")
self.ui.radiusValue.setFocus()
self.ui.radiusValue.selectAll()
self.ui.setFocus("radius")
if self.extendedCopy:
if not gui_tool_utils.hasMod(arg, gui_tool_utils.get_mod_alt_key()):
self.finish()

View File

@@ -238,8 +238,7 @@ class Trimex(gui_base_original.Modifier):
# situation. Setting 0 with no unit will show "0 ??" and not
# compute any value
self.ui.setRadiusValue(0)
self.ui.radiusValue.setFocus()
self.ui.radiusValue.selectAll()
self.ui.setFocus("radius")
gui_tool_utils.redraw3DView()
elif arg["Type"] == "SoMouseButtonEvent":