You can activate the roof and bottom separately now. If you want, of course. The original interface setting sets both of them unless overwritten.
Contributes to issue CURA-3491.
Note that currently the support_interface_extruder_nr is still used by the engine for some things and therefore the build volume calculations may not be 100% correct. I'll fix that up soon.
Contributes to issue CURA-3491.
The extruder name is asked from the extruder manager, so that the signal from extruder manager properly updates it once the new name is available.
Contributes to issue CURA-3161.
This may trigger a few extra updates, but allows us to use signal
compression in the postponesignals context manager, which greatly
improves performance.
It's not even necessary to check otherwise. Requesting an extruder stack would give None anyway, which would give errors.
Contributes to issue CURA-3291.
We need to listen for changes on all extruder stacks because the values might change and therefore the validation states might change. The value of a different extruder stack could change if you change a global value that has impact on a per-extruder value via inheritance, or in this case if a limit-to-extruder property specifies that the setting should be changed on a different stack. It could change on the stack that is not active in either case.
This might have some performance impact, but it is very small. Other than layer_height there aren't many global settings that have impact on multiple extruders via inheritance. And via limit-to-extruder there will typically only be one changed value which you want to update for. Changing layer height will be a bit slower though.
Contributes to issue CURA-3291.
The default value for the limit_to_extruder property is -1. So no need to check if the property exists. Just check if it is positive.
Contributes to issue CURA-3291.
The order of operations was a bit weird. This made the code unclear and also required an extra check in an if-statement. This is simpler and theoretically even a bit faster.
Contributes sorta to issue CURA-3291.
This then causes the text 'Not supported' to appear to the user, indicating that for his foreign material we have no known quality profiles.
Contributes to issue CURA-3144.