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.
If it's held inside the device that has two advantages: It's being held per-device, so switching connection doesn't stop the timer. And also, the logic is no longer in the GUI.
Contributes to issue CURA-3161.
Using margins for this is not applicable since it was the background of the rectangle around the flow that has the correct lining colour. So this is manually adding a line.
Contributes to issue CURA-3161.
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.
In effect this has no change. But semantically it is better: If there are no extruders or the extruders have no name, use 'hotend'. Otherwise use the available name. It has nothing to do with the amount of extruders.
Contributes to issue CURA-3161.
Layout.fillwidth seems to only stretch the box to full width on the first row, but without it the entire thing doesn't stretch. Leaving the width out will make the entire left column stretch so that the right column is no longer visible. It's all a bit weird, this QML stuff.
Contributes to issue CURA-3161.
It was rendered by the button and again by the style for the button. I'm just using the style since it has the proper styling. Thanks, fieldOfView.
Contributes to issue CURA-3161.
It is allowed to preheat the bed if the printer is waiting for the bed to clean up or for stuff to cool down after a print.
Contributes to issue CURA-3161.
It should be equivalent. This needs to be done because the line is getting long and I need to add additional checks for if the properties are even set.
Contributes to issue CURA-3161.