mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
Duplicating a container no longer forces unique GUID
CURA-1969
This commit is contained in:
parent
0061e1329c
commit
37e4b9e940
2 changed files with 2 additions and 7 deletions
|
@ -21,13 +21,11 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
## Overridden from InstanceContainer
|
## Overridden from InstanceContainer
|
||||||
def duplicate(self, new_id, new_name = None):
|
def duplicate(self, new_id, new_name = None):
|
||||||
base_file = self.getMetaDataEntry("base_file", None)
|
base_file = self.getMetaDataEntry("base_file", None)
|
||||||
new_uuid = str(uuid.uuid4())
|
|
||||||
|
|
||||||
if base_file:
|
if base_file:
|
||||||
containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = base_file)
|
containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = base_file)
|
||||||
if containers:
|
if containers:
|
||||||
new_basefile = containers[0].duplicate(self.getMetaDataEntry("brand") + "_" + new_id, new_name)
|
new_basefile = containers[0].duplicate(self.getMetaDataEntry("brand") + "_" + new_id, new_name)
|
||||||
new_basefile.setMetaDataEntry("GUID", new_uuid)
|
|
||||||
base_file = new_basefile.id
|
base_file = new_basefile.id
|
||||||
UM.Settings.ContainerRegistry.getInstance().addContainer(new_basefile)
|
UM.Settings.ContainerRegistry.getInstance().addContainer(new_basefile)
|
||||||
|
|
||||||
|
@ -39,7 +37,6 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
new_id += "_" + variant_containers[0].getName().replace(" ", "_")
|
new_id += "_" + variant_containers[0].getName().replace(" ", "_")
|
||||||
|
|
||||||
result = super().duplicate(new_id, new_name)
|
result = super().duplicate(new_id, new_name)
|
||||||
result.setMetaDataEntry("GUID", new_uuid)
|
|
||||||
if result.getMetaDataEntry("base_file", None):
|
if result.getMetaDataEntry("base_file", None):
|
||||||
result.setMetaDataEntry("base_file", base_file)
|
result.setMetaDataEntry("base_file", base_file)
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -67,8 +67,6 @@ UM.ManagementPage
|
||||||
enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId
|
enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId
|
||||||
onClicked: Cura.MachineManager.setActiveMaterial(base.currentItem.id)
|
onClicked: Cura.MachineManager.setActiveMaterial(base.currentItem.id)
|
||||||
},
|
},
|
||||||
/*
|
|
||||||
// disabled because it has a lot of issues
|
|
||||||
Button
|
Button
|
||||||
{
|
{
|
||||||
text: catalog.i18nc("@action:button", "Duplicate");
|
text: catalog.i18nc("@action:button", "Duplicate");
|
||||||
|
@ -91,7 +89,7 @@ UM.ManagementPage
|
||||||
|
|
||||||
Cura.MachineManager.setActiveMaterial(material_id)
|
Cura.MachineManager.setActiveMaterial(material_id)
|
||||||
}
|
}
|
||||||
}, */
|
},
|
||||||
Button
|
Button
|
||||||
{
|
{
|
||||||
text: catalog.i18nc("@action:button", "Remove");
|
text: catalog.i18nc("@action:button", "Remove");
|
||||||
|
@ -188,7 +186,7 @@ UM.ManagementPage
|
||||||
object: base.currentItem != null ? base.currentItem.name : ""
|
object: base.currentItem != null ? base.currentItem.name : ""
|
||||||
onYes:
|
onYes:
|
||||||
{
|
{
|
||||||
var containers = Cura.ContainerManager.findInstanceContainers({"GUID": base.currentItem.metadata.GUID})
|
var containers = Cura.ContainerManager.findInstanceContainers({"id": base.currentItem.id})
|
||||||
for(var i in containers)
|
for(var i in containers)
|
||||||
{
|
{
|
||||||
Cura.ContainerManager.removeContainer(containers[i])
|
Cura.ContainerManager.removeContainer(containers[i])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue