57 Commits

Author SHA1 Message Date
Jaime van Kessel
62f99a28b3 Simplify the update logic in the package model / card
CURA-8587
2021-12-13 14:15:16 +01:00
Jaime van Kessel
eb11e92637 Rename local_packages_id to local_packages_ids
CURA-8587
2021-12-13 11:54:13 +01:00
Jelle Spijker
e72655cc22
Moved busy/confirmed logic to QML
COntributes to CURA-8587
2021-12-10 17:38:20 +01:00
Jelle Spijker
a571e87553
Fixed the spinner
Contributes to CURA-8587
2021-12-10 12:39:44 +01:00
Jelle Spijker
d9f77d7ffd
Moved the update logic to the PackageManager
Contributes to CURA-8587
2021-12-10 11:14:51 +01:00
Jelle Spijker
1adae61f39
Enable and disabled now toggle correctly
Contributes to: CURA-8587
2021-12-09 15:49:05 +01:00
Jelle Spijker
4c5ca22b24
Handle bundled packages which can be Downgraded
Contributes to: CURA-8587
2021-12-09 12:04:47 +01:00
Jelle Spijker
0299bb1694
Fixed update buttons
Contributes to: CURA-8587
2021-12-09 10:24:26 +01:00
Jelle Spijker
51a77f683d
Moved stateManageButton logic out of the packageModel
Contributes to: CURA-8587
2021-12-09 09:56:41 +01:00
Jelle Spijker
7734bf5169
Show Install and Update buttons in the correct scenario's
Contributes to: CURA-8587
2021-12-09 07:58:14 +01:00
Jelle Spijker
9f41115bc1
Rework of the ManageButton
Now uses the internal signal

Contributes to: CURA-8587
2021-12-08 18:47:56 +01:00
Jelle Spijker
e0ca0d5446
Renamed recently_install to better depict the usage
This flag is an indication if the package. was recently un-/installed

Contributes to: CURA-8587
2021-12-08 14:46:34 +01:00
Remco Burema
27cb1d2d9f
Also have/keep the uninstalled status displayed.
'isRecentlyInstalled' was both for installing _and_ uninstalling. Will add the rename to the refactor later on.

part of CURA-8587
2021-12-08 14:04:19 +01:00
Jelle Spijker
6c976bc9b0
Introduced a Manager to centralize plugin/package management
Should have done this from the start.
Will move other relevant scattered functions to this type.
For now it checks if the restart banner needs to show.
Taking into account that a user can toggle between enable
and disable without an actual restart. Even with multiple
plugins.

Contributes to: CURA-8587
2021-12-08 08:06:56 +01:00
Remco Burema
a61c3e9eff
Peristance of 'Installed' text.
part of CURA-8587
2021-12-07 21:23:54 +01:00
Jelle Spijker
3be6747e5d
Trying to set a persistent install managebutton
Contributes to: CURA-8587
2021-12-07 18:25:46 +01:00
Jelle Spijker
9e4258ef8b
Set the is_recently_installed flag
Contributes to: CURA-8587
2021-12-07 16:22:31 +01:00
Remco Burema
d2a9d7d94d
Get 'already going to be installed' status in constructor.
Otherwise this isn't saved, and the state of 'installed, but needs restart' (as shown in the package card) won't be known to the package card (buttons), resulting in an 'Install' button when tabs are switched.

part of CURA-8587
2021-12-07 16:02:54 +01:00
Jelle Spijker
ea4ec5ca27
Removed old debug logger messages
Contributes to: CURA-8587
2021-12-07 15:29:05 +01:00
Jelle Spijker
bb9696c39f
Reset button if user declines license
Contributes to: CURA-8587
2021-12-07 15:06:46 +01:00
Jelle Spijker
ca76bcc29c
Show a conformation message after a successful manage action
Contributes to: CURA-8587
2021-12-07 12:23:04 +01:00
Jelle Spijker
f6966c25fb
Some final tweaks and added missing documentation
Contributes to: CURA-8587
2021-12-07 09:48:48 +01:00
Ghostkeeper
aec643fd44
Fix several typing issues
Contributes to issue CURA-8587.
2021-12-06 17:22:07 +01:00
Jelle Spijker
1cc3d374a0
Show the uninstall button for packages which can be downgraded to the bundled version
Contributes to: CURA-8587
2021-12-06 14:11:31 +01:00
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