Browse Source

Do not transform negative printhead min max values to positive while
displaying

CURA-6690

Nino van Hooff 5 years ago
parent
commit
17a832f52f

+ 2 - 2
plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml

@@ -245,7 +245,7 @@ Item
 
                 axisName: "x"
                 axisMinOrMax: "max"
-                allowNegativeValue: true
+                allowNegativeValue: false
 
                 forceUpdateOnChangeFunction: forceUpdateFunction
             }
@@ -266,7 +266,7 @@ Item
 
                 axisName: "y"
                 axisMinOrMax: "max"
-                allowNegativeValue: true
+                allowNegativeValue: false
 
                 forceUpdateOnChangeFunction: forceUpdateFunction
             }

+ 1 - 0
resources/qml/MachineSettings/NumericTextFieldWithUnit.qml

@@ -35,6 +35,7 @@ UM.TooltipArea
     property alias labelWidth: fieldLabel.width
     property alias unitText: unitLabel.text
 
+    property alias textField: textFieldWithUnit
     property alias valueText: textFieldWithUnit.text
     property alias valueValidator: textFieldWithUnit.validator
     property alias editingFinishedFunction: textFieldWithUnit.editingFinishedFunction

+ 10 - 8
resources/qml/MachineSettings/PrintHeadMinMaxTextField.qml

@@ -43,11 +43,14 @@ NumericTextFieldWithUnit
         {
             result = func(result, polygon[i][item])
         }
-        result = Math.abs(result)
         return result
     }
 
-    valueValidator: RegExpValidator { regExp: /[0-9\.,]{0,6}/ }
+    valueValidator: DoubleValidator {
+        bottom: allowNegativeValue ? Number.NEGATIVE_INFINITY : 0
+        decimals: 6
+        notation: DoubleValidator.StandardNotation
+    }
     valueText: axisValue
 
     editingFinishedFunction: function()
@@ -55,19 +58,18 @@ NumericTextFieldWithUnit
         var polygon = JSON.parse(propertyProvider.properties.value)
 
         var newValue = parseFloat(valueText.replace(',', '.'))
+
         if (axisName == "x")  // x min/x max
         {
             var start_i1 = (axisMinOrMax == "min") ? 0 : 2
-            var factor = (axisMinOrMax == "min") ? -1 : 1
-            polygon[start_i1][0] = newValue * factor
-            polygon[start_i1 + 1][0] = newValue * factor
+            polygon[start_i1][0] = newValue
+            polygon[start_i1 + 1][0] = newValue
         }
         else  // y min/y max
         {
             var start_i1 = (axisMinOrMax == "min") ? 1 : 0
-            var factor = (axisMinOrMax == "min") ? -1 : 1
-            polygon[start_i1][1] = newValue * factor
-            polygon[start_i1 + 2][1] = newValue * factor
+            polygon[start_i1][1] = newValue
+            polygon[start_i1 + 2][1] = newValue
         }
         var polygon_string = JSON.stringify(polygon)
         if (polygon_string != propertyProvider.properties.value)