47 Commits

Author SHA1 Message Date
j.delarago
511b10c084 Display package cards in the package list for packages that can't be found on the marketplace api.
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
2022-06-02 16:54:08 +02:00
c.lamboo
d5c0fde7f2 Render labels using Text.QtRendering on OSX
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
2022-05-10 15:40:09 +02:00
c.lamboo
35f5c3f959 Revert "Render labels using Text.QtRendering on OSX"
This reverts commit f0e3c19a34d1fde3b7ec4fd95677fbefa2028b26.
2022-05-10 15:39:02 +02:00
c.lamboo
f0e3c19a34 Render labels using Text.QtRendering on OSX
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
2022-05-10 15:36:50 +02:00
j.delarago
c294680022 Fix scrollbar filling space by replacing custom implementation with generic UM.ScrollBar
CURA-9144
2022-04-21 15:52:15 +02:00
c.lamboo
45bc498c7f Replace RecolorImage with ColorImage
CURA-8640
2022-04-08 15:55:34 +02:00
Casper Lamboo
9fa6698da3
Merge pull request #11536 from Ultimaker/CURA-8834_marketplace_packages_install_status_in_list
Show install, uninstall & disable buttons in packages list
2022-02-24 13:39:49 +01:00
Jaime van Kessel
19e43e8b66
Apply suggestions from code review
CURA-8762

Co-authored-by: Casper Lamboo <c.lamboo@ultimaker.com>
2022-02-24 13:26:28 +01:00
Jaime van Kessel
095b8dc5dd Show install, uninstall & disable buttons in packages list
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
2022-02-23 16:51:26 +01:00
Jaime van Kessel
0d85b2be7f Ensure that scrollbar is centered
CURA-8762
2022-02-22 16:07:11 +01:00
Jelle Spijker
7be2da587b
Automatic abortRequest for each API request
Defensive programming

Contributes to: CURA-8587
2021-12-08 10:18:08 +01:00
Jelle Spijker
1c0e484069
Only show manage buttons in manage tab or detail view
Contributes to: CURA-8587
2021-12-07 11:25:16 +01:00
Jelle Spijker
4fef2de71c
Merge remote-tracking branch 'origin/marketplace_redesign' into CURA-8587_disable_update_install_and_uninstall
# Conflicts:
#	plugins/Marketplace/LocalPackageList.py
#	plugins/Marketplace/PackageModel.py
#	plugins/Marketplace/RemotePackageList.py
#	plugins/Marketplace/resources/qml/Marketplace.qml
#	plugins/Marketplace/resources/qml/PackageCard.qml
#	plugins/Marketplace/resources/qml/Packages.qml
2021-12-03 13:36:56 +01:00
Jelle Spijker
327b434788
fix merge conflict
Contributes to: CURA-8587
2021-12-03 13:27:10 +01:00
Ghostkeeper
3a284e3c2c
Show hover colour when hovering a card
This signals to the user they can select one.

Contributes to issue CURA-8565.
2021-12-03 13:25:54 +01:00
Jelle Spijker
caa8da69b4
Fix section mismatch after package order changed
Contributes to: CURA-8587
2021-12-03 13:25:44 +01:00
Ghostkeeper
02d74b4226
Make header of detail page depend on header of origin
It's the same as the list of packages you came from, now.

Contributes to issue CURA-8565.
2021-12-03 13:25:35 +01:00
Ghostkeeper
76e43759c7
Restore check for parent before getting its width
Delegates that are outside of the viewport may have no parent any more. Don't attempt to find their parents' width.

Contributes to issue CURA-8565.
2021-12-03 13:25:10 +01:00
Ghostkeeper
0069182c6b
Set position and width of card in details page
This means that the card itself shouldn't specify a width. It should get a width from how it's used.

Contributes to issue CURA-8565.
2021-12-03 13:25:10 +01:00
Ghostkeeper
5edd830210
Add package card to detail page
The card has the wrong layout, but it's a start. The data is communicated in any case.

Contributes to issue CURA-8565.
2021-12-03 13:25:10 +01:00
Ghostkeeper
26a39f0240
Add a StackView around Marketplace to allow extra pages on top
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.
2021-12-03 13:25:09 +01:00
Ghostkeeper
d6143103d0
Merge branch 'marketplace_redesign' into CURA-8565_marketplace_plugin_details
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.
2021-11-30 16:16:20 +01:00
Ghostkeeper
c48c449354
Show hover colour when hovering a card
This signals to the user they can select one.

