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.
In most languages this doesn't properly fit in the space we have for these buttons.
The same text in the window title and header was not changed. There we do have space for it. The button in the material manager was also not adjusted since it's different and already about as short as can be (but needs to refer to printers instead of materials due to the context of already being in the material manager).
Contributes to issue CURA-8753.
Conflicts:
cura/Machines/Models/MaterialManagementModel.py -> On Master we had temporarily reverted the action of this button because it became apparent that the sync wasn't going to be in 4.12. That revert is no longer necessary if this is merged.
It now creates a similar dialogue of what the old button did. The dialogue is no longer necessary in the materials page, so I've moved it to here specifically.
Contributes to issue CURA-8609.
Conflicts:
cura/Machines/Models/MaterialManagementModel.py -> Both master and my branch added an __init__ function. I merged the two __init__s to do both things that need to be done.
When the user previously opened the dialog and advanced through the pages, but closes the window, then they'll probably have to restart when they want to try it again.
Contributes to issue CURA-8609.
Rather than from the QML.
This allows creating this dialogue from a message button without needing to put it in the base application.
Contributes to issue CURA-8609.
When the MaterialManagementModel is initialized, it will check whether during this startup new materials were installed. If that's the case, then it will show the prompt message to sync those materials with the printers, which should initiate the sync materials flow.
CURA-8254
Instead of updating the storage path every time you add or remove a removable drive, we now update the storage path every time you press the button to sync. That way this detail has no impact on performance of other parts of Cura if they don't use this button. It also makes the code a bit simpler.
The only downside is that this FileDialog then contains state, instead of automatically syncing with the MaterialManagement property for its folder property. I see that as a lesser of two evils.
Contributes to issue CURA-8055.
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.
I had disabled that in an attempt to fix the bytes-to-str conversion issue, but it turned out to not be the cause. Compression is fine.
Contributes to issue CURA-8055.
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.
Converted doxygen style comments to reStructuredText style in the files
found in Cura/cura/Model directory recursively using the script
dox_2_rst.py (provided in the Uranium repo). Comments were manually
checked and changed if needed.
Note: dox_2rst.py struggles with decorated functions.