Slightly more complex than the original pseudocode was indicating: It needs to filter on the available quality types first in order to only show the quality types that can be printed with all extruders, but still show the union of all intents for those quality types.
Contributes to issue CURA-6091.
This won't run. Don't try to import this class yet. It's outlining what we need to implement to get intents per stack.
It does no form of caching at this point. Build first, optimise later, right.
Contributes to issue CURA-6091.
Conflicts:
plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py -> There is a new version upgrade in master, so the old one is sort of obsolete. We may have to move this part to a new version upgrade for 4.3.
plugins/VersionUpgrade/VersionUpgrade41to42/__init__.py
Never put the formatting within the i18nc call. Always put the formatted string inside, but the formatting call outside of the function, like this:
catalog.i18nc('@info', 'I am {age} years old.').format(age = my_age)
Otherwise, when looking up the translation for the string, it's going to try to look up the translation for the formatted string (with the age already filled in). It won't be able to find that because this sentence was not translated for all possible ages of a human.
In this case I can make it even easier on the translator because the list must always follow after the text.
Why would you need to reset all invisible settings? It shouldn't matter whether a setting is visible or not.
This is causing bugs because the settings that are being reset are not necessarily extruder-type settings (as that is checked below). They are being reset to the value self._default_extruder, which is not always a valid setting value.
Fixes#4274.
CURA-6483
- Added a unique group_id (a GUID) to all created GlobalStack.
- Changed version upgrade to generate unique group_ids for
GlobalStacks.
- RemoveMachine() now uses group_ids to remove hidden GlobalStacks.