Conflicts:
cura/PlatformPhysics.py -> Removed shapely on master, while QTimer import got updated to Qt6.
plugins/Toolbox -> Entire folder is deleted in master, but it was updated to Qt6 here. This can all be removed.
We often used shorthands for stack / instance / definition, but this made it
harder for people that are very familiar with the code to understand what is
going on.
Contributes to #11455
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.
If the default was 0, then the if statement would evaluate as False and it would not make them visible until you closed and re-opened the panel.
Contributes to issue CURA-7211.
The value property was sometimes not set. In the default case, this just added an empty setting instance (for a particular key), which appeared to do nothing until you've changed it. This appears correct because if it's not changed then it should be the same as the extruder's value, but if you then change the extruder's value it doesn't update its visible value but still has no value in the setting instance, so the value still falls back to the extruder and the setting ends up different from what is being displayed.
Contributes to issue CURA-1988.
Setting .value creates a new Python attribute in the object. Setting with setProperty creates the setting property, like we wanted.
Contributes to issue CURA-2011.
Due to a gnawing feeling in the back of my head, I tested this with an UM2 and adding settings failed there. This fixes it.
Contributes to issue CURA-2011.
Upon adding the setting (making it visible) it takes the setting from the support extruder stack. It doesn't update afterwards.
Contributes to issue CURA-2011.