CURA-4133
On some machines such as UM2, there is no material. Getting the layer
height in this case will result back to the global stack itself, which
is the layer height of the current setting. This is a problem for
"Normal" (or "Fine") quality because it uses the machine's default layer
height.
Recently we changed the empty containers such that there is only one empty container instance and it doesn't have the proper type any more. Instead we have properties on the stack that allows us to find the container with the proper type. It's faster and easier to use.
We've had a few bugs about this so I decided to update all of them to remove those for the future, except the ones in plugins/MachineSettingsAction/MachineSettingsAction.py because we have a pending pull request that fixes those. Fixing them would give merge conflicts for fieldOfView.
It doesn't really belong to CURA-4024 but I'm sticking it under that nomer anyway to get it reviewed.
If there is no unit known, it is interpreted as there being no unit. There is currently mm, but if we changed that it is probably on purpose so we write no unit.
Contributes to issue CURA-2723.
This layer height computation is rather complex, but because the items are now computed in a separate function, we can safely overwrite that and the update is made only once in the UI.
Contributes to issue CURA-2737.