83 Commits

Author SHA1 Message Date
Jelle Spijker
28b6bfb729
Fixed the update button busy state
Contributes to: CURA-8587
2021-12-06 13:53:44 +01:00
Jelle Spijker
579cc7bdbc
Enable or disable a plugin functionality added
Contributes to: CURA-8587
2021-12-06 11:34:36 +01:00
Jelle Spijker
325783ca46
Persistent handled state across Package Lists
Contributes to: CURA-8587
2021-12-06 10:19:14 +01:00
Jelle Spijker
863e92d0d2
Fixed state of manage buttons
Contributes to: CURA-8587
2021-12-06 09:14:40 +01:00
Jelle Spijker
bd2f270803
Added typing
Contributes to: CURA-8587
2021-12-05 15:18:51 +01:00
Jelle Spijker
c937337324
Change the state of the enable button after an un-/install
Contributes to: CURA-8587
2021-12-03 17:21:38 +01:00
Jelle Spijker
743ac67cdb
un-/subscribe the user to installed packages
Contributes to: CURA-8587
2021-12-03 17:08:28 +01:00
Jelle Spijker
e37f08790f
Fixed a merge conflict
And not in a neat way. I'm a shamed to say copy-paste was used extensively.

Contributes to: CURA-8587
2021-12-03 13:51:43 +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
Ghostkeeper
8162bdcfa8
Don't show download count for bundled plug-ins
I considered rewriting the section title property to be QML-only and translate it from the QML, but this is a bit simpler in the end, even though there is data duplication now.

Contributes to issue CURA-8565.
2021-12-03 13:25:51 +01:00
Jelle Spijker
eb156f114c
Introduce a ManageButton
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
2021-12-03 13:25:38 +01:00
Jelle Spijker
5373e9a36d
More generic way of showing the manage buttons
Contributes to: CURA-8587
2021-12-03 13:25:08 +01:00
Remco Burema
518e59303d
Fix dashes in links.
part of CURA-8565 and/or CURA-8585
2021-12-01 14:01:41 +01:00
Ghostkeeper
b854025daa
Fix name of compatibility category
I had the nesting wrong. 'compatibilities' is the nested sub-dict in each of these compatibility entries.

Contributes to issue CURA-8585.
2021-11-30 18:22:34 +01:00
Ghostkeeper
9c51d620b2
Use QStringList rather than QVariantList
We know that they are strings after all.

Contributes to issue CURA-8585.
2021-11-30 18:07:13 +01:00
Ghostkeeper
1418bb072c
Parse compatibility information of air manager and material station
The union vs. intersection here is a guess. I'm guessing the online Marketplace displays compatibility if ANY materials/combinations are compatible, not requiring that ALL materials/combinations are compatible. We'll have to review that.

Contributes to issue CURA-8585.
2021-11-30 17:50:39 +01:00
Ghostkeeper
02c1e01788
Parse list of compatible support materials
This one is quite complex because the support material names are in their profiles, so we need to consult the profiles, if present.

Contributes to issue CURA-8585.
2021-11-30 17:42:29 +01:00
Ghostkeeper
4ffca8da98
Implement getting the compatible printers of a package
Again, only really applicable to materials for now. But it's simple to keep this class generic.

Contributes to issue CURA-8585.
2021-11-30 17:29:28 +01:00
Ghostkeeper
b4020614d5
Add material links to package model
They will not be initialised for plug-ins.

Contributes to issue CURA-8585.
2021-11-30 17:17:50 +01:00
Ghostkeeper
02cf4ac440
Fix newline rendering in extended display
Rich Text is rendered a bit like HTML, where all of the whitespace gets changed into a single space. This is normally not so bad, but with newlines it's annoying. This preserves the newlines from the description.

Contributes to issue CURA-8565.
2021-11-30 15:01:39 +01:00
Ghostkeeper
7529483cb0
Don't show download count for bundled plug-ins
I considered rewriting the section title property to be QML-only and translate it from the QML, but this is a bit simpler in the end, even though there is data duplication now.

Contributes to issue CURA-8565.
2021-11-30 14:42:12 +01:00
Ghostkeeper
d96284ee3e
Only show formatted description in detail page
We can't show rich text in the package list, because the we use the onLineLaidOut signal there, which doesn't work with Rich Text. So for the package list we should NOT use the formatted version of the description because that will contain ugly HTML tags that the user wouldn't want to see. Show the original description there. Use the formatted description only in the detail page where we don't use onLineLaidOut.

Contributes to issue CURA-8565.
2021-11-29 19:35:57 +01:00
Ghostkeeper
b5c7dfe9a2
Format links in descriptions to be clickable
Took some fiddling to get the regex right. But it's nice now.

Contributes to issue CURA-8565.
2021-11-29 19:29:33 +01:00
Remco Burema
b98e0d1753
Use author icon if no package icon known.
part of CURA-8562
2021-11-23 13:46:33 +01:00
Ghostkeeper
35ba8f78a0
Disambiguate associativity of and/or operators
It's the same, but it's a bit easier to read what it's doing. Placing the package type check first also helps to read what the two cases are here.

Contributes to issue CURA-8562.
2021-11-22 17:10:56 +01:00
Jelle Spijker
eb3083c84d
use differentiate icon for Ultimaker controlled material/plugin
Materials can be certified, while plugins can be verified.
Added packageType to the model such that the card knows which icon
to use.

Contributes to CURA-8562
2021-11-19 11:21:29 +01:00
Jaime van Kessel
07e9237d72 Add missing action for button
CURA-8561
2021-11-17 14:23:26 +01:00
Remco Burema
bb51dc7d14
Gather and show required information.
Also add 'Downalod' icon. Still very much WIP and nonfunctional.

part of CURA-8561
2021-11-05 18:44:31 +01:00
j.spijker@ultimaker.com
f9f43b79b0
Don't pollute the package_info with section_title
The previous implementation added a section_title to the package_info
which was also stored in the packages.json. The section_title is now
provided to the PackageModel as an extra optional argument.

Contributes to CURA-8558
2021-11-03 15:15:46 +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
Jaime van Kessel
37ccf5b823 Add missing return types on init
CURA-8556
2021-10-25 10:37:02 +02:00
Ghostkeeper
6415a2649e
Parse responses from package API call
Only positive responses so far. Error handling is not implemented yet.

Contributes to issue CURA-8556.
2021-10-21 16:02:46 +02:00
Ghostkeeper
0f5c923d93
Add model to represent packages and export information to QML
We'll construct a bunch of these when we receive information from the API.

Contributes to issue CURA-8556.
2021-10-21 15:03:41 +02:00