diff --git a/src/Mod/BIM/ArchRoof.py b/src/Mod/BIM/ArchRoof.py index 9dc07eb0d9..5620016608 100644 --- a/src/Mod/BIM/ArchRoof.py +++ b/src/Mod/BIM/ArchRoof.py @@ -1108,13 +1108,5 @@ if FreeCAD.GuiUp: def eventFilter(self, widget, event): if event.type() == QtCore.QEvent.FocusIn: - widget.setSelection(0, self.number_length(widget.text())) + widget.setSelection(0, FreeCADGui.draftToolBar.number_length(widget.text())) return super().eventFilter(widget, event) - - def number_length(self, str): - # Code taken from DraftGui.py. - nl = 0 - for char in str: - if char in "0123456789.,-": - nl += 1 - return nl diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index e32b000ba3..6546146f79 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -803,11 +803,12 @@ class DraftToolBar: self.xValue.setFocus() self.xValue.setSelection(0, self.number_length(self.xValue.text())) - def number_length(self, str): - nl = 0 - for char in str: - if char in "0123456789.,-": - nl += 1 + def number_length(self, st): + nl = len(st) + for char in st[::-1]: + if char in "0123456789.,-+/": + break + nl -= 1 return nl def extraLineUi(self):