diff --git a/cura/Settings/ExtrudersModel.py b/cura/Settings/ExtrudersModel.py index cbe127d511..155f1a0df1 100644 --- a/cura/Settings/ExtrudersModel.py +++ b/cura/Settings/ExtrudersModel.py @@ -20,7 +20,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): NameRole = Qt.UserRole + 2 ## Colour of the material loaded in the extruder. - ColourRole = Qt.UserRole + 3 + ColorRole = Qt.UserRole + 3 ## Index of the extruder, which is also the value of the setting itself. # @@ -31,7 +31,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): ## List of colours to display if there is no material or the material has no known # colour. - defaultColours = ["#ffc924", "#86ec21", "#22eeee", "#245bff", "#9124ff", "#ff24c8"] + defaultColors = ["#ffc924", "#86ec21", "#22eeee", "#245bff", "#9124ff", "#ff24c8"] ## Initialises the extruders model, defining the roles and listening for # changes in the data. @@ -42,7 +42,7 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): self.addRoleName(self.IdRole, "id") self.addRoleName(self.NameRole, "name") - self.addRoleName(self.ColourRole, "colour") + self.addRoleName(self.ColorRole, "color") self.addRoleName(self.IndexRole, "index") self._add_global = False @@ -104,11 +104,11 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): if global_container_stack: if self._add_global: material = global_container_stack.findContainer({ "type": "material" }) - colour = material.getMetaDataEntry("color_code", default = self.defaultColours[0]) if material else self.defaultColours[0] + color = material.getMetaDataEntry("color_code", default = self.defaultColors[0]) if material else self.defaultColors[0] item = { "id": global_container_stack.getId(), "name": "Global", - "colour": colour, + "color": color, "index": -1 } self.appendItem(item) @@ -125,12 +125,12 @@ class ExtrudersModel(UM.Qt.ListModel.ListModel): position = int(position) except ValueError: #Not a proper int. position = -1 - default_colour = self.defaultColours[position] if position >= 0 and position < len(self.defaultColours) else self.defaultColours[0] - colour = material.getMetaDataEntry("color_code", default = default_colour) if material else default_colour + default_color = self.defaultColors[position] if position >= 0 and position < len(self.defaultColors) else self.defaultColors[0] + color = material.getMetaDataEntry("color_code", default = default_color) if material else default_color item = { #Construct an item with only the relevant information. "id": extruder.getId(), "name": extruder_name, - "colour": colour, + "color": color, "index": position } self.appendItem(item) diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index b033af49a8..cfe37c432f 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -47,9 +47,9 @@ Item { id: extruders_model onRowsInserted: extruderSelector.visible = extruders_model.rowCount() > 1 onModelReset: extruderSelector.visible = extruders_model.rowCount() > 1 - onModelChanged: extruderSelector.color = extruders_model.getItem(extruderSelector.currentIndex).colour + onModelChanged: extruderSelector.color = extruders_model.getItem(extruderSelector.currentIndex).color } - property string color: extruders_model.getItem(extruderSelector.currentIndex).colour + property string color: extruders_model.getItem(extruderSelector.currentIndex).color visible: extruders_model.rowCount() > 1 textRole: "name" width: UM.Theme.getSize("setting_control").width @@ -138,7 +138,7 @@ Item { if(extruders_model.getItem(i).id == UM.ActiveTool.properties.getValue("SelectedActiveExtruder")) { extruderSelector.currentIndex = i; - extruderSelector.color = extruders_model.getItem(i).colour; + extruderSelector.color = extruders_model.getItem(i).color; return; } } diff --git a/plugins/SolidView/SolidView.py b/plugins/SolidView/SolidView.py index d80f077416..9a4604193e 100644 --- a/plugins/SolidView/SolidView.py +++ b/plugins/SolidView/SolidView.py @@ -61,7 +61,7 @@ class SolidView(View): uniforms = {} if self._extruders_model.rowCount() == 0: material = Application.getInstance().getGlobalContainerStack().findContainer({ "type": "material" }) - material_color = material.getMetaDataEntry("color_code", default = self._extruders_model.defaultColours[0]) if material else self._extruders_model.defaultColours[0] + material_color = material.getMetaDataEntry("color_code", default = self._extruders_model.defaultColors[0]) if material else self._extruders_model.defaultColors[0] else: # Get color to render this mesh in from ExtrudersModel extruder_index = 0 @@ -69,7 +69,7 @@ class SolidView(View): if extruder_id: extruder_index = max(0, self._extruders_model.find("id", extruder_id)) - material_color = self._extruders_model.getItem(extruder_index)["colour"] + material_color = self._extruders_model.getItem(extruder_index)["color"] try: # Colors are passed as rgb hex strings (eg "#ffffff"), and the shader needs # an rgba list of floats (eg [1.0, 1.0, 1.0, 1.0]) diff --git a/resources/qml/MonitorButton.qml b/resources/qml/MonitorButton.qml index 5850989119..431a6999d8 100644 --- a/resources/qml/MonitorButton.qml +++ b/resources/qml/MonitorButton.qml @@ -22,8 +22,9 @@ Rectangle property bool showProgress: { // determine if we need to show the progress bar + percentage - if(!printerConnected || !printerAcceptsCommands) + if(!printerConnected || !printerAcceptsCommands) { return false; + } switch(Cura.MachineManager.printerOutputDevices[0].jobState) { @@ -36,7 +37,7 @@ Rectangle case "offline": case "abort": // note sure if this jobState actually occurs in the wild case "error": // after clicking abort you apparently get "error" - case "": // ready to print + case "": // ready to print or getting ready default: return false; } @@ -150,7 +151,7 @@ Rectangle visible: printerConnected enabled: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands && - (Cura.MachineManager.printerOutputDevices[0].jobState == "paused" || Cura.MachineManager.printerOutputDevices[0].jobState == "printing") + (["paused", "printing", "pre_print"].indexOf(Cura.MachineManager.printerOutputDevices[0].jobState) >= 0) height: UM.Theme.getSize("save_button_save_to_button").height anchors.top: progressBar.bottom @@ -225,33 +226,42 @@ Rectangle anchors.right: abortButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width - visible: printerConnected - enabled: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands && - (Cura.MachineManager.printerOutputDevices[0].jobState == "paused" || Cura.MachineManager.printerOutputDevices[0].jobState == "printing") - property bool userClicked: false + property string lastJobState: "" + + visible: printerConnected + enabled: (!userClicked) && printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands && + (["paused", "printing"].indexOf(Cura.MachineManager.printerOutputDevices[0].jobState) >= 0) text: { var result = ""; + var jobState = Cura.MachineManager.printerOutputDevices[0].jobState; if (!printerConnected) { return ""; } - if (Cura.MachineManager.printerOutputDevices[0].jobState == "paused") + if (lastJobState !== jobState) { + // the userClicked message must disappear when an "automated" jobState comes by + userClicked = false; + lastJobState = jobState; + } + + if (jobState == "paused") { if (userClicked) { - result = catalog.i18nc("@label:", "Resuming..."); + // User feedback for pretending we're already in "printing" mode. + result = catalog.i18nc("@label:", "Pause"); } else { result = catalog.i18nc("@label:", "Resume"); } } else { if (userClicked) { - result = catalog.i18nc("@label:", "Pausing..."); + // User feedback for pretending we're already in "pause" mode. + result = catalog.i18nc("@label:", "Resume"); } else { result = catalog.i18nc("@label:", "Pause"); } } - userClicked = false; return result; } onClicked: { diff --git a/resources/qml/Settings/SettingExtruder.qml b/resources/qml/Settings/SettingExtruder.qml index d88fc9c457..582eb08644 100644 --- a/resources/qml/Settings/SettingExtruder.qml +++ b/resources/qml/Settings/SettingExtruder.qml @@ -64,7 +64,7 @@ SettingItem anchors.leftMargin: UM.Theme.getSize("default_lining").width anchors.verticalCenter: parent.verticalCenter - color: extruders_model.getItem(control.currentIndex).colour + color: extruders_model.getItem(control.currentIndex).color border.width: UM.Theme.getSize("default_lining").width border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : UM.Theme.getColor("setting_control_border") } diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index 1f7fa00b54..b1cf45f6d3 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -138,7 +138,7 @@ Column anchors.leftMargin: (parent.height - height) / 2 anchors.verticalCenter: parent.verticalCenter - color: model.colour + color: model.color border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("toggle_checked") } diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index a45037ff56..1cc9dac6f9 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -373,7 +373,7 @@ Item for(var extruderNumber = 0; extruderNumber < extruders.model.rowCount() ; extruderNumber++) { extruderModel.append({ text: catalog.i18nc("@label", "Print using %1").arg(extruders.model.getItem(extruderNumber).name), - color: extruders.model.getItem(extruderNumber).colour + color: extruders.model.getItem(extruderNumber).color }) } }