From f057c9a7dfaa908100db71eb1b577ceca083b5fc Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 15 Jan 2019 17:15:12 +0100 Subject: [PATCH] Prevent spurious updates to 'onPreferenceChanged's if the preference doesn't match. --- plugins/SimulationView/SimulationViewMainComponent.qml | 5 +++++ plugins/SimulationView/SimulationViewMenuComponent.qml | 5 +++++ resources/qml/ActionPanel/SliceProcessWidget.qml | 5 +++++ resources/qml/Preferences/GeneralPage.qml | 5 +++++ .../qml/Preferences/Materials/MaterialsBrandSection.qml | 5 +++++ resources/qml/Preferences/Materials/MaterialsTypeSection.qml | 5 +++++ .../qml/PrintSetupSelector/PrintSetupSelectorContents.qml | 5 +++++ 7 files changed, 35 insertions(+) diff --git a/plugins/SimulationView/SimulationViewMainComponent.qml b/plugins/SimulationView/SimulationViewMainComponent.qml index 16b049c921..58901652d3 100644 --- a/plugins/SimulationView/SimulationViewMainComponent.qml +++ b/plugins/SimulationView/SimulationViewMainComponent.qml @@ -71,6 +71,11 @@ Item target: UM.Preferences onPreferenceChanged: { + if (preference !== "view/only_show_top_layers" && preference !== "view/top_layer_count" && ! preference.match("layerview/")) + { + return; + } + playButton.pauseSimulation() } } diff --git a/plugins/SimulationView/SimulationViewMenuComponent.qml b/plugins/SimulationView/SimulationViewMenuComponent.qml index 4c952d4c43..957d8170cf 100644 --- a/plugins/SimulationView/SimulationViewMenuComponent.qml +++ b/plugins/SimulationView/SimulationViewMenuComponent.qml @@ -22,6 +22,11 @@ Cura.ExpandableComponent target: UM.Preferences onPreferenceChanged: { + if (preference !== "view/only_show_top_layers" && preference !== "view/top_layer_count" && ! preference.match("layerview/")) + { + return; + } + layerTypeCombobox.currentIndex = UM.SimulationView.compatibilityMode ? 1 : UM.Preferences.getValue("layerview/layer_view_type") layerTypeCombobox.updateLegends(layerTypeCombobox.currentIndex) viewSettings.extruder_opacities = UM.Preferences.getValue("layerview/extruder_opacities").split("|") diff --git a/resources/qml/ActionPanel/SliceProcessWidget.qml b/resources/qml/ActionPanel/SliceProcessWidget.qml index 08966ce82c..21d6fac2d8 100644 --- a/resources/qml/ActionPanel/SliceProcessWidget.qml +++ b/resources/qml/ActionPanel/SliceProcessWidget.qml @@ -142,6 +142,11 @@ Column target: UM.Preferences onPreferenceChanged: { + if (preference !== "general/auto_slice") + { + return; + } + var autoSlice = UM.Preferences.getValue("general/auto_slice") if(prepareButtons.autoSlice != autoSlice) { diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 5ff5f567ea..0dd6c6313a 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -746,6 +746,11 @@ UM.PreferencesPage target: UM.Preferences onPreferenceChanged: { + if (preference !== "info/send_slice_info") + { + return; + } + sendDataCheckbox.checked = boolCheck(UM.Preferences.getValue("info/send_slice_info")) } } diff --git a/resources/qml/Preferences/Materials/MaterialsBrandSection.qml b/resources/qml/Preferences/Materials/MaterialsBrandSection.qml index c976233805..8db8e99d44 100644 --- a/resources/qml/Preferences/Materials/MaterialsBrandSection.qml +++ b/resources/qml/Preferences/Materials/MaterialsBrandSection.qml @@ -139,6 +139,11 @@ Item target: UM.Preferences onPreferenceChanged: { + if (preference !== "cura/expanded_types" && preference !== "cura/expanded_brands") + { + return; + } + expanded = materialList.expandedBrands.indexOf(sectionName) > -1 } } diff --git a/resources/qml/Preferences/Materials/MaterialsTypeSection.qml b/resources/qml/Preferences/Materials/MaterialsTypeSection.qml index 8f34217cce..b5054591c0 100644 --- a/resources/qml/Preferences/Materials/MaterialsTypeSection.qml +++ b/resources/qml/Preferences/Materials/MaterialsTypeSection.qml @@ -130,6 +130,11 @@ Item target: UM.Preferences onPreferenceChanged: { + if (preference !== "cura/expanded_types" && preference !== "cura/expanded_brands") + { + return; + } + expanded = materialList.expandedTypes.indexOf(materialType.brand + "_" + materialType.name) > -1 } } diff --git a/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml b/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml index 7c82a7324d..e5de8bfb7d 100644 --- a/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml +++ b/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml @@ -77,6 +77,11 @@ Item target: UM.Preferences onPreferenceChanged: { + if (preference !== "view/settings_list_height" && preference !== "general/window_height" && preference !== "general/window_state") + { + return; + } + customPrintSetup.height = Math.min (