Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/cura
diff options
context:
space:
mode:
authorJelle Spijker <spijker.jelle@gmail.com>2022-03-24 13:53:44 +0300
committerJelle Spijker <spijker.jelle@gmail.com>2022-03-24 13:53:44 +0300
commit3f8907d02a2d5f9b62567d18715d006e6b834885 (patch)
tree2da7ee3fe040d1af8d8de21ab68f052097721756 /cura
parent34d6a2ba29e9396cb3b9f569cfca7850ea717339 (diff)
parent0dda27094edfabf9e588a15c658a6b29b7115f9f (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-xcura/BuildVolume.py5
-rwxr-xr-xcura/CuraApplication.py9
-rw-r--r--cura/Machines/Models/QualitySettingsModel.py15
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