diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py index b00ff1a1f1..c09889c9c5 100755 --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -67,10 +67,6 @@ class GlobalStack(CuraContainerStack): extruder.id, self.id) return - if extruder_count and len(self._extruders) + 1 > extruder_count: - Logger.log("w", "Adding extruder {meta} to {id} but its extruder count is {count}".format(id = self.id, count = extruder_count, meta = str(extruder.getMetaData()))) - return - position = extruder.getMetaDataEntry("position") if position is None: Logger.log("w", "No position defined for extruder {extruder}, cannot add it to stack {stack}", extruder = extruder.id, stack = self.id) diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index a306dd1540..c30c6c8d6a 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2016 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Uranium is released under the terms of the AGPLv3 or higher. import QtQuick 2.2 @@ -38,6 +38,7 @@ Item { height: parent.height width: UM.Theme.getSize("setting").width + UM.Theme.getSize("setting").height style: UM.Theme.styles.scrollview + ListView { id: contents @@ -66,6 +67,7 @@ Item { property var definition: model property var settingDefinitionsModel: addedSettingsModel property var propertyProvider: provider + property var globalPropertyProvider: inheritStackProvider //Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989 //In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes, @@ -143,6 +145,16 @@ Item { storeIndex: 0 removeUnusedValue: false } + + // Specialty provider that only watches global_inherits (we cant filter on what property changed we get events + // so we bypass that to make a dedicated provider). + UM.SettingPropertyProvider + { + id: inheritStackProvider + containerStackId: Cura.MachineManager.activeMachineId + key: model.key + watchedProperties: [ "limit_to_extruder" ] + } } } } diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 8269b92ab5..30b664ed63 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -69,7 +69,15 @@ class SliceInfo(Extension): else: data["active_mode"] = "custom" - data["machine_settings_changed_by_user"] = global_container_stack.definitionChanges.getId() != "empty" + definition_changes = global_container_stack.definitionChanges + machine_settings_changed_by_user = False + if definition_changes.getId() != "empty": + # Now a definition_changes container will always be created for a stack, + # so we also need to check if there is any instance in the definition_changes container + if definition_changes.getAllKeys(): + machine_settings_changed_by_user = True + + data["machine_settings_changed_by_user"] = machine_settings_changed_by_user data["language"] = Preferences.getInstance().getValue("general/language") data["os"] = {"type": platform.system(), "version": platform.version()} diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py index c309142c8f..f016914b93 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py @@ -29,6 +29,7 @@ def getMetaData(): ("user", 2000001): ("user", 2000002, upgrade.upgradeOtherContainer), ("quality", 2000001): ("quality", 2000002, upgrade.upgradeOtherContainer), ("definition_changes", 2000001): ("definition_changes", 2000002, upgrade.upgradeOtherContainer), + ("variant", 2000000): ("variant", 2000002, upgrade.upgradeOtherContainer) }, "sources": { "machine_stack": { @@ -54,6 +55,10 @@ def getMetaData(): "definition_changes": { "get_version": upgrade.getCfgVersion, "location": {"./definition_changes"} + }, + "variant": { + "get_version": upgrade.getCfgVersion, + "location": {"./variants"} } } } diff --git a/resources/qml/WorkspaceSummaryDialog.qml b/resources/qml/WorkspaceSummaryDialog.qml index 5f8b7cce51..5596d9c735 100644 --- a/resources/qml/WorkspaceSummaryDialog.qml +++ b/resources/qml/WorkspaceSummaryDialog.qml @@ -230,11 +230,11 @@ UM.Dialog } } - CheckBox { id: dontShowAgainCheckbox - anchors.bottom: parent.bottom + anchors.bottom: cancel_button.top + anchors.bottomMargin: UM.Theme.getSize("default_margin").height anchors.left: parent.left text: catalog.i18nc("@action:label", "Don't show project summary on save again")