Merge branch '2.3'

* 2.3:
  Use the machine/extruder ID as base for duplicated profile ID
  Fix "critical" error when starting with no active machine
This commit is contained in:
Arjen Hiemstra 2016-10-24 13:40:57 +02:00
commit 3d63df7471

View file

@ -650,7 +650,10 @@ class ContainerManager(QObject):
new_change_instances = []
for container in QualityManager.getInstance().findQualityChangesByName(quality_changes_name,
machine_definition):
new_unique_id = self._createUniqueId(container.getId(), base_name)
base_id = container.getMetaDataEntry("extruder")
if not base_id:
base_id = container.getDefinition().getId()
new_unique_id = self._createUniqueId(base_id, base_name)
new_container = container.duplicate(new_unique_id, base_name)
new_change_instances.append(new_container)
self._container_registry.addContainer(new_container)
@ -788,6 +791,7 @@ class ContainerManager(QObject):
# Create a new quality_changes container for the quality.
quality_changes = UM.Settings.InstanceContainer(self._createUniqueId(base_id, new_name))
print(quality_changes.getId())
quality_changes.setName(new_name)
quality_changes.addMetaDataEntry("type", "quality_changes")
quality_changes.addMetaDataEntry("quality_type", quality_container.getMetaDataEntry("quality_type"))