26823 Commits

Author SHA1 Message Date
Jelle Spijker
e0754c7015
Disabled old toolbox functionality for updating
The signals messed up the new update process.

Contributes to CURA-8587 and relates to CURA-8588
2021-12-10 11:16:08 +01:00
Jelle Spijker
d9f77d7ffd
Moved the update logic to the PackageManager
Contributes to CURA-8587
2021-12-10 11:14:51 +01:00
casper
4991c39535 Make sure ManageButton has the correct width and height
Cura 8587
2021-12-09 22:41:14 +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
9874b0c8ba
removed redundant dunders from helper class
Contributes to: CURA-8587
2021-12-09 15:14:20 +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
8a583a4323
Fixed Enable button text and style
Contributes to: CURA-8587
2021-12-09 10:27:27 +01:00
Jelle Spijker
0299bb1694
Fixed update buttons
Contributes to: CURA-8587
2021-12-09 10:24:26 +01:00
Jelle Spijker
8dc88e52c2
Don't show the Enable buttons for materials
Contributes to: CURA-8587
2021-12-09 10:03:56 +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
59470814e2
Show spinner again
Contributes to: CURA-8587
2021-12-09 08:30:22 +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
casper
8708fd0f3a Merge remote-tracking branch 'origin/CURA-8587_disable_update_install_and_uninstall' into CURA-8587_disable_update_install_and_uninstall
# Conflicts:
#	plugins/Marketplace/resources/qml/PackageCard.qml
#	plugins/Marketplace/resources/qml/PackagePage.qml
2021-12-08 20:01:55 +01:00
casper
d405652db7 Combine dublicated elements from PackageCard and PackagePage into
reusable component `PackageCardHeader`

cura 8734
2021-12-08 19:41:50 +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
4c516e8cec
Moved QObject out if TYPE_CHECKING statement
Contributes to: CURA-8587
2021-12-08 16:14:59 +01:00
Jelle Spijker
e4d469b6a1
Added some typing annotation
Contributes to: CURA-8587
2021-12-08 16:13:46 +01:00
Jelle Spijker
fb950e39c9
Merge pull request #11037 from Ultimaker/CURA-8734_Package_card_refactor
Cura 8734 package card refactor
2021-12-08 16:08:24 +01:00
casper
c72fd12ea2 Make ManageButton a reusable Component
cura 8734
2021-12-08 15:50:00 +01:00
Jelle Spijker
df0c502961
Removed redundant pyQtSlots
Contributes to: CURA-8587
2021-12-08 14:48:47 +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
casper
4a436b5598 Display different types of manage buttons through Loader.sourceComponent
cura 8734
2021-12-08 14:46:29 +01:00
Jelle Spijker
fd508342fe
Renamed Manager to RestartManager
Contributes to: CURA-8587
2021-12-08 14:33:22 +01:00
casper
fb92f1f49a Merge branch 'CURA-8587_disable_update_install_and_uninstall' into CURA-8734_Package_card_refactor 2021-12-08 14:28:31 +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
db09954ac8
Fixed returning an error after the package is destroyed
Defensive programming

Contributes to: CURA-8587
2021-12-08 10:59:28 +01:00
casper
5e35e19f21 Split PackageCard into PackageCard and PackagePage
cura 8734
2021-12-08 10:53:51 +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
453de95d12
Defensive programming
Long API calls might return after the Local or Remote
PackageList has been deconstructed. Somehow setting
the ownership in QML doesn't seem to work for this.
So we guard against this with a try catch block.

Contributes to: CURA-8587
2021-12-08 09:58:53 +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
Jelle Spijker
14bc196154
Hidden other manage buttons when the other is confirmed
Contributes to: CURA-8587
2021-12-07 16:09:07 +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
013e0b51e9
Storing multiple ongoing_requests
A bit of defensive programming

Contributes to: CURA-8587
2021-12-07 15:56:35 +01:00
Jelle Spijker
dae92c354c
Marketplace doesn't need to inherit from QObject
Review comment

Contributes to: CURA-8587
2021-12-07 15:32:36 +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
5b3e9079ed
Don't show en-/disable button when un-/installed
Contributes to: CURA-8587
2021-12-07 12:46:45 +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
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
f6966c25fb
Some final tweaks and added missing documentation
Contributes to: CURA-8587
2021-12-07 09:48:48 +01:00
Jelle Spijker
0fefe85fca
Present restart banner if plugin has been en-/disabled
Contributes to: CURA-8587
2021-12-07 08:57:56 +01:00
casper
dc03a7fdcb Correctly handle accept and reject hotkeys in marketplace license dialog
Accept license on "enter"
Reject license on "escape" or dialog close

cura 8587
2021-12-07 08:18:26 +01:00
casper
71a43060a6 Open separate license dialog with each plugin install
Previously the license dialog was instanciated once and re-used for each
install. As the dialog is only shown after the plugin is downloaded it
was possible to click install for multiple plugins. Plugins that finish
downloading later would override the dialog of earlier downloaded
plugins. Clicking "accept" would then only install the latest downloaded
plugin.

Now for each install a separate dialog is shown. Accepting the license
agreement would only install the recently accepted plugin.

Note: in the current form the license agreement does not show any
identification to what plugin triggered the dialog. As multiple dialogs
can be shown at once this might be unclear.

cura 8587
2021-12-06 19:34:02 +01:00
Casper Lamboo
20fb08145d
Merge pull request #11020 from Ultimaker/cura-8587_disable_update_install_and_update/licence_agreement
Cura 8587 disable update install and update/licence agreement
2021-12-06 18:38:48 +01:00
casper
455f6f1791 Update licencing comment
cura 8587
2021-12-06 18:12:58 +01:00
casper
180e1e1d7a Merge branch 'CURA-8587_disable_update_install_and_uninstall' into cura-8587_disable_update_install_and_update/licence_agreement 2021-12-06 18:09:01 +01:00
casper
28b21628b4 Remove unused package_name property and add package_id in license model
The `_to_be_installed_package_id` and `_to_be_installed_package_path`
can now be removed from the class as they can requested from the model
itself. This we make sure that the we alway install the package for
which the license was recently accepted.

cura 8587
2021-12-06 18:07:44 +01:00