diff --git a/cura/ApplicationMetadata.py b/cura/ApplicationMetadata.py index 153674d4dd..faa3364e08 100644 --- a/cura/ApplicationMetadata.py +++ b/cura/ApplicationMetadata.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. # --------- -# Genearl constants used in Cura +# General constants used in Cura # --------- DEFAULT_CURA_APP_NAME = "cura" DEFAULT_CURA_DISPLAY_NAME = "Ultimaker Cura" diff --git a/cura/GlobalStacksModel.py b/cura/GlobalStacksModel.py index 196dcb65b6..32b0d9cead 100644 --- a/cura/GlobalStacksModel.py +++ b/cura/GlobalStacksModel.py @@ -52,8 +52,7 @@ class GlobalStacksModel(ListModel): if container_stack.getMetaDataEntry("hidden", False) in ["True", True]: continue - # TODO: Remove reference to connect group name. - items.append({"name": container_stack.getMetaDataEntry("connect_group_name", container_stack.getName()), + items.append({"name": container_stack.getMetaDataEntry("group_name", container_stack.getName()), "id": container_stack.getId(), "hasRemoteConnection": has_remote_connection, "metadata": container_stack.getMetaData().copy()}) diff --git a/cura/Machines/Models/MachineManagementModel.py b/cura/Machines/Models/MachineManagementModel.py index 7dc51f07f7..3297b8a467 100644 --- a/cura/Machines/Models/MachineManagementModel.py +++ b/cura/Machines/Models/MachineManagementModel.py @@ -52,14 +52,14 @@ class MachineManagementModel(ListModel): "um_network_key": "*", "hidden": "False"} self._network_container_stacks = ContainerRegistry.getInstance().findContainerStacks(**network_filter_printers) - self._network_container_stacks.sort(key = lambda i: i.getMetaDataEntry("connect_group_name")) + self._network_container_stacks.sort(key = lambda i: i.getMetaDataEntry("group_name", "")) for container in self._network_container_stacks: metadata = container.getMetaData().copy() if container.getBottom(): metadata["definition_name"] = container.getBottom().getName() - items.append({"name": metadata["connect_group_name"], + items.append({"name": metadata.get("group_name", ""), "id": container.getId(), "metadata": metadata, "group": catalog.i18nc("@info:title", "Network enabled printers")}) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 679fe71650..efab6dd160 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -501,7 +501,7 @@ class MachineManager(QObject): @pyqtProperty(str, notify = globalContainerChanged) def activeMachineName(self) -> str: if self._global_container_stack: - return self._global_container_stack.getName() + return self._global_container_stack.getMetaDataEntry("group_name", self._global_container_stack.getName()) return "" @pyqtProperty(str, notify = globalContainerChanged) @@ -553,7 +553,7 @@ class MachineManager(QObject): @pyqtProperty(str, notify = printerConnectedStatusChanged) def activeMachineNetworkGroupName(self) -> str: if self._global_container_stack: - return self._global_container_stack.getMetaDataEntry("connect_group_name", "") + return self._global_container_stack.getMetaDataEntry("group_name", "") return "" @pyqtProperty(QObject, notify = globalContainerChanged) @@ -1345,7 +1345,7 @@ class MachineManager(QObject): if not new_machine: return new_machine.setMetaDataEntry("um_network_key", self.activeMachineNetworkKey()) - new_machine.setMetaDataEntry("connect_group_name", self.activeMachineNetworkGroupName) + new_machine.setMetaDataEntry("group_name", self.activeMachineNetworkGroupName) new_machine.setMetaDataEntry("hidden", False) new_machine.setMetaDataEntry("connection_type", self._global_container_stack.getMetaDataEntry("connection_type")) else: @@ -1393,7 +1393,8 @@ class MachineManager(QObject): self._global_container_stack.extruders[position].setEnabled(False) need_to_show_message = True - disabled_used_extruder_position_set.add(int(position)) + # In message, we need to show Extruder 1, 2, 3 instead of 0, 1, 2 + disabled_used_extruder_position_set.add(int(position) + 1) else: variant_container_node = self._variant_manager.getVariantNode(self._global_container_stack.definition.getId(), @@ -1449,12 +1450,12 @@ class MachineManager(QObject): # then all the container stacks are updated, both the current and the hidden ones. def checkCorrectGroupName(self, device_id: str, group_name: str) -> None: if self._global_container_stack and device_id == self.activeMachineNetworkKey(): - # Check if the connect_group_name is correct. If not, update all the containers connected to the same printer + # Check if the group_name is correct. If not, update all the containers connected to the same printer if self.activeMachineNetworkGroupName != group_name: metadata_filter = {"um_network_key": self.activeMachineNetworkKey()} containers = CuraContainerRegistry.getInstance().findContainerStacks(type = "machine", **metadata_filter) for container in containers: - container.setMetaDataEntry("connect_group_name", group_name) + container.setMetaDataEntry("group_name", group_name) ## This method checks if there is an instance connected to the given network_key def existNetworkInstances(self, network_key: str) -> bool: diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 55296979b5..bf190f7e39 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -500,7 +500,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): is_printer_group = False if machine_conflict: - group_name = existing_global_stack.getMetaDataEntry("connect_group_name") + group_name = existing_global_stack.getMetaDataEntry("group_name") if group_name is not None: is_printer_group = True machine_name = group_name diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index e1924764f5..9d7d979e28 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -355,8 +355,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def sendJobToTop(self, print_job_uuid: str) -> None: # This function is part of the output device (and not of the printjob output model) as this type of operation # is a modification of the cluster queue and not of the actual job. - data = "{\"to_position\": 0}" - self.put("print_jobs/{uuid}/move_to_position".format(uuid = print_job_uuid), data, on_finished=None) + data = "{\"list\": \"queued\",\"to_position\": 0}" + self.post("print_jobs/{uuid}/action/move".format(uuid = print_job_uuid), data, on_finished=None) @pyqtSlot(str) def deleteJobFromQueue(self, print_job_uuid: str) -> None: diff --git a/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py index 7072aef4cc..ecc89b3948 100644 --- a/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py +++ b/plugins/UM3NetworkPrinting/src/DiscoverUM3Action.py @@ -106,13 +106,13 @@ class DiscoverUM3Action(MachineAction): global_container_stack = CuraApplication.getInstance().getGlobalContainerStack() if global_container_stack: meta_data = global_container_stack.getMetaData() - if "connect_group_name" in meta_data: - previous_connect_group_name = meta_data["connect_group_name"] - global_container_stack.setMetaDataEntry("connect_group_name", group_name) + if "group_name" in meta_data: + previous_connect_group_name = meta_data["group_name"] + global_container_stack.setMetaDataEntry("group_name", group_name) # Find all the places where there is the same group name and change it accordingly - CuraApplication.getInstance().getMachineManager().replaceContainersMetadata(key = "connect_group_name", value = previous_connect_group_name, new_value = group_name) + CuraApplication.getInstance().getMachineManager().replaceContainersMetadata(key = "group_name", value = previous_connect_group_name, new_value = group_name) else: - global_container_stack.setMetaDataEntry("connect_group_name", group_name) + global_container_stack.setMetaDataEntry("group_name", group_name) # Set the default value for "hidden", which is used when you have a group with multiple types of printers global_container_stack.setMetaDataEntry("hidden", False) diff --git a/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py b/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py index 74d2d87b3b..7a7670d64c 100644 --- a/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py +++ b/plugins/UM3NetworkPrinting/src/UM3OutputDevicePlugin.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2019 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import json from queue import Queue @@ -245,7 +245,7 @@ class UM3OutputDevicePlugin(OutputDevicePlugin): properties = device.getProperties().copy() if b"incomplete" in properties: del properties[b"incomplete"] - properties[b'cluster_size'] = len(cluster_printers_list) + properties[b"cluster_size"] = len(cluster_printers_list) self._onRemoveDevice(instance_name) self._onAddDevice(instance_name, address, properties) diff --git a/plugins/VersionUpgrade/VersionUpgrade35to40/VersionUpgrade35to40.py b/plugins/VersionUpgrade/VersionUpgrade35to40/VersionUpgrade35to40.py index 52cd7cf3cb..900c0a7396 100644 --- a/plugins/VersionUpgrade/VersionUpgrade35to40/VersionUpgrade35to40.py +++ b/plugins/VersionUpgrade/VersionUpgrade35to40/VersionUpgrade35to40.py @@ -1,9 +1,12 @@ import configparser -from typing import Tuple, List, Set +from typing import Tuple, List, Set, Dict import io + from UM.VersionUpgrade import VersionUpgrade from cura.PrinterOutputDevice import ConnectionType + deleted_settings = {"bridge_wall_max_overhang"} # type: Set[str] +renamed_configurations = {"connect_group_name": "group_name"} # type: Dict[str, str] class VersionUpgrade35to40(VersionUpgrade): @@ -20,10 +23,16 @@ class VersionUpgrade35to40(VersionUpgrade): # Set the connection type if um_network_key or the octoprint key is set. parser["metadata"]["connection_type"] = str(ConnectionType.NetworkConnection.value) + if "metadata" in parser: + for old_name, new_name in renamed_configurations.items(): + if old_name not in parser["metadata"]: + continue + parser["metadata"][new_name] = parser["metadata"][old_name] + del parser["metadata"][old_name] + result = io.StringIO() parser.write(result) return [filename], [result.getvalue()] - pass def getCfgVersion(self, serialised: str) -> int: parser = configparser.ConfigParser(interpolation = None) @@ -65,4 +74,4 @@ class VersionUpgrade35to40(VersionUpgrade): result = io.StringIO() parser.write(result) - return [filename], [result.getvalue()] \ No newline at end of file + return [filename], [result.getvalue()] diff --git a/resources/qml/Account/GeneralOperations.qml b/resources/qml/Account/GeneralOperations.qml index 73b8f0b9bc..f073f5616e 100644 --- a/resources/qml/Account/GeneralOperations.qml +++ b/resources/qml/Account/GeneralOperations.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Ultimaker B.V. +// Copyright (c) 2019 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.10 @@ -37,8 +37,8 @@ Column anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignHCenter renderType: Text.NativeRendering - text: catalog.i18nc("@label", "Enjoy a more powerful 3D printing experience.") - font: UM.Theme.getFont("default") + text: catalog.i18nc("@label", "The next generation 3D printing workflow") + font: UM.Theme.getFont("default_bold") color: UM.Theme.getColor("text") } @@ -48,12 +48,7 @@ Column anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignLeft renderType: Text.NativeRendering - text: { - var t = " - Send prints to your Ultimaker printer from anywhere\n" - + " - Access your Ultimaker Cura Settings worldwide\n" - + " - Enhance your workflow with advanced material profiles" - return catalog.i18nc("@label", t) - } + text: catalog.i18nc("@text", "- Send print jobs to your Ultimaker printers outside your local network\n- Store your Ultimaker Cura settings in the cloud for use anywhere\n- Get exclusive access to material profiles from leading brands") lineHeight: 1.4 font: UM.Theme.getFont("default") color: UM.Theme.getColor("text") diff --git a/resources/qml/Menus/NetworkPrinterMenu.qml b/resources/qml/Menus/NetworkPrinterMenu.qml index 41f3054e92..845159f3b2 100644 --- a/resources/qml/Menus/NetworkPrinterMenu.qml +++ b/resources/qml/Menus/NetworkPrinterMenu.qml @@ -14,9 +14,9 @@ Instantiator { property string connectGroupName: { - if("connect_group_name" in model.metadata) + if("group_name" in model.metadata) { - return model.metadata["connect_group_name"] + return model.metadata["group_name"] } return "" } diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml index f9c1a9b0a0..6f214a7efb 100644 --- a/resources/qml/Preferences/MachinesPage.qml +++ b/resources/qml/Preferences/MachinesPage.qml @@ -56,7 +56,7 @@ UM.ManagementPage { text: catalog.i18nc("@action:button", "Rename"); iconName: "edit-rename"; - enabled: base.currentItem != null && base.currentItem.metadata.connect_group_name == null + enabled: base.currentItem != null && base.currentItem.metadata.group_name == null onClicked: renameDialog.open(); } ] diff --git a/resources/qml/PrinterSelector/MachineSelectorList.qml b/resources/qml/PrinterSelector/MachineSelectorList.qml index 5fd3515cd3..49d9d31f2b 100644 --- a/resources/qml/PrinterSelector/MachineSelectorList.qml +++ b/resources/qml/PrinterSelector/MachineSelectorList.qml @@ -38,7 +38,7 @@ ListView var result = Cura.MachineManager.activeMachineId == model.id if (Cura.MachineManager.activeMachineHasRemoteConnection) { - result |= Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"] + result |= Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["group_name"] } return result } diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index 79ee929d6f..41033e7e75 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -6,6 +6,7 @@ "colors": { "main_background": [39, 44, 48, 255], + "message_background": [39, 44, 48, 255], "wide_lining": [31, 36, 39, 255], "thick_lining": [255, 255, 255, 30], "lining": [64, 69, 72, 255],