Fixed duplicate material. CURA-1969

This commit is contained in:
Jack Ha 2016-08-29 15:28:09 +02:00
parent b2068ce99b
commit 5da6d70163

View file

@ -52,9 +52,9 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
def setReadOnly(self, read_only): def setReadOnly(self, read_only):
super().setReadOnly(read_only) super().setReadOnly(read_only)
basefile = self.getMetaDataEntry("base_file", self._id) #if basefile is none, this is a basefile. basefile = self.getMetaDataEntry("base_file", self._id) # if basefile is self.id, this is a basefile.
for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile): for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile):
container._read_only = read_only container._read_only = read_only # prevent loop instead of calling setReadOnly
## Overridden from InstanceContainer ## Overridden from InstanceContainer
def setMetaDataEntry(self, key, value): def setMetaDataEntry(self, key, value):
@ -63,7 +63,7 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
super().setMetaDataEntry(key, value) super().setMetaDataEntry(key, value)
basefile = self.getMetaDataEntry("base_file", self._id) #if basefile is none, this is a basefile. basefile = self.getMetaDataEntry("base_file", self._id) #if basefile is self.id, this is a basefile.
# Update all containers that share GUID and basefile # Update all containers that share GUID and basefile
for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile): for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile):
container.setMetaData(copy.deepcopy(self._metadata)) container.setMetaData(copy.deepcopy(self._metadata))
@ -89,15 +89,15 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
container.setName(new_name) container.setName(new_name)
## Overridden from InstanceContainer ## Overridden from InstanceContainer
def setProperty(self, key, property_name, property_value, container = None): # def setProperty(self, key, property_name, property_value, container = None):
if self.isReadOnly(): # if self.isReadOnly():
return # return
#
super().setProperty(key, property_name, property_value) # super().setProperty(key, property_name, property_value)
#
basefile = self.getMetaDataEntry("base_file", self._id) #if basefile is none, this is a basefile. # basefile = self.getMetaDataEntry("base_file", self._id) #if basefile is self.id, this is a basefile.
for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile): # for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(base_file = basefile):
container._dirty = True # container._dirty = True
## Overridden from InstanceContainer ## Overridden from InstanceContainer
def serialize(self): def serialize(self):