diff options
author | Jelle Spijker <spijker.jelle@gmail.com> | 2022-03-24 13:53:44 +0300 |
---|---|---|
committer | Jelle Spijker <spijker.jelle@gmail.com> | 2022-03-24 13:53:44 +0300 |
commit | 3f8907d02a2d5f9b62567d18715d006e6b834885 (patch) | |
tree | 2da7ee3fe040d1af8d8de21ab68f052097721756 /cura | |
parent | 34d6a2ba29e9396cb3b9f569cfca7850ea717339 (diff) | |
parent | 0dda27094edfabf9e588a15c658a6b29b7115f9f (diff) |
Merge branch 'master' into CURA-8640_PyQt6
# Conflicts:
# cura/CuraApplication.py
# resources/qml/Preferences/Materials/MaterialsSyncDialog.qml
# resources/qml/Preferences/Materials/MaterialsView.qml
Diffstat (limited to 'cura')
-rwxr-xr-x | cura/BuildVolume.py | 5 | ||||
-rwxr-xr-x | cura/CuraApplication.py | 9 | ||||
-rw-r--r-- | cura/Machines/Models/QualitySettingsModel.py | 15 |
3 files changed, 21 insertions, 8 deletions
diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index dd798ac7e7..fe607915c1 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -1113,7 +1113,8 @@ class BuildVolume(SceneNode): # Use brim width if brim is enabled OR the prime tower has a brim. if adhesion_type == "brim": brim_line_count = skirt_brim_stack.getProperty("brim_line_count", "value") - bed_adhesion_size = skirt_brim_line_width * brim_line_count * initial_layer_line_width_factor / 100.0 + brim_gap = skirt_brim_stack.getProperty("brim_gap", "value") + bed_adhesion_size = brim_gap + skirt_brim_line_width * brim_line_count * initial_layer_line_width_factor / 100.0 for extruder_stack in used_extruders: bed_adhesion_size += extruder_stack.getProperty("skirt_brim_line_width", "value") * extruder_stack.getProperty("initial_layer_line_width_factor", "value") / 100.0 @@ -1214,7 +1215,7 @@ class BuildVolume(SceneNode): return max(min(value, max_value), min_value) _machine_settings = ["machine_width", "machine_depth", "machine_height", "machine_shape", "machine_center_is_zero"] - _skirt_settings = ["adhesion_type", "skirt_gap", "skirt_line_count", "skirt_brim_line_width", "brim_width", "brim_line_count", "raft_margin", "draft_shield_enabled", "draft_shield_dist", "initial_layer_line_width_factor"] + _skirt_settings = ["adhesion_type", "skirt_gap", "skirt_line_count", "skirt_brim_line_width", "brim_gap", "brim_width", "brim_line_count", "raft_margin", "draft_shield_enabled", "draft_shield_dist", "initial_layer_line_width_factor"] _raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_layers", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"] _extra_z_settings = ["retraction_hop_enabled", "retraction_hop"] _prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "prime_blob_enable"] diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 7183789de3..7d318d3bb5 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Ultimaker B.V. +# Copyright (c) 2022 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import enum import os @@ -43,7 +43,7 @@ from UM.Scene.Selection import Selection from UM.Scene.ToolHandle import ToolHandle from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.InstanceContainer import InstanceContainer -from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType +from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType, toIntConversion from UM.Settings.SettingFunction import SettingFunction from UM.Settings.Validator import Validator from UM.View.SelectionPass import SelectionPass # For typing. @@ -382,11 +382,12 @@ class CuraApplication(QtApplication): SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default=None, depends_on="value") - SettingDefinition.addSettingType("extruder", None, str, Validator) - SettingDefinition.addSettingType("optional_extruder", None, str, None) + SettingDefinition.addSettingType("extruder", None, toIntConversion, Validator) + SettingDefinition.addSettingType("optional_extruder", None, toIntConversion, None) SettingDefinition.addSettingType("[int]", None, str, None) + def _initializeSettingFunctions(self): """Adds custom property types, settings types, and extra operators (functions). diff --git a/cura/Machines/Models/QualitySettingsModel.py b/cura/Machines/Models/QualitySettingsModel.py index 0780a51357..f3808db1fb 100644 --- a/cura/Machines/Models/QualitySettingsModel.py +++ b/cura/Machines/Models/QualitySettingsModel.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Ultimaker B.V. +# Copyright (c) 2022 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from PyQt6.QtCore import pyqtProperty, pyqtSignal, Qt @@ -9,6 +9,7 @@ from UM import i18nCatalog from UM.Logger import Logger from UM.Qt.ListModel import ListModel from UM.Settings.ContainerRegistry import ContainerRegistry +from UM.Settings.SettingFunction import SettingFunction # To format setting functions differently. import os @@ -173,12 +174,22 @@ class QualitySettingsModel(ListModel): label = definition.label if self._i18n_catalog: label = self._i18n_catalog.i18nc(definition.key + " label", label) + if profile_value_source == "quality_changes": + label = f"<i>{label}</i>" # Make setting name italic if it's derived from the quality-changes profile. + + if isinstance(profile_value, SettingFunction): + if self._i18n_catalog: + profile_value_display = self._i18n_catalog.i18nc("@info:status", "Calculated") + else: + profile_value_display = "Calculated" + else: + profile_value_display = "" if profile_value is None else str(profile_value) items.append({ "key": definition.key, "label": label, "unit": definition.unit, - "profile_value": "" if profile_value is None else str(profile_value), # it is for display only + "profile_value": profile_value_display, "profile_value_source": profile_value_source, "user_value": "" if user_value is None else str(user_value), "category": current_category |