Merge branch 'CURA-6153_wrong_name_on_disconnect' of github.com:Ultimaker/Cura into 4.0

This commit is contained in:
Jaime van Kessel 2019-02-01 11:54:35 +01:00
commit 4aaeb8c2d5
9 changed files with 29 additions and 21 deletions

View file

@ -53,8 +53,7 @@ class GlobalStacksModel(ListModel):
if container_stack.getMetaDataEntry("hidden", False) in ["True", True]: if container_stack.getMetaDataEntry("hidden", False) in ["True", True]:
continue continue
# TODO: Remove reference to connect group name. items.append({"name": container_stack.getMetaDataEntry("group_name", container_stack.getName()),
items.append({"name": container_stack.getMetaDataEntry("connect_group_name", container_stack.getName()),
"id": container_stack.getId(), "id": container_stack.getId(),
"hasRemoteConnection": has_remote_connection, "hasRemoteConnection": has_remote_connection,
"metadata": container_stack.getMetaData().copy()}) "metadata": container_stack.getMetaData().copy()})

View file

@ -52,14 +52,14 @@ class MachineManagementModel(ListModel):
"um_network_key": "*", "um_network_key": "*",
"hidden": "False"} "hidden": "False"}
self._network_container_stacks = ContainerRegistry.getInstance().findContainerStacks(**network_filter_printers) 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: for container in self._network_container_stacks:
metadata = container.getMetaData().copy() metadata = container.getMetaData().copy()
if container.getBottom(): if container.getBottom():
metadata["definition_name"] = container.getBottom().getName() metadata["definition_name"] = container.getBottom().getName()
items.append({"name": metadata["connect_group_name"], items.append({"name": metadata["group_name"],
"id": container.getId(), "id": container.getId(),
"metadata": metadata, "metadata": metadata,
"group": catalog.i18nc("@info:title", "Network enabled printers")}) "group": catalog.i18nc("@info:title", "Network enabled printers")})

View file

@ -508,7 +508,7 @@ class MachineManager(QObject):
@pyqtProperty(str, notify = globalContainerChanged) @pyqtProperty(str, notify = globalContainerChanged)
def activeMachineName(self) -> str: def activeMachineName(self) -> str:
if self._global_container_stack: 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 "" return ""
@pyqtProperty(str, notify = globalContainerChanged) @pyqtProperty(str, notify = globalContainerChanged)
@ -560,7 +560,7 @@ class MachineManager(QObject):
@pyqtProperty(str, notify = printerConnectedStatusChanged) @pyqtProperty(str, notify = printerConnectedStatusChanged)
def activeMachineNetworkGroupName(self) -> str: def activeMachineNetworkGroupName(self) -> str:
if self._global_container_stack: if self._global_container_stack:
return self._global_container_stack.getMetaDataEntry("connect_group_name", "") return self._global_container_stack.getMetaDataEntry("group_name", "")
return "" return ""
@pyqtProperty(QObject, notify = globalContainerChanged) @pyqtProperty(QObject, notify = globalContainerChanged)
@ -1352,7 +1352,7 @@ class MachineManager(QObject):
if not new_machine: if not new_machine:
return return
new_machine.setMetaDataEntry("um_network_key", self.activeMachineNetworkKey()) 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("hidden", False)
new_machine.setMetaDataEntry("connection_type", self._global_container_stack.getMetaDataEntry("connection_type")) new_machine.setMetaDataEntry("connection_type", self._global_container_stack.getMetaDataEntry("connection_type"))
else: else:
@ -1461,7 +1461,7 @@ class MachineManager(QObject):
metadata_filter = {"um_network_key": self.activeMachineNetworkKey()} metadata_filter = {"um_network_key": self.activeMachineNetworkKey()}
containers = CuraContainerRegistry.getInstance().findContainerStacks(type = "machine", **metadata_filter) containers = CuraContainerRegistry.getInstance().findContainerStacks(type = "machine", **metadata_filter)
for container in containers: 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 ## This method checks if there is an instance connected to the given network_key
def existNetworkInstances(self, network_key: str) -> bool: def existNetworkInstances(self, network_key: str) -> bool:

View file

@ -500,7 +500,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
is_printer_group = False is_printer_group = False
if machine_conflict: 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: if group_name is not None:
is_printer_group = True is_printer_group = True
machine_name = group_name machine_name = group_name

View file

@ -106,13 +106,13 @@ class DiscoverUM3Action(MachineAction):
global_container_stack = CuraApplication.getInstance().getGlobalContainerStack() global_container_stack = CuraApplication.getInstance().getGlobalContainerStack()
if global_container_stack: if global_container_stack:
meta_data = global_container_stack.getMetaData() meta_data = global_container_stack.getMetaData()
if "connect_group_name" in meta_data: if "group_name" in meta_data:
previous_connect_group_name = meta_data["connect_group_name"] previous_connect_group_name = meta_data["group_name"]
global_container_stack.setMetaDataEntry("connect_group_name", 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 # 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: 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 # 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) global_container_stack.setMetaDataEntry("hidden", False)

View file

@ -1,9 +1,12 @@
import configparser import configparser
from typing import Tuple, List, Set from typing import Tuple, List, Set, Dict
import io import io
from UM.VersionUpgrade import VersionUpgrade from UM.VersionUpgrade import VersionUpgrade
from cura.PrinterOutputDevice import ConnectionType from cura.PrinterOutputDevice import ConnectionType
deleted_settings = {"bridge_wall_max_overhang"} # type: Set[str] deleted_settings = {"bridge_wall_max_overhang"} # type: Set[str]
renamed_configurations = {"connect_group_name": "group_name"} # type: Dict[str, str]
class VersionUpgrade35to40(VersionUpgrade): class VersionUpgrade35to40(VersionUpgrade):
@ -20,10 +23,16 @@ class VersionUpgrade35to40(VersionUpgrade):
# Set the connection type if um_network_key or the octoprint key is set. # Set the connection type if um_network_key or the octoprint key is set.
parser["metadata"]["connection_type"] = str(ConnectionType.NetworkConnection.value) 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() result = io.StringIO()
parser.write(result) parser.write(result)
return [filename], [result.getvalue()] return [filename], [result.getvalue()]
pass
def getCfgVersion(self, serialised: str) -> int: def getCfgVersion(self, serialised: str) -> int:
parser = configparser.ConfigParser(interpolation = None) parser = configparser.ConfigParser(interpolation = None)
@ -65,4 +74,4 @@ class VersionUpgrade35to40(VersionUpgrade):
result = io.StringIO() result = io.StringIO()
parser.write(result) parser.write(result)
return [filename], [result.getvalue()] return [filename], [result.getvalue()]

View file

@ -14,9 +14,9 @@ Instantiator
{ {
property string connectGroupName: 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 "" return ""
} }

View file

@ -56,7 +56,7 @@ UM.ManagementPage
{ {
text: catalog.i18nc("@action:button", "Rename"); text: catalog.i18nc("@action:button", "Rename");
iconName: "edit-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(); onClicked: renameDialog.open();
} }
] ]

View file

@ -38,7 +38,7 @@ ListView
var result = Cura.MachineManager.activeMachineId == model.id var result = Cura.MachineManager.activeMachineId == model.id
if (Cura.MachineManager.activeMachineHasRemoteConnection) if (Cura.MachineManager.activeMachineHasRemoteConnection)
{ {
result |= Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"] result |= Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["group_name"]
} }
return result return result
} }