mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 04:59:05 +08:00
Merge pull request #16711 from Ultimaker/CURA-10915_open_projects_anyway
Opening the value of setting only if they are not in missing packages
This commit is contained in:
commit
40602591d8
@ -1095,7 +1095,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
||||
if global_stack.getProperty(key, "settable_per_extruder"):
|
||||
values_to_set_for_extruders[key] = value
|
||||
else:
|
||||
global_stack.definitionChanges.setProperty(key, "value", value)
|
||||
if not self._settingIsFromMissingPackage(key, value):
|
||||
global_stack.definitionChanges.setProperty(key, "value", value)
|
||||
|
||||
for position, extruder_stack in extruder_stack_dict.items():
|
||||
if position not in self._machine_info.extruder_info_dict:
|
||||
@ -1109,7 +1110,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
||||
extruder_stack.definitionChanges.setProperty(key, "value", value)
|
||||
if parser is not None:
|
||||
for key, value in parser["values"].items():
|
||||
extruder_stack.definitionChanges.setProperty(key, "value", value)
|
||||
if not self._settingIsFromMissingPackage(key, value):
|
||||
extruder_stack.definitionChanges.setProperty(key, "value", value)
|
||||
|
||||
def _applyUserChanges(self, global_stack, extruder_stack_dict):
|
||||
values_to_set_for_extruder_0 = {}
|
||||
@ -1119,7 +1121,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
||||
if global_stack.getProperty(key, "settable_per_extruder"):
|
||||
values_to_set_for_extruder_0[key] = value
|
||||
else:
|
||||
global_stack.userChanges.setProperty(key, "value", value)
|
||||
if not self._settingIsFromMissingPackage(key, value):
|
||||
global_stack.userChanges.setProperty(key, "value", value)
|
||||
|
||||
for position, extruder_stack in extruder_stack_dict.items():
|
||||
if position not in self._machine_info.extruder_info_dict:
|
||||
@ -1133,7 +1136,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
||||
extruder_stack.userChanges.setProperty(key, "value", value)
|
||||
if parser is not None:
|
||||
for key, value in parser["values"].items():
|
||||
extruder_stack.userChanges.setProperty(key, "value", value)
|
||||
if not self._settingIsFromMissingPackage(key, value):
|
||||
extruder_stack.userChanges.setProperty(key, "value", value)
|
||||
|
||||
def _applyVariants(self, global_stack, extruder_stack_dict):
|
||||
machine_node = ContainerTree.getInstance().machines[global_stack.definition.getId()]
|
||||
@ -1208,6 +1212,15 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
||||
if key not in _ignored_machine_network_metadata:
|
||||
global_stack.setMetaDataEntry(key, value)
|
||||
|
||||
def _settingIsFromMissingPackage(self, key, value):
|
||||
# Check if the key and value pair is from the missing package
|
||||
for package in self._dialog.missingPackages:
|
||||
if value.startswith("PLUGIN::"):
|
||||
if (package['id'] + "@" + package['package_version']) in value:
|
||||
Logger.log("w", f"Ignoring {key} value {value} from missing package")
|
||||
return True
|
||||
return False
|
||||
|
||||
def _updateActiveMachine(self, global_stack):
|
||||
# Actually change the active machine.
|
||||
machine_manager = Application.getInstance().getMachineManager()
|
||||
@ -1327,3 +1340,4 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
||||
missing_packages.append(package)
|
||||
|
||||
return missing_packages
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user