Previously, this would cause the Marketplace to freeze. We're still not entirely sure why. It seems to be a bug in Qt, but it's rather hard to deal with.
This new solution is nicer in some ways but not as neat in others.
- We're no longer clearing the content of the loader, so the QML and the package data remains in memory while the Marketplace is closed. We deem this to not be a problem, because the memory usage of this package data is only a couple of kB, nothing compared to the memory used by the slicer when it loads a model.
- On the other hand, it's now possible to programmatically change the tab there, instead of manually having to click the buttons.
- Fixes a bug where the highlighted tab of of the tab bar doesn't update when closing and re-opening the Marketplace. And a bug where there was a search bar for the manage page while it didn't work.
Contributes to issue CURA-8565.
The state and styling of this coupled with the available options.
Discussed with UX that primary state: Install, Enable, Update while
secondary states are: Uninstall, Disable
Each primary/secondary state also has a busy state, with the verb
and spinner.
Contributes to: CURA-8587
Some plug-ins could have very long descriptions now. We show all of it, but that could go off the screen in theory.
This makes the content scrollable if it goes off the screen.
Contributes to issue CURA-8565.
If it is detailed, it currently hides the short description. That is not quite enough, but we'll expand that behaviour.
Contributes to issue CURA-8565.
This is already set by the StackView, which (logically) requires that the children fill the entire space taken by the StackView.
Contributes to issue CURA-8565.
This allows a sort of full-screen pop-up to replace the entire Marketplace window contents, on top of the normal contents. The normal contents are kept as they are, but out of view.
Contributes to issue CURA-8565.
When there are no compatible printers, we show that there is no information. After all, all materials should be compatible with some printer.
When there are no compatible support materials, we simply show 'None', because a material could be incompatible with all known support material types.
Contributes to issue CURA-8585.