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.
We just track it via the preference value itself rather than duplicating that in any other data structure. It's simple enough.
Contributes to issue CURA-6776.
We can reuse our duplicateMaterial function again but in a simpler way. Also finding the preferred material is simpler with our container tree.
However there seems to be a problem with finding the preferred material; it's not finding generic_pla for UM3 and AA0.4 anyway, and then falls back on a random material. This needs to be fixed in the variant node class.
Contributes to issue CURA-6600.
Just like the QualityManagementModel, this class is intended to be used as proxy for the material management page in the preferences. I'm intending to move all relevant pyqtSlots from the material manager into this one. The advantage of this switch is that the material manager had no well-bounded scope and so tended to become a big mess of all sorts of functions. This one has a clear scope: serve as a proxy for the buttons you can press in the preferences screen for materials.
Contributes to issue CURA-6600.
Cast every sorting key to uppercase before doing this. Don't cast to lowercase or there will be problems with characters that don't have lowercase and with Turkish dotted i vs. undotted i.
Fixes#3460.