Very rudimentary at the moment, need to split the method into 3, and make a class for the setup.
This also uncovered that the currentAvailableIntents doesn't (unless the global stack is missing) retrun any default intents, while currentAvailableIntentCategories does do that.
Since it's not clear how we're going to handle that right now, I made a TODO in the code, which of course will have to be fixed before this/these branch/es are merged.
part of CURA-6091
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.