For now it does nothing. But I'm adding a function that should cause the combobox to pulse. That'll be a new feature so I'm implementing it in a separate commit.
Contributes to issue CURA-8849.
We are now selecting intents first and then quality, however the container hierarchy quality -> intents. This is the reason for the new functions inside machine manager.
CURA-8849
Otherwise it crashes here. The ContainerManager should be flexible enough to allow that sort of thing.
It works with plain entries, but crashed with subentries (like 'properties/diameter') if those weren't present yet in the metadata.
Fixes Sentry issue CURA-3FH.
Previously we would only accept intents that had a translation. If we
could not find one, we would use "unknown" as the intent category. However,
we didn't really do this consistently. In some places it would show unkown
and in others we'd show the intent type.
This should make the behavior the same across the board. It will try to get a
translation for the intent category and show that. If it's unable to find that
it will use the category instead. Note that it will use the python title function
to ensure it has nice capitalisation
CURA-9297
This old function is only necessary for upgrading from before v3.4. Best not let it crash in any other case, even if that would sometimes make very old machine instances corrupt if I made a mistake in thinking here.
Fixes Sentry issue CURA-3XG.
Add function to fetch package_id using only information from XmlMaterialProfile material container.
The only piece of information associating the material container and the package together is the file_name. To find the package that owns a material we have to search each of the material package paths.
It would be great to find a cleaner solution (preferable one that doesn't require invalidating the cached containers).
CURA-8610
This was a bit more tricky then it at first seemed, since the information wether this is a 'secure version' comes from the user-application and is not known in the Uranium library. This is not normally such a point, but both the theme and the preferences objects are loaded _very_ early in the process, and that information needs to be injected before then. (Well, in the case of the Theme object it's less important, since in the implementation choseen that is now security wise at least only in charge of wheter or not to even show the theme as selectable in the interface, so that it only needs to be aware of the 'security' status any time before the user can see a preference screen, but not nescesarily earlier.)
SEC-255 | CURA-8966
This was recently added. However it appears that we have the same path multiple times in the resources, leading to the resources being found twice. This would normally get removed by virtue of being a set, but not this time since it's a different way of writing the same path.
For the themes, it finds the following paths (in my unpacked directory): {'/home/trin/tempy/cura5/UM/../share/uranium/resources/themes', '/home/trin/tempy/cura5/cura/../share/cura/resources/themes', '/home/trin/tempy/cura5/share/cura/resources/themes', '/home/trin/.local/share/cura/5.0/themes', '/home/trin/tempy/cura5/share/uranium/resources/themes'} For both Cura and Uranium, this points to /home/trin/tempy/cura5/curanium/resources/themes twice. So let's remove this one.
Contributes to issue CURA-9147.
The problem was probably 'max', but cast the others just to be sure. (This would cause the C++ part of Qt to think it wasbeing given a float from Pyton somehow.)
should fix CURA-9196
It seems that in Qt5, the update loop was triggered a lot more often than in qt6.
Since we used that to handle the error checking, this made it so that you sometimes had to wait
for quite some time untill the slicing would start (as that is blocked by the error checker)