The setting_version is translated from the version number. The setting_version number currently happens to be the same as the version number of XML but that won't always be the case so we introduce a translation-step as well.
Contributes to issue CURA-3427.
That density variable was never used. Hope this fixes some unaccounted-for bug.
Doesn't contribute to CURA-3427 but I'm listing it as if it does anyway.
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.
The cause for this change is that TPU says we want to print with brim but CPE wants to print with raft. In those cases the resolve function would choose the raft because that's safer. However if the default extruder happens to be the TPU one you then get a raft made of TPU which is flexible. That defeats the purpose of the raft, and causes the raft to warp, clog on the nozzle, destroy the world, etc. So there, I saved the world once more.
Just a mistake that I saw because my IDE warned me about this. If a variant in Cura 2.3 has no general/name keyword, then it would break here. Now it doesn't break any more and gives a nonsensical name.
Contributes to issue CURA-3427.
We now have a (format) version and a setting version. Ideally we'd like major-minor version numbers in our profiles. However, introducing major-minor version numbers requires substantial changes to the version upgrade manager to compare version numbers, find a path towards the current version, or even keeping track of the current version. Therefore we just collapse the two version numbers into one: Multiply the major version number by a million and you'll never exceed it in the minor versioning. The only problem is that we now have to update the versioning for all of our three upgrade plug-ins, because they all need to know locally how to find the version number of their file types (because the upgrade manager has no knowledge of the file types) and they have no access to each other because a plug-in may be disabled.
Contributes to issue CURA-3427.
CURA-3755
The Timer delay is not reliable for updating the extruder Tabs.
So we now rely on the modelChanged signal of the ExtrudersModel
to do the update.
it shouldn't have a child setting because that child is not the underlying setting used by the engine.
Parent settings are frontend-only settings which are merely used to let the user edit multiple leaf settings at once.