When the final page of results is fetched, the list of all package_ids retrieved from the api will be compared with the ones we were searching for. Any that are missing have cards displayed with only basic information (name and version).
CURA-6990
Fonts were looking a bit to thick on when using `Text.NativeRendering`, so using `Text.QtRendering` instead. After this the font weight looks identical to figma (as far as I can see).
In this commit I also changed all `Label`'s to `UM.Label`'s and removed default properties where I could.
CURA-9154
Fonts were looking a bit to thick on when using `Text.NativeRendering`, so using `Text.QtRendering` instead. After this the font weight looks identical to figma (as far as I can see).
In this commit I also changed all `Label`'s to `UM.Label`'s and removed default properties where I could.
CURA-9154
This splits up the single show controls property into three seperate ones
and no longer hides installed packages from the plugin & materials list
CURA-8834
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.
Conflicts:
plugins/Marketplace/resources/qml/Marketplace.qml -> Whole layout changed, while the onboarding banner got added. I re-added the onboarding banner item and the new search link at locations where I thought it was appropriate.
plugins/Marketplace/resources/qml/Packages.qml -> A small conflict where new properties got added while I moved the width property up a bit for consistency. Easy enough to fix.
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.
By providing a `section_title` with a string to the `package_data`
packages can be subdivided in sections, each with its own header.
For remote packages this will be `None` and therefore no sections are
created there.
Contributes to CURA-8558
There is a distinction between packages which are already
installed on the local machine and packages which are
available on the remote server. Even with this difference
it is important that they are handled the same and can be
reused in the same GUI elements.
In order to reduce code duplication I created a parent object
PackageList which contains the base logic and interface for
the QML and let both RemotePackageList and LocalPackageList
inherit from this.
UX specified that the gear icon (Settings.svg) should be
separate from the tabs of material and plugins. This also
ment that the current tab item couldn't set the pageTitle
anymore. This is now defined in the Package component and
set when the loader has loaded the external QML file.
Contributes to CURA-8558
This is a consequence of lazy loading and the re-loading we do when the Marketplace window gets closed. This solves a crash with reproduction steps:
1. Open the Marketplace.
2. Quickly close the Marketplace.
3. Quickly re-open the Marketplace.
4. The API responds to the request made by the first opening of the Marketplace.
This crashed because when the Marketplace first opened, it made a request to the API with the HttpRequestManager. This request takes a while to respond to. If you close and re-open the Marketplace, the PackageList gets destroyed and a new one gets made. The HttpRequestManager eventually gets a response and wants to call the callback of the first PackageList, but that one got destroyed in the Qt engine so it'll throw an error saying that the object doesn't exist any more.
Contributes to issue CURA-8557.
The filter affects the URL. So we can't just start a request in the init. We need to request once all of the properties have been set.
We also can't start the request when the filter changes, because there will be more filters and we don't want to start multiple requests. It needs to be manual.
Contributes to issue CURA-8557.