Unlike Label elements, which are defined to use Text.NativeRendering, TextInput uses Qt text rendering by default. This can lead to differences in font rendering between input fields and other texts.
In some places we want to use the bright error or warning colours to display that something is going on. In those places we'd like to refer to the colour setting_validation_error rather than setting_validation_error_border or something, so I'm renaming these four theme items.
Contributes to issue CURA-4148.
We want the tooltip area to point at the vertical centre. However, we want the tooltip of pure text elements to point at the vertical centre between the base line and the middle line (centre of lowercase letters). Therefore the offset for those elements is a quarter of the height rather than half (which is good enough of an approximation).
Contributes to issue CURA-3161.
The empty string as hotend ID is interpreted as there being no hotend, since this is what the UM3 returns in that case.
Contributes to issue CURA-3161.
The problem was that the bed temperature for pre-heat was being updated when focus was lost. It now only updates on component being completed. Since print monitor is a component that is switched out with a Loader, it is completed every time the monitor tab is clicked, thus causing this update. It is not pretty to be dependent on this, but it's quite practical considering the alternatives.
This causes the pre-heat temperature to not update when you switch machines. Whether this is desirable or not is up for debate. In any case the bed temperature is now always equal for all machines so it doesn't matter anyway.
Contributes to issue CURA-3161.
When the time passes normally it doesn't trigger this signal but just go on counting, but when the pre-heat starts or cancels it updates via this signal. This is handy for the future, when we want to update the remaining time from the printer information. However for now it is also nice because we can make the pre-heat timer dependent on this signal so we know when to have it running. This fixes the problem that the pre-heat seems to have been cancelled in the GUI when you switch away the tab, because the timer running is now dependent on the property rather than always false.
Contributes to issue CURA-3161.