Actually it only made sense for ultimaker materials. Now that we can include instruction link in every materials, a specific link for every material can be used instead.
Contributes to CURA-6423.
It can happen that the list is empty because the data is still coming or because the connection has been lost.
There are also some improvements in the link to the compatibility chart. Now the two external links in Cura have the same behaviour.
Contributes to CURA-6011.
The current behavior now is to open the configuration panel in the previous state, in case it was manually selected. That means that after selecting a printer, the manual state is reset so it will open the auto configuration if it is a connected printer. It will open the custom state in case it's not connected or the printer has no connection.
Contributes to CURA-5876.
But if the printer does have other configurations to change, do show a placeholder text to indicate that the configuration can be selected here.
This also simplifies a bit of code where it would need to call an updateEnabled() function, since it turns out that these properties in Cura.MachineManager have proper signals (contrary to what was previously used, the metadata entry stuff).
Contributes to issue UCRA-5876.
Since the children don't adjust their height based on if they are visible (which would cause a binding loop) we just need to adjust the height of the total menu based on which children are visible. Easy enough.
Contributes to issue CURA-5876.
It won't show the drop-down icon then, won't do hovers and won't allow you to click on it. This will not remove the contents of the ExpandableComponent menu bar item though, so that has to be done in ConfigurationMenu.qml.
Contributes to issue CURA-5876.
The proper colour would've been 'detail' but that seems to not be used much at all, and it's too light. In other places, 'inactive' is used in this place more often.
Contributes to issue CURA-5876.
Since these were part of the childrenRect of the bar, and attached to the bottom of the bar, the childrenRect depended on the position of the children and that depends on the childrenRect again. So just attach it to the top, it's logical.
Contributes to issue CURA-5876.
In order to prevent suddenly switching to the other side when the connection is lost or restored, we only evaluate this upon opening the popup. This way you might be surprised that closing and then opening it can show something else, but it will never surprise you while working on the popup itself as a user.
Contributes to issue CURA-5876.
This is going to function as our main item for the configuration menu. It contains the part in the top bar and the glue item for the part in the popup.
Contributes to issue CURA-5876.