Fixes for material duplication and editing, small refactoring - CURA-4787

This commit is contained in:
ChrisTerBeke 2018-01-12 09:19:03 +01:00
parent 2ca6541712
commit 225a205d97
2 changed files with 25 additions and 36 deletions

View file

@ -72,7 +72,7 @@ TabView
width: scrollView.columnWidth; width: scrollView.columnWidth;
text: properties.name; text: properties.name;
readOnly: !base.editingEnabled; readOnly: !base.editingEnabled;
onEditingFinished: base.setName(properties.name, text) onEditingFinished: base.updateMaterialDisplayName(properties.name, text)
} }
Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Brand") } Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Brand") }
@ -82,11 +82,7 @@ TabView
width: scrollView.columnWidth; width: scrollView.columnWidth;
text: properties.supplier; text: properties.supplier;
readOnly: !base.editingEnabled; readOnly: !base.editingEnabled;
onEditingFinished: onEditingFinished: base.updateMaterialSupplier(properties.supplier, text)
{
base.setMetaDataEntry("brand", properties.supplier, text);
pane.objectList.currentIndex = pane.getIndexById(base.containerId);
}
} }
Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Material Type") } Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Material Type") }
@ -95,15 +91,10 @@ TabView
width: scrollView.columnWidth; width: scrollView.columnWidth;
text: properties.material_type; text: properties.material_type;
readOnly: !base.editingEnabled; readOnly: !base.editingEnabled;
onEditingFinished: onEditingFinished: base.updateMaterialType(properties.material_type, text)
{
base.setMetaDataEntry("material", properties.material_type, text);
pane.objectList.currentIndex = pane.getIndexById(base.containerId)
}
} }
Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Color") } Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Color") }
Row { Row {
width: scrollView.columnWidth width: scrollView.columnWidth
height: parent.rowHeight height: parent.rowHeight
@ -128,13 +119,6 @@ TabView
} }
} }
// make sure the color stays connected after changing the color
Binding {
target: colorSelector
property: "color"
value: properties.color_code
}
// pretty color name text field // pretty color name text field
ReadOnlyTextField { ReadOnlyTextField {
id: colorLabel; id: colorLabel;
@ -453,14 +437,28 @@ TabView
return 0; return 0;
} }
function setName(old_value, new_value) // update the display name of the material
{ function updateMaterialDisplayName (old_name, new_name) {
if(old_value != new_value)
{ // don't change when new name is the same
Cura.ContainerManager.setContainerName(base.containerId, new_value); if (old_name == new_name) {
// update material name label. not so pretty, but it works return
materialProperties.name = new_value;
pane.objectList.currentIndex = pane.getIndexById(base.containerId)
} }
// update the values
Cura.ContainerManager.setContainerName(base.containerId, new_name)
materialProperties.name = new_name
}
// update the type of the material
function updateMaterialType (old_type, new_type) {
base.setMetaDataEntry("material", old_type, new_type)
materialProperties.material_type = new_type
}
// update the supplier of the material
function updateMaterialSupplier (old_supplier, new_supplier) {
base.setMetaDataEntry("brand", old_supplier, new_supplier)
materialProperties.supplier = new_supplier
} }
} }

View file

@ -153,15 +153,6 @@ UM.ManagementPage
forceActiveFocus() forceActiveFocus()
Cura.ContainerManager.createMaterial() Cura.ContainerManager.createMaterial()
} }
Connections
{
target: base.objectList.model
onItemsChanged:
{
base.objectList.currentIndex = base.getIndexById(Cura.MachineManager.activeMaterialId);
}
}
}, },
// Duplicate button // Duplicate button