Conflicts:
cura/Machines/Models/MaterialManagementModel.py -> On Master we had temporarily reverted the action of this button because it became apparent that the sync wasn't going to be in 4.12. That revert is no longer necessary if this is merged.
With the lambda it would capture the variable of printer_id. It wouldn't actually store the value of printer_id in teh created lambda. As a result, it was using the current value of printer_id when the lambda executes, rather than the value of printer_id when the lambda is constructed. A bit weird how that works in Python's lambdas.
With partial functions it works properly.
Contributes to issue CURA-8609.
The API endpoint got renamed (without my awareness). It also needed to be a POST request, probably since the beginning. And apparently it needs everything to be in a sub-field called 'data' for some reason.
Contributes to issue CURA-8609.
The entire response is contained in a lone 'data' field in the response. Why this is necessary I don't know, because indeed everything the server can tell us is data so everything would be in a 'data' field. But that's how the API reacts so that's how we'll have to parse it.
Contributes to issue CURA-8609.
This can already be set via the isLoading property. What's more, it really only ever needs to be called from Python. I just added the fset because we have the setter anyway.
Contributes to issue CURA-8556.
This way it's not available to the rest of Cura, especially since PackageList is not such an uncommon name. It could give name collisions. Moreover, the rest of Cura doesn't need to have a list of packages from the Marketplace, so it's better separation.
Contributes to issue CURA-8556.
These two have garnered some feedback in that it's wholly unclear what the sentences even mean. Hopefully this correction makes it more clear for next time.
Contributes to issue CURA-8638.
Two changes have been made:
- Use more consistent terminology for the top side of the model (which could be skin or walls). This is corrected from feedback by our translators.
- Don't add disclaimers about the infill density to this already way-too-long setting description. If anything, a disclaimer should be added to the infill density description that Gradual Infill and some infill patterns might not reach the desired density everywhere. But really, I think it's more in the domain of user documentation like the Ultimaker website or the Settings Guide.
The Marketplace icon is apparently confusing to use for the Marketplace in Cura and should only be used for the website version.
Contributes to issue CURA-8556.
This reverts commit aa4b7ddb8bce12c4ff2ea8864c1dad63a7a0a7c4.
Apparently it is now in scope again for the button to be there. It's in the requirements and the requirements are holy. Whoopteedoo.
Contributes to issue CURA-8556.
This has a slight bug in that the icon will immediately change to an arrow once loading has completed, but will slowly rotate back to angle 0. You don't see this, since the new plug-ins will come in between. The new plug-ins will always be a full page, or otherwise the icon disappears altogether and it's not visible anyway. But if you hold down the scrollbar while loading and quickly scroll down when loading completed, you can see this happen. I don't think anyone will really mind though.
Contributes to issue CURA-8556.
The simplest way I can think of.
Currently we only call the request function once, so we can only get the first page. Before calling it multiple times, we should check if there are more pages by checking if the request URL is an empty string.
Contributes to issue CURA-8556.
To display the background across the entire bottom side and not with the margins of the column, we have to restructure where the margins are a bit.
Contributes to issue CURA-8556.