diff --git a/resources/qml/Preferences/Materials/MaterialsDetailsPanel.qml b/resources/qml/Preferences/Materials/MaterialsDetailsPanel.qml index eb4a63250f..b54af103fe 100644 --- a/resources/qml/Preferences/Materials/MaterialsDetailsPanel.qml +++ b/resources/qml/Preferences/Materials/MaterialsDetailsPanel.qml @@ -82,6 +82,7 @@ Item } editingEnabled: currentItem != null && !currentItem.is_read_only + onResetSelectedMaterial: base.resetExpandedActiveMaterial() properties: materialProperties containerId: currentItem != null ? currentItem.id : "" diff --git a/resources/qml/Preferences/Materials/MaterialsPage.qml b/resources/qml/Preferences/Materials/MaterialsPage.qml index ea24051e40..92c20d575f 100644 --- a/resources/qml/Preferences/Materials/MaterialsPage.qml +++ b/resources/qml/Preferences/Materials/MaterialsPage.qml @@ -41,8 +41,13 @@ Item name: "cura" } + function resetExpandedActiveMaterial() + { + materialListView.expandActiveMaterial(active_root_material_id) + } + // When loaded, try to select the active material in the tree - Component.onCompleted: materialListView.expandActiveMaterial(active_root_material_id) + Component.onCompleted: resetExpandedActiveMaterial() // Every time the selected item has changed, notify to the details panel onCurrentItemChanged: diff --git a/resources/qml/Preferences/Materials/MaterialsView.qml b/resources/qml/Preferences/Materials/MaterialsView.qml index ea0957fe3f..16e9ef9457 100644 --- a/resources/qml/Preferences/Materials/MaterialsView.qml +++ b/resources/qml/Preferences/Materials/MaterialsView.qml @@ -29,6 +29,8 @@ TabView property double spoolLength: calculateSpoolLength() property real costPerMeter: calculateCostPerMeter() + signal resetSelectedMaterial() + property bool reevaluateLinkedMaterials: false property string linkedMaterialNames: { @@ -111,6 +113,7 @@ TabView { base.setMetaDataEntry("approximate_diameter", old_approximate_diameter_value, getApproximateDiameter(new_diameter_value).toString()); base.setMetaDataEntry("properties/diameter", properties.diameter, new_diameter_value); + base.resetSelectedMaterial() } onNo: