Some brim settings seemed to behave as if they where linked, when in fact for any extruder set to -1 the 'default extruder' was set by some hacky code that supposedly fixes a 'dissallowed area' issue, very likely also related to the skirt/brim settings. Since dissalowed area for skirt/brim will not be a thing anymore, at least in the front-end, due to CURA-9066 (the 'parent' jira ticket that was blocked by this bug); it was sinplest just to remove the hack altogether. (Otherwise we'd have to make an artificial distinction between -1 and None as it relates to 'Not Set/Used' versus 'Not Overridden', only to then force it back to -1 in situations that call for it -- like communicating to the engine.)
CURA-9553
Having a separate class for the AbstractMachine complicated things; it's behaviour was extremely similar to the GlobalStack so adding one more stack container type in addition to the many similar setting container types we already have adds complexity to the system. Having these different classes for machines and abstract machines also add complexity to the update script as the abstract machines were stored in a separate folder from the machine types.
Because of these reasons we decided to replace the AbstractMachine by a GlobalStack where the is_abstract_machine property metadata property is set to True.
CURA-9514, CURA-9277
Co-authored-by: joeydelarago <joeydelarago@gmail.com>
Revert "Change file extension to .umm"
This reverts commit 56db7f7144083df4bca77746d7ee30f2a54fda36.
Revert "Re-enable compression"
This reverts commit 62bc9be22bbc5595dbfce69893163c3a0ebc4415.
Revert "Add documentation"
This reverts commit e9031f1aff5d40f3c69ac625edf11963a3253eb8.
Revert "Fix writing bytes to string-stream"
This reverts commit 66b2825a667f9aa9618005d2a5875383a3658f4f.
Revert "Hide button entirely if no export is available"
This reverts commit ec727e1068c3ac2cab7f95fb88c5d4d101e28e17.
Revert "Basic implementation of exporting all materials in a .zip archive"
This reverts commit bdcaef134f556f455f352786123476ec40e3ae4c.
Revert "Implement default path for exporting all materials"
This reverts commit e66783664bf73dd9b1e3c6af6f01321763470d2e.
Revert "Implement a sync button and file dialogue to export all materials"
This reverts commit abba3bdd10a994a1b38bcb426a27ba379febeac7.
Revert "Add notion of whether printers support the material export archive"
This reverts commit f436cb8e7b879a8913b25f2a049413ec0721f1c5.
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