mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 23:46:22 -06:00
Show color + material in menus and Materials page
CURA-2108
This commit is contained in:
parent
cb6353ba2a
commit
3671d241d5
2 changed files with 12 additions and 21 deletions
|
@ -56,14 +56,14 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
|
|
||||||
super().setMetaDataEntry(key, value)
|
super().setMetaDataEntry(key, value)
|
||||||
|
|
||||||
if key == "material":
|
if key == "material" or key == "color_name":
|
||||||
self.setName(value)
|
self.setName(self._profile_name(self.getMetaDataEntry("material"), self.getMetaDataEntry("color_name")))
|
||||||
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 none, 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(GUID = self.getMetaDataEntry("GUID"), base_file = basefile):
|
for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(GUID = self.getMetaDataEntry("GUID"), base_file = basefile):
|
||||||
container.setMetaData(copy.deepcopy(self._metadata))
|
container.setMetaData(copy.deepcopy(self._metadata))
|
||||||
if key == "material":
|
if key == "material" or key == "color_name":
|
||||||
container.setName(value)
|
container.setName(self.getName())
|
||||||
|
|
||||||
## 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):
|
||||||
|
@ -236,7 +236,7 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
material = entry.find("./um:material", self.__namespaces)
|
material = entry.find("./um:material", self.__namespaces)
|
||||||
color = entry.find("./um:color", self.__namespaces)
|
color = entry.find("./um:color", self.__namespaces)
|
||||||
|
|
||||||
self.setName(material.text)
|
self.setName(self._profile_name(material.text, color.text))
|
||||||
|
|
||||||
self.addMetaDataEntry("brand", brand.text)
|
self.addMetaDataEntry("brand", brand.text)
|
||||||
self.addMetaDataEntry("material", material.text)
|
self.addMetaDataEntry("material", material.text)
|
||||||
|
@ -368,6 +368,12 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
builder.data(str(instance.value))
|
builder.data(str(instance.value))
|
||||||
builder.end("setting")
|
builder.end("setting")
|
||||||
|
|
||||||
|
def _profile_name(self, material_name, color_name):
|
||||||
|
if color_name != "Generic":
|
||||||
|
return "%s %s" % (color_name, material_name)
|
||||||
|
else:
|
||||||
|
return material_name
|
||||||
|
|
||||||
# Map XML file setting names to internal names
|
# Map XML file setting names to internal names
|
||||||
__material_property_setting_map = {
|
__material_property_setting_map = {
|
||||||
"print temperature": "material_print_temperature",
|
"print temperature": "material_print_temperature",
|
||||||
|
|
|
@ -36,22 +36,7 @@ Menu
|
||||||
}
|
}
|
||||||
MenuItem
|
MenuItem
|
||||||
{
|
{
|
||||||
text:
|
text: model.name
|
||||||
{
|
|
||||||
var result = model.name
|
|
||||||
|
|
||||||
if(model.metadata.brand != undefined && model.metadata.brand != "Generic")
|
|
||||||
{
|
|
||||||
result = model.metadata.brand + " " + result
|
|
||||||
}
|
|
||||||
|
|
||||||
if(model.metadata.color_name != undefined && model.metadata.color_name != "Generic")
|
|
||||||
{
|
|
||||||
result = result + " (%1)".arg(model.metadata.color_name)
|
|
||||||
}
|
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
checkable: true;
|
checkable: true;
|
||||||
checked: model.id == Cura.MachineManager.activeMaterialId;
|
checked: model.id == Cura.MachineManager.activeMaterialId;
|
||||||
exclusiveGroup: group;
|
exclusiveGroup: group;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue