CURA-4708
- Create definition_changes container for the newly created
ExtruderStacks.
- Move extruder-specific definition_changes settings from the machine's
container to the extruder's container
This had the documentation that it should edit the profiles returned by LegacyProfileReader. Instead, just return correct profiles from the reader...
Contributes to issue CURA-4715.
When you import a multi-extrusion file into a single-extrusion printer, don't crash but simply ignore the additional stacks.
Contributes to issue CURA-4715.
CURA-4713
Now the machines are not all loaded in the beginning, so the old way of
adding extruder stacks for old single-extrusion machines don't work.
With this fix, it now happens whenever a global stack is added to the
registry.
CURA-4451
When importing a quality profile, it should not fail/succeed based on
which materials are activated at the moment. The imported quality
profile will be available when the user switches to a compatible
settings.
CURA-4151
The quality searching code in _configureProfile() for importing quality
profiles doesn't take into account base materials. Use the function in
QualityManager to solve this problem.
Recently we changed the empty containers such that there is only one empty container instance and it doesn't have the proper type any more. Instead we have properties on the stack that allows us to find the container with the proper type. It's faster and easier to use.
We've had a few bugs about this so I decided to update all of them to remove those for the future, except the ones in plugins/MachineSettingsAction/MachineSettingsAction.py because we have a pending pull request that fixes those. Fixing them would give merge conflicts for fieldOfView.
It doesn't really belong to CURA-4024 but I'm sticking it under that nomer anyway to get it reviewed.
CURA-3881
CuraContainerRegistry._activeMaterialId() can return an empty string
if there is no active material, and in this case, importing a custom
quality file will fail.
Rather than successfully importing the profile and then not showing
anything, we now display an error. Not the perfect solution but the
easiest for now.
Contributes to #1873
Except when we fill the instancecontainer via deserialising. Because then we want to retain the original version number.
Contributes to issue CURA-3427.
This breaks all profiles since they have the wrong setting version, of course. Have to change that in every instance container now...
Contributes to issue CURA-3427.
We need to make sure the extruder stacks get the proper next stack set,
even when converting them from ContainerStack. Since the conversion can
make no guarantees about the loading order, we need to add an extra step
to post-process the extruders.
Contributes to CURA-3497
Dependendant on the "type" metadata key, we create either an
ExtruderStack or a GlobalStack instance to replace the ContainerStack
instance. This should allow for transparent upgrades to the new classes.
Contributes to CURA-3497
The footprint of the function changed, but the call wasn't updated, apparently. I pulled new_name up from one of the if-statements since they need to be computed for both branches now (and they are the same).
Contributes to issue CURA-2785.