Conflicts:
cura/PlatformPhysics.py -> Removed shapely on master, while QTimer import got updated to Qt6.
plugins/Toolbox -> Entire folder is deleted in master, but it was updated to Qt6 here. This can all be removed.
This is currently only used in the pre-read of workspaces. In some cases, the project file may have a material that is not compatible with its own stack using the current rules in Cura, either because the rules changed or because the project file is wrongly crafted/edited. This causes Cura to say there are no quality profiles if the material profile is not compatible with the printer, preventing a crash due to the KeyError.
This is very annoying if switching profiles. This is not a critical message. The message should disappear after the default amount of time.
Discovered while working on CURA-8584.
The table name is used as the container type in the resulting metadata, so we need to use the container type string as table name correctly, or none of the profiles can be found.
Contributes to issue CURA-6096.
This mistake caused all of the container types to end up as either None or the actual instance itself, which was causing crashes.
Contributes to issue CURA-6096.
Needed to add a Filter possibility to facilitate that
Created a Simple UserString class which can be used as:
```py
sql_filter = SQLFilter(f"SELECT {{}} FROM table_name WHERE id = ?")
cursor.execute(sql_filter) # Will execute: SELECT * FROM table_name WHERE id = ?
cursor.execute(sql_filter["id", "name"]) # Will execute: SELECT id, name FROM table_name WHERE id = ?
```
Contributes to CURA-6096
This greatly reduced the amount of duplicate code in the DataBaseHandlers
Not sure how secure this is SQL injections. Need to check that and maybe
put in some guards. Using double underscores for now and only provide a
getter. But then again why bother with an SQL injection as
you can just as easily modify the Python code, and we still have the old
Containers to fallback to if the Database gets corrupted.
Contributes to CURA-6096
Revert "Change file extension to .umm"
This reverts commit 56db7f7144.
Revert "Re-enable compression"
This reverts commit 62bc9be22b.
Revert "Add documentation"
This reverts commit e9031f1aff.
Revert "Fix writing bytes to string-stream"
This reverts commit 66b2825a66.
Revert "Hide button entirely if no export is available"
This reverts commit ec727e1068.
Revert "Basic implementation of exporting all materials in a .zip archive"
This reverts commit bdcaef134f.
Revert "Implement default path for exporting all materials"
This reverts commit e66783664b.
Revert "Implement a sync button and file dialogue to export all materials"
This reverts commit abba3bdd10.
Revert "Add notion of whether printers support the material export archive"
This reverts commit f436cb8e7b.
We encountered an issue yesterday that we had to find in a log file when a user was importing a material. Nothing is shown in the log when importing a material, so it was impossible to find.
Now we'll log this action. It is a direct user action, so info is a good log level.
It's possible that a profile is no longer in the registry by the time it gets to that point in the list if this clean-up is triggered by the very action of deleting a profile.
Fixes Sentry issue CURA-1T5.