Contributes to issue CURA-8565.
2021-11-30 14:50:45 +01:00
casper
d96ba0dcf3 Easy navigation to Cloud marketplace
CURA-8563
2021-11-30 10:51:43 +01:00
Ghostkeeper
d0eee2cffe
Make header of detail page depend on header of origin
It's the same as the list of packages you came from, now.

Contributes to issue CURA-8565.
2021-11-29 19:41:25 +01:00
Ghostkeeper
61fdd5dc72
Restore check for parent before getting its width
Delegates that are outside of the viewport may have no parent any more. Don't attempt to find their parents' width.

Contributes to issue CURA-8565.
2021-11-29 16:32:55 +01:00
Ghostkeeper
616bf479e5
Set position and width of card in details page
This means that the card itself shouldn't specify a width. It should get a width from how it's used.

Contributes to issue CURA-8565.
2021-11-29 16:11:15 +01:00
casper
6ca20ba863 Rename properties in marketplace onboarding banner
CURA-8564
2021-11-29 15:09:33 +01:00
Ghostkeeper
d5cfaa1e0a
Add package card to detail page
The card has the wrong layout, but it's a start. The data is communicated in any case.

Contributes to issue CURA-8565.
2021-11-29 14:50:48 +01:00
casper
0ca20e9b3d Use an alias property for the banner icon
CURA-8564
2021-11-29 12:16:52 +01:00
casper
00135e574d Rename property bannerBody to bannerText
CURA-8564
2021-11-29 11:53:35 +01:00
casper
f1ef1c283e Add links to read me support pages
Note that since the support pages are not yet ready the "read more"
buttons are hidden. Once the correct link is added they become visible
again.
2021-11-27 13:48:38 +01:00
Ghostkeeper
a715274ca7
Add a StackView around Marketplace to allow extra pages on top
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.
2021-11-26 16:04:23 +01:00
casper
3ddfa6486b Remove banners when clicking close button 2021-11-26 14:49:00 +01:00
casper
20f94add47 Display different content on each of the marketplace onboarding banners 2021-11-26 10:10:09 +01:00
Remco Burema
cd255b0ae5
Search Marketplace: Change message if no results found.
part of CURA-8559
2021-11-18 08:15:26 +01:00
Jaime van Kessel
f6b351f97f Fix size of footer
CURA-8561
2021-11-17 11:22:57 +01:00
Jaime van Kessel
5ac0df8b0f Fix styling of scrollbar in marketplace
CURA-8561
2021-11-17 11:22:30 +01:00
Remco Burema
e93ecd3699
Move what is already there of 'package card' to it's own file.
part of CURA-8561
2021-11-05 09:26:27 +01:00
Jelle Spijker
3a94fc0ced
Apply suggestions from code review
Applied code review comments

Co-authored-by: Jaime van Kessel <nallath@gmail.com>
2021-11-03 17:58:16 +01:00
j.spijker@ultimaker.com
3f700e5d0c
Only show Footer when the packagelist is paginated
It doesn't make sense to show a footer when items are retrieved in one
go. Except when an error occurs.

Contributes to CURA-8558
2021-11-02 14:34:36 +01:00
j.spijker@ultimaker.com
c4c99f6657
Added sections to the packagelists
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
2021-11-02 14:34:35 +01:00
Jelle Spijker
86d5d315bc
Differentiate between local and remote packages
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
2021-11-01 17:12:18 +01:00
Jaime van Kessel
afe9c0c633 Change naming from plugin to packages
CURA-8557
2021-10-29 11:22:00 +02:00
Ghostkeeper
3e64b7cb66
Abort request when PackageList gets deleted
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.
2021-10-29 10:10:57 +02:00
Ghostkeeper
cbd1b8fbf7
Implement filter on PackageList
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.
2021-10-28 18:59:03 +02:00
Ghostkeeper
c31665f069
Move list of packages QML to a re-usable component
We'll need to have the same design for plug-ins and for materials.

Contributes to issue CURA-8557.
2021-10-28 17:34:55 +02:00