These are for our testers to be able to test the new message types. Later they will be added to all messages that need them.
Contributes to issue CURA-7278.
Instead of re-uploading the mesh each time the range changes, handle the range in the shaders with the new draw-range parameters. This does however, mean the range has to be in vertices, not in elements. This necessitates some changes to the simulation-view, and some added bits deeper in the base code. Mainly, since each time the type of a line changes, there is an extra vertex, there needs to be a type-change count available to get from 'paths' to range indices.
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.
And show an error message to the user in that case.
This could happen if the user modified their installation or their resource folder.
Fixes Sentry issue CURA-2P2.
Now, when the size of the Cura window changes and the configurationSelector gets resized, instead of eliding the material text it will now change as follows:
* If it fits, display "Brand, Color, and Type" of material (e.g. Ultimaker Black PLA)
* If "Brand, Color, and Type" doesn't fit, change it to "Color and Type" of material (e.g. Black PLA)
* If "Color Type" doesn't fit either, display only the type (e.g. PLA)
* If "Type" doesn't fit, elide it
CURA-8013
We now allow the backup to fail gracefully when partial files
fail to be restored. But the user is not actively informed by
these failures. Leaving him/her unaware of the state of his
configuration folder.
This commit show's a message windows, listing the failed files.
Due to a string freeze at the moment we reuse the following i18n
message:
> The following error occurred while trying to restore a Cura backup:
followed by a list of files that fails to be restored.
Which is not ideal, but a sufficient warning in my opinion. At least
better then being completely uninformed.
Contributes to CURA-8313
Sometimes, while a backup is being restore, one of the files in the current config folder may be still in use. This means that once the backup tries to replace this file with the one in the backup, the entire backup restoration fails and half the configuration folder has been messed up.
To prevent that, we decided to ignore files that are currently in use while restoring a backup. This _may_ lead to a slightly wrong configuration (e.g. a plugin may not be restored properly), but it is an acceptable result, as the rest of the configuration folder is restored properly.
CURA-8313
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.
Turns out that when the KeychainDenied error is raised, it is being caught by the macOS keyring api and the non-macOS-specific KeyringLocked error is raised instead, so we need to catch this one.
CURA-8332
To prevent the UI from being frozen. This way, the user knows that something is happening in the background and Cura didn't just stop working.
CURA-8313
Before calling the illuminate, we need to make sure that the previous cached Preferences have been overridden by the newly restored preferences from the backup. Otherwise, the `illuminate()` function will bring back the cached preferences and the new ones from the backup will be lost.
CURA-8313
Because we're adding a messgae for the user if the loading of a plugin failed
(which can happen after backing up a plugin in central storage), we can re-enable
the backing up of plugins again.
CURA-8313
It seems people edit definitions to remove all vertices. This causes Cura to crash because of the calculation of disallowed areas.
Fixes Sentry issue CURA-2FY.
When we close Cura, we now remove the global stack first. If the discard/keep dialog closes as a result of closing Cura, this would crash since there is no global stack any more to discard changes from or keep changes in, and we can't access the extruder stacks either.
So if there's no global stack, just skip this. It'll be as if you selected 'keep'.
Fixes Sentry issue CURA-2ET.
Conflicts:
cura/CuraApplication.py: Setting version
fdmprinter and fdmextruder: Setting version
intents, qualities and variants: Setting version
Changelog: 4.9.1 was added, should be below Arachne changes