Merge branch '2.3' of github.com:Ultimaker/Cura

This commit is contained in:
Jaime van Kessel 2016-10-16 13:16:21 +02:00
commit 87fc0db543
8 changed files with 27 additions and 10 deletions

View file

@ -514,6 +514,17 @@ class MachineManager(QObject):
return quality.getId() return quality.getId()
return "" return ""
@pyqtProperty(str, notify=activeQualityChanged)
def globalQualityId(self):
if self._global_container_stack:
quality = self._global_container_stack.findContainer({"type": "quality_changes"})
if quality and quality != self._empty_quality_changes_container:
return quality.getId()
quality = self._global_container_stack.findContainer({"type": "quality"})
if quality:
return quality.getId()
return ""
@pyqtProperty(str, notify = activeQualityChanged) @pyqtProperty(str, notify = activeQualityChanged)
def activeQualityType(self): def activeQualityType(self):
if self._active_container_stack: if self._active_container_stack:

View file

@ -117,7 +117,7 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
quality_container = quality_container[0] quality_container = quality_container[0]
quality_type = quality_container.getMetaDataEntry("quality_type") quality_type = quality_container.getMetaDataEntry("quality_type")
definition_id = quality_container.getDefinition().getId() definition_id = UM.Application.getInstance().getMachineManager().getQualityDefinitionId(quality_container.getDefinition())
criteria = {"type": "quality", "quality_type": quality_type, "definition": definition_id} criteria = {"type": "quality", "quality_type": quality_type, "definition": definition_id}
@ -150,7 +150,9 @@ class QualitySettingsModel(UM.Qt.ListModel.ListModel):
if quality_changes_container: if quality_changes_container:
criteria = {"type": "quality_changes", "quality_type": quality_type, "definition": definition_id, "name": quality_changes_container.getName()} criteria = {"type": "quality_changes", "quality_type": quality_type, "definition": definition_id, "name": quality_changes_container.getName()}
if self._extruder_definition_id != "": if self._extruder_definition_id != "":
criteria["extruder"] = self._extruder_definition_id extruder_definitions = self._container_registry.findDefinitionContainers(id = self._extruder_definition_id)
if extruder_definitions:
criteria["extruder"] = UM.Application.getInstance().getMachineManager().getQualityDefinitionId(extruder_definitions[0])
criteria["name"] = quality_changes_container.getName() criteria["name"] = quality_changes_container.getName()
else: else:
criteria["extruder"] = None criteria["extruder"] = None

View file

@ -106,7 +106,7 @@ class GCodeWriter(MeshWriter):
serialized = flat_global_container.serialize() serialized = flat_global_container.serialize()
data = {"global_quality": serialized} data = {"global_quality": serialized}
for extruder in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): for extruder in sorted(ExtruderManager.getInstance().getMachineExtruders(stack.getId()), key = lambda k: k.getMetaDataEntry("position")):
extruder_quality = extruder.findContainer({"type": "quality_changes"}) extruder_quality = extruder.findContainer({"type": "quality_changes"})
if not extruder_quality: if not extruder_quality:
Logger.log("w", "No extruder quality profile found, not writing quality for extruder %s to file!", extruder.getId()) Logger.log("w", "No extruder quality profile found, not writing quality for extruder %s to file!", extruder.getId())

View file

@ -1171,7 +1171,7 @@
"description": "The temperature used for the heated build plate. Set at 0 to pre-heat the printer manually.", "description": "The temperature used for the heated build plate. Set at 0 to pre-heat the printer manually.",
"unit": "°C", "unit": "°C",
"type": "float", "type": "float",
"resolve": "sum(extruderValues('material_bed_temperature')) / len(extruderValues('material_bed_temperature'))", "resolve": "max(extruderValues('material_bed_temperature'))",
"default_value": 60, "default_value": 60,
"minimum_value": "-273.15", "minimum_value": "-273.15",
"minimum_value_warning": "0", "minimum_value_warning": "0",

View file

@ -42,7 +42,7 @@ Menu
{ {
text: model.name text: model.name
checkable: true checkable: true
checked: Cura.MachineManager.activeQualityId == model.id checked: Cura.MachineManager.globalQualityId == model.id
exclusiveGroup: group exclusiveGroup: group
onTriggered: Cura.MachineManager.setActiveQuality(model.id) onTriggered: Cura.MachineManager.setActiveQuality(model.id)
} }

View file

@ -161,6 +161,10 @@ Rectangle
visible: showProgress; visible: showProgress;
indeterminate: indeterminate:
{ {
if(!printerConnected)
{
return false;
}
switch(Cura.MachineManager.printerOutputDevices[0].jobState) switch(Cura.MachineManager.printerOutputDevices[0].jobState)
{ {
case "pausing": case "pausing":

View file

@ -38,8 +38,8 @@ Tab
anchors.leftMargin: UM.Theme.getSize("default_margin").width anchors.leftMargin: UM.Theme.getSize("default_margin").width
anchors.right: parent.right anchors.right: parent.right
text: styleData.value text: styleData.value
font.strikeout: styleData.column == 1 && quality == Cura.MachineManager.activeQualityId && setting.user_value != "" font.strikeout: styleData.column == 1 && quality == Cura.MachineManager.globalQualityId && setting.user_value != ""
font.italic: setting.profile_value_source == "quality_changes" || (quality == Cura.MachineManager.activeQualityId && setting.user_value != "") font.italic: setting.profile_value_source == "quality_changes" || (quality == Cura.MachineManager.globalQualityId && setting.user_value != "")
opacity: font.strikeout ? 0.5 : 1 opacity: font.strikeout ? 0.5 : 1
color: styleData.textColor color: styleData.textColor
elide: Text.ElideRight elide: Text.ElideRight
@ -65,7 +65,7 @@ Tab
{ {
role: "user_value" role: "user_value"
title: catalog.i18nc("@title:column", "Current"); title: catalog.i18nc("@title:column", "Current");
visible: quality == Cura.MachineManager.activeQualityId visible: quality == Cura.MachineManager.globalQualityId
width: parent.width * 0.18 width: parent.width * 0.18
delegate: itemDelegate delegate: itemDelegate
} }

View file

@ -208,7 +208,7 @@ UM.ManagementPage
anchors.right: parent.right anchors.right: parent.right
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
currentIndex: ExtruderManager.activeExtruderIndex + 1; currentIndex: ExtruderManager.extruderCount > 0 ? ExtruderManager.activeExtruderIndex + 1 : 0
ProfileTab ProfileTab
{ {