diff --git a/packaging/MacOS/cura_background_dmg.png b/packaging/MacOS/cura_background_dmg.png index 8f2fb50b05..a293d94bd2 100644 Binary files a/packaging/MacOS/cura_background_dmg.png and b/packaging/MacOS/cura_background_dmg.png differ diff --git a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py index 1bc1432b67..e89af5c70a 100644 --- a/plugins/3MFWriter/ThreeMFWorkspaceWriter.py +++ b/plugins/3MFWriter/ThreeMFWorkspaceWriter.py @@ -40,7 +40,9 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): # Indicate that the 3mf mesh writer should not close the archive just yet (we still need to add stuff to it). mesh_writer.setStoreArchive(True) - mesh_writer.write(stream, nodes, mode) + if not mesh_writer.write(stream, nodes, mode): + self.setInformation(mesh_writer.getInformation()) + return False archive = mesh_writer.getArchive() if archive is None: # This happens if there was no mesh data to write. @@ -98,7 +100,7 @@ class ThreeMFWorkspaceWriter(WorkspaceWriter): Logger.error("No permission to write workspace to this stream.") return False except EnvironmentError as e: - self.setInformation(catalog.i18nc("@error:zip", "The operating system does not allow saving a project file to this location or with this file name.")) + self.setInformation(catalog.i18nc("@error:zip", str(e))) Logger.error("EnvironmentError when writing workspace to this stream: {err}".format(err = str(e))) return False mesh_writer.setStoreArchive(False) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 3f6fef7201..1ecfd87aa8 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -237,9 +237,9 @@ class ThreeMFWriter(MeshWriter): archive.writestr(model_file, scene_string) archive.writestr(content_types_file, b' \n' + ET.tostring(content_types)) archive.writestr(relations_file, b' \n' + ET.tostring(relations_element)) - except Exception as e: + except Exception as error: Logger.logException("e", "Error writing zip file") - self.setInformation(catalog.i18nc("@error:zip", "Error writing 3mf file.")) + self.setInformation(str(error)) return False finally: if not self._store_archive: diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 40d1eb3b1c..680dd3b6f8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5514,7 +5514,9 @@ "unit": "mm", "type": "float", "default_value": 0.0, - "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", + "maximum_value": "extruderValue(support_extruder_nr, 'support_offset') if support_structure == 'normal' else None", + "minimum_value_warning": "-1 * machine_nozzle_size", + "maximum_value_warning": "10 * machine_nozzle_size", "limit_to_extruder": "support_interface_extruder_nr", "enabled": "support_interface_enable and (support_enable or support_meshes_present)", "settable_per_mesh": false, @@ -5529,7 +5531,9 @@ "type": "float", "default_value": 0.0, "value": "extruderValue(support_roof_extruder_nr, 'support_interface_offset')", - "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", + "maximum_value": "extruderValue(support_extruder_nr, 'support_offset') if support_structure == 'normal' else None", + "minimum_value_warning": "-1 * machine_nozzle_size", + "maximum_value_warning": "10 * machine_nozzle_size", "limit_to_extruder": "support_roof_extruder_nr", "enabled": "support_roof_enable and (support_enable or support_meshes_present)", "settable_per_mesh": false, @@ -5543,7 +5547,9 @@ "type": "float", "default_value": 0.0, "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_offset')", - "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", + "maximum_value": "extruderValue(support_extruder_nr, 'support_offset') if support_structure == 'normal' else None", + "minimum_value_warning": "-1 * machine_nozzle_size", + "maximum_value_warning": "10 * machine_nozzle_size", "limit_to_extruder": "support_bottom_extruder_nr", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)", "settable_per_mesh": false, diff --git a/resources/qml/Preferences/SettingVisibilityItem.qml b/resources/qml/Preferences/SettingVisibilityItem.qml index 8905c15124..07255306a5 100644 --- a/resources/qml/Preferences/SettingVisibilityItem.qml +++ b/resources/qml/Preferences/SettingVisibilityItem.qml @@ -20,6 +20,7 @@ Item width: childrenRect.width; height: childrenRect.height; id: checkboxTooltipArea + x: check.height UM.CheckBox { id: check @@ -40,7 +41,7 @@ Item { width: height height: check.height - anchors.left: checkboxTooltipArea.right + anchors.right: checkboxTooltipArea.left anchors.leftMargin: 2 * screenScaleFactor text: @@ -82,7 +83,7 @@ Item source: UM.Theme.getIcon("Information") - color: UM.Theme.getColor("primary_button_text") + color: UM.Theme.getColor("small_button_text") } visible: provider.properties.enabled == "False" diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index 934e19030d..c5fed795d5 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -40,7 +40,7 @@ Item Cura.TextField { id: filter - height: parent.height + implicitHeight: parent.height anchors.left: parent.left anchors.right: parent.right topPadding: height / 4 @@ -337,7 +337,7 @@ Item } function onShowTooltip(text) { base.showTooltip(delegate, Qt.point(-settingsView.x - UM.Theme.getSize("default_margin").width, 0), text) } function onHideTooltip() { base.hideTooltip() } - function onShowAllHiddenInheritedSettings() + function onShowAllHiddenInheritedSettings(category_id) { var children_with_override = Cura.SettingInheritanceManager.getChildrenKeysWithOverride(category_id) for(var i = 0; i < children_with_override.length; i++)