Просмотр исходного кода

Fix printer type update in the main printer selection menu

CURA-6057
Lipu Fei 6 лет назад
Родитель
Сommit
0962481bc1

+ 5 - 1
resources/qml/PrinterSelector/MachineSelectorButton.qml

@@ -25,13 +25,17 @@ Button
     property var outputDevice: null
     property var printerTypesList: []
 
+    // Indicates if only to update the printer types list when this button is checked
+    property bool updatePrinterTypesOnlyWhenChecked: true
+
     property var updatePrinterTypesFunction: updatePrinterTypesList
     // This function converts the printer type string to another string.
     property var printerTypeLabelConversionFunction: Cura.MachineManager.getAbbreviatedMachineName
 
     function updatePrinterTypesList()
     {
-        printerTypesList = (outputDevice != null) ? outputDevice.uniquePrinterTypes : []
+        var to_update = (updatePrinterTypesOnlyWhenChecked && checked) || !updatePrinterTypesOnlyWhenChecked
+        printerTypesList = (to_update && outputDevice != null) ? outputDevice.uniquePrinterTypes : []
     }
 
     contentItem: Item

+ 2 - 0
resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml

@@ -97,6 +97,8 @@ Item
 
                     printerTypeLabelAutoFit: true
 
+                    // update printer types for all items in the list
+                    updatePrinterTypesOnlyWhenChecked: false
                     updatePrinterTypesFunction: updateMachineTypes
                     // show printer type as it is
                     printerTypeLabelConversionFunction: function(value) { return value }