Previously, after pressing the "Restore" button of a backup, there was no indication about it being restored. This commit changes that by making the "Restore" button of that backup display the busy rotating wheel.
CURA-8313
Also, don't add it twice for the Repetier flavour.
This way the code is separated better into if-else cases to make it easier to read, even though it has this line in there 3 times.
Fixes issue CURA-8331.
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
In some buttons (specifically, the "Manage printers" button), the tooltip arrow is being drawn even though the tooltip text is empty. This commit fixes that by making sure that the background rectangle (PointingRectangle) of the tooltip is not be visible if the height of the tooltip is 0.
CURA-8334
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.
Discussed with UX what the best approach would be.
Both came to the conclusion that this is the simplest
and more aesthetic approach.
The extra white space at the bottom and height of the
first screen is still acceptable according to UX.
Contributes to CURA-8290_whats_new_text
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.
The cloud printers get added asynchronously, which could lead to a crash because the dict gets modified while we're iterating over it.
Fixes Sentry issue CURA-2EN.
We want to keep it this way so people can still make plugins work for older versions of Cura, like 3.6, where the 'api' field with just a single major version, instead of the 'supported_sdk_versions', which can be either a version-string like '7.6.0' or a list of version strings.
There were two pre-checks here, where the main body of the function was indented two deep. Instead, just early-out if the checks fail. This is easier to read and understand.
Found during investigation of CURA-8128.
MacOS has some trouble with the QtQuick.Controls 1 system-styled drop-downs since Qt 5.15. We've removed the other ones, but forgot about this one.
Contributes to issue CURA-8128.
This is to make it look more consistent with the open dialog, which needed Controls 2 in order to make the drop-downs work on MacOS.
As discussed in the CCB.