Conflicts:
plugins/VersionUpgrade/VersionUpgrade460to462/VersionUpgrade460to462.py -> On master we removed the getCfgVersion function, while we moved the entire plug-in to a different folder in 4.6.
resources/definitions/skriware_2.def.json -> On master we merged a PR that changes more or less all settings, while on 4.6 we doubled the maximum deviation.
The code was moved to uranium, so no need to test them in a plugin.
In some cases they were also testing a specific implementation artifact and not
actual expected behavior.
CURA-7388
Took me a while to see why Cura was confusing the extruder stacks. It worked fine during the actual upgrade itself. Then later after the start-up sequence it suddenly re-wrote them wrongly.
Why is there an ID field in here? Shouldn't it just take the file name as the ID? Stupid!
With this it's starting to look like something. It's no longer giving any corruption errors now with any of my test cases. However e1 is still being set to the definition of e3 for some reason.
Turns out that the parsers apparently refer to a lot of subobjects which are crucial here, and they don't implement the normal copy well. Deepcopy it is then.
Stupid stuff. All of these containers need to be copied. It's not possible to work this out for all materials properly, since we can't read into these materials what their GUIDs and material types are.
It's a LOT more work than I thought, because the new printer has 4 extruders instead of 2. That means that files have to be copied for the other two extruders. A big hassle.
Some plug-ins provide extra profiles and we don't want to check them or delete them regardless of what their content is.
Contributes to issue CURA-7024.
We use a set here because we want to remove the current version from it later on. However if we change the variable to contain a set instead of a list, MyPy will start complaining that we change the type.
Contributes to issue CURA-7024.
This searches for stacks that are hidden and removes them, and also removes any extruder stacks that depended on those hidden global stacks and any user and quality changes profiles referred to by those removed stacks.
Contributes to issue CURA-7024.
This setting will not be automatically translated to support_wall_thickness if it's overwritten, because that would require knowing the line width and we don't know that here. So it's hard to do.
Contributes to issue CURA-7077.
This way it's:
- documented at the top of the file to make it easier to find all the changes, and
- easier to extend the list of merged settings.
Contributes to issue CURA-7077.