The stacks would get marked dirty for setting some metadata, but since thats
part of their construction, they aren't really dirty.
Previously, every single stack that was loaded would be marked as dirty, which causes unneeded
saving.
Extruders is dangerous because it's a dict of which the values are randomly ordered. The keys are often cast to int so you can't use anything else than integer numbers. And then they are often cast back so if you're not properly counting from 0 you're also in trouble. So please, only use the list. Eventually we can switch the data structure around.
CURA-6483
- Added a unique group_id (a GUID) to all created GlobalStack.
- Changed version upgrade to generate unique group_ids for
GlobalStacks.
- RemoveMachine() now uses group_ids to remove hidden GlobalStacks.
Conflicts:
cura/GlobalStacksModel.py -> CuraContainerRegistry being used in stead of ContainerRegistry, but imports were reordered.
plugins/CuraDrive/src/DrivePluginExtension.py -> Typing being solved in two ways.
After a lot of discussion and finding out what the hell was going on,
we figured out we made a pretty big derp by only setting a single connection_type
in the metadata of the machine. What it's actually doing is describing what connection types
have been configured (and not just randomly displaying whatever output device set the value last)
The extruder model gets updated way to much (for all material changes) but we only need the
number and names of the extruders, since the other menu's do this by themselves
CURA-5694
For a machine, if it has extruder-specific qualities, when we look up
extruder qualities, we should NOT fall back to use the global qualities.
CURA-5694
- Add convenience functions into GlobalStack
- Use "has_variants" and "has_materials" instead of
"has_variant_materials"
- Remove "has_variant_materials"
- For extruder qualities, skip global qualities if the machine has
variants or materials
The 'parent' parameter was unused, so I removed it. But I didn't remove all things that called it, apparently. I just removed some. I didn't try the stackbuilder.
Contributes to issue CURA-5330.