Merge branch 'master' of github.com:Ultimaker/Cura into STAR-322_cloud-connection

This commit is contained in:
Daniel Schiavini 2018-12-11 12:39:02 +01:00
commit 073e8cd6dc
4 changed files with 57 additions and 8 deletions

View file

@ -61,7 +61,7 @@ UM.Dialog
var topLine var topLine
if (materialsAreKnown(printer.activePrintJob)) if (materialsAreKnown(printer.activePrintJob))
{ {
topLine = catalog.i18ncp("@label", "The assigned printer, %1, requires the following configuration change:", "The assigned printer, %1, requires the following configuration changes:").arg(printer.name) topLine = catalog.i18ncp("@label", "The assigned printer, %1, requires the following configuration change:", "The assigned printer, %1, requires the following configuration changes:", printer.activePrintJob.configurationChanges.length).arg(printer.name)
} }
else else
{ {
@ -89,8 +89,10 @@ UM.Dialog
default: default:
text = "unknown" text = "unknown"
} }
result += "<p><b>" + text + "</b></p>" result += "<p><b>" + text + "</b></p>\n\n"
} }
var bottomLine = catalog.i18nc("@label", "Override will use the specified settings with the existing printer configuration. This may result in a failed print.")
result += "<p>" + bottomLine + "</p>\n\n"
return result return result
} }
} }

View file

@ -551,7 +551,24 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
def _createMaterialOutputModel(self, material_data: Dict[str, Any]) -> "MaterialOutputModel": def _createMaterialOutputModel(self, material_data: Dict[str, Any]) -> "MaterialOutputModel":
material_manager = CuraApplication.getInstance().getMaterialManager() material_manager = CuraApplication.getInstance().getMaterialManager()
material_group_list = material_manager.getMaterialGroupListByGUID(material_data["guid"]) material_group_list = None
# Avoid crashing if there is no "guid" field in the metadata
material_guid = material_data.get("guid")
if material_guid:
material_group_list = material_manager.getMaterialGroupListByGUID(material_guid)
# This can happen if the connected machine has no material in one or more extruders (if GUID is empty), or the
# material is unknown to Cura, so we should return an "empty" or "unknown" material model.
if material_group_list is None:
material_name = i18n_catalog.i18nc("@label:material", "Empty") if len(material_data.get("guid", "")) == 0 \
else i18n_catalog.i18nc("@label:material", "Unknown")
return MaterialOutputModel(guid = material_data.get("guid", ""),
type = material_data.get("type", ""),
color = material_data.get("color", ""),
brand = material_data.get("brand", ""),
name = material_data.get("name", material_name)
)
# Sort the material groups by "is_read_only = True" first, and then the name alphabetically. # Sort the material groups by "is_read_only = True" first, and then the name alphabetically.
read_only_material_group_list = list(filter(lambda x: x.is_read_only, material_group_list)) read_only_material_group_list = list(filter(lambda x: x.is_read_only, material_group_list))
@ -577,9 +594,10 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
color = material_data["color"] color = material_data["color"]
brand = material_data["brand"] brand = material_data["brand"]
material_type = material_data["material"] material_type = material_data["material"]
name = "Empty" if material_data["material"] == "empty" else "Unknown" name = i18n_catalog.i18nc("@label:material", "Empty") if material_data["material"] == "empty" \
return MaterialOutputModel(guid=material_data["guid"], type=material_type, else i18n_catalog.i18nc("@label:material", "Unknown")
brand=brand, color=color, name=name) return MaterialOutputModel(guid = material_data["guid"], type = material_type,
brand = brand, color = color, name = name)
def _updatePrinter(self, printer: PrinterOutputModel, data: Dict[str, Any]) -> None: def _updatePrinter(self, printer: PrinterOutputModel, data: Dict[str, Any]) -> None:
# For some unknown reason the cluster wants UUID for everything, except for sending a job directly to a printer. # For some unknown reason the cluster wants UUID for everything, except for sending a job directly to a printer.

View file

@ -88,7 +88,23 @@ Item
{ {
target: background target: background
property: "color" property: "color"
value: enabled ? (expanded ? headerActiveColor : headerBackgroundColor) : UM.Theme.getColor("disabled") value:
{
return base.enabled ? (expanded ? headerActiveColor : headerBackgroundColor) : UM.Theme.getColor("disabled")
}
}
// The panel needs to close when it becomes disabled
Connections
{
target: base
onEnabledChanged:
{
if (!base.enabled && expanded)
{
toggleContent()
}
}
} }
implicitHeight: 100 * screenScaleFactor implicitHeight: 100 * screenScaleFactor

View file

@ -94,7 +94,20 @@ Item
{ {
target: background target: background
property: "color" property: "color"
value: enabled ? headerBackgroundColor : UM.Theme.getColor("disabled") value: base.enabled ? headerBackgroundColor : UM.Theme.getColor("disabled")
}
// The panel needs to close when it becomes disabled
Connections
{
target: base
onEnabledChanged:
{
if (!base.enabled && expanded)
{
toggleContent()
}
}
} }
implicitHeight: 100 * screenScaleFactor implicitHeight: 100 * screenScaleFactor