Polygons don't change when in layer-view. There's already an analogous elementCount property anyway, so a vertexCount property can't do much harm. Just keep in mind that when the polygons are altered, it should be either done via build, or the lineMeshXXXCount methods should be used instead.
See also the backend (Uranium) fix/PR (needed for this to work properly). If the context menu is opened over the slice button, then it _may_ on some cases (on Windows) fail on the creation of the snapshot. Within this fix, the snapshot is then still not created, but at least it doesn't crash any more. (Also the snapshot _will_ be there if a reslice is done.)
part of CURA-8412
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