83 Commits

Author SHA1 Message Date
Jaime van Kessel
27e5905a32 Fix typing
CURA-8588
2022-01-03 11:44:05 +01:00
Jaime van Kessel
3b2be48390 Ensure that check for updates is called on startup of Cura
CURA-8588
2022-01-03 11:01:17 +01:00
Jaime van Kessel
cf7772a40a Ensure that local list has update URL
CURA-8587
2021-12-22 14:27:24 +01:00
Jaime van Kessel
a2a76fefdd Move cleaning up of request to after signals are disconnected
CURA-8587
2021-12-17 16:48:06 +01:00
Jaime van Kessel
83c78c4b4d Remove canInstallChanged signal
It's not needed, this can just be handled with a direct call!

CURA-8587
2021-12-17 16:41:52 +01:00
Jaime van Kessel
fa7ad7ddb1 Simplify the packageList
CURA-8587
2021-12-16 22:54:12 +01:00
Jelle Spijker
4d8592c6b7
Catch runtime errors when trying to disconnect signal
Contribute to CURA-8587
2021-12-16 17:07:42 +01:00
Jelle Spijker
ffa34ab5fe
Make sure Signal are disconnected when PackageModel is deleted
Contributes to CURA-8587
2021-12-16 17:00:29 +01:00
Jelle Spijker
23d6c2390f
Fixed the updating button
Contributes to CURA-8587
2021-12-16 12:37:41 +01:00
Jelle Spijker
8abeb24ccc
Remove a recently installed and then uninstalled package from the manage list
Contributes to CURA-8587
2021-12-16 12:21:36 +01:00
Jelle Spijker
aa93186707
Don't show License Dialog when there is no License text
Contributes to CURA-8587
2021-12-16 10:34:08 +01:00
Jelle Spijker
020313da25
Subscribe the user to a reinstalled package again
Contributes to CURA-8587
2021-12-16 10:23:23 +01:00
Jelle Spijker
447e0443a2
Reinstall a package scheduled for removal before attempting to dl and install
Contributes to CURA-8587
2021-12-16 10:08:24 +01:00
Jelle Spijker
951c0234d6
Renamed _manager to _package_manager for more consistent naming
Contributes to CURA-8587
2021-12-16 10:06:54 +01:00
Jelle Spijker
23cc7084c4
Switch between correct states of the un-/installed buttons
Contributes to CURA-8587
2021-12-15 17:51:38 +01:00
Jelle Spijker
8b2ced122c
Explicitly close the downloaded curapackage
Sometime very small curapackage where download and the `canInstallChanged`
signal was emitted before the zipfile was completely processed.
This could result in a failed installation, which was often the case for
materials.

I also narrowed down the try-catch block.
2021-12-15 15:07:23 +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
d876b85259
Don't forcefully remove bundled packages when updating
Contributes to CURA-8587
2021-12-10 12:43:42 +01:00
Jelle Spijker
9b7731a21b
Use package_infos to obtain the url
Contributes to CURA-8587
2021-12-10 11:50:38 +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
51a77f683d
Moved stateManageButton logic out of the packageModel
Contributes to: CURA-8587
2021-12-09 09:56:41 +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
df0c502961
Removed redundant pyQtSlots
Contributes to: CURA-8587
2021-12-08 14:48:47 +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
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
013e0b51e9
Storing multiple ongoing_requests
A bit of defensive programming

Contributes to: CURA-8587
2021-12-07 15:56:35 +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
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
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
casper
324b456cbd Merge branch 'CURA-8587_disable_update_install_and_uninstall' into cura-8587_disable_update_install_and_update/licence_agreement 2021-12-06 17:23:31 +01:00
Ghostkeeper
aec643fd44
Fix several typing issues
Contributes to issue CURA-8587.
2021-12-06 17:22:07 +01:00
casper
4848c474e8 Implement UX design for maketplace license dialog
cura 8587
2021-12-06 17:10:13 +01:00
casper
0cc9d8db68 Use existing plugin registry
Fix after merge

cura 8587
2021-12-06 15:51:19 +01:00
casper
ec58cd2d0e Merge branch 'CURA-8587_disable_update_install_and_uninstall' into cura-8587_disable_update_install_and_update/licence_agreement
# Conflicts:
#	plugins/Marketplace/PackageList.py
2021-12-06 15:49:21 +01:00
casper
c3665d7440 Correctly handle actions from marketplace license prompt
Install package on accept
And stop spinner on decline

cura 8587
2021-12-06 15:45:27 +01:00
casper
09e221d64a Add license dialog to the Marketplace
cura 8587
2021-12-06 14:49:50 +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
743ac67cdb
un-/subscribe the user to installed packages
Contributes to: CURA-8587
2021-12-03 17:08:28 +01:00
Jelle Spijker
a83a598e96
Added error handling when downloading packages failed
A simple callback function which ensures that the proper signals
are emitted when we fail to retrieve the package.

Contributes to: CURA-8587
2021-12-03 15:50:51 +01:00
Jelle Spijker
00acfe9d72
Added uninstall functionality
Get it in a sharable state

Contributes to: CURA-8587
2021-12-03 13:27:30 +01:00
Jelle Spijker
3b3d986058
Groundwork for installing/updating packages
Contributes to: CURA-8587
2021-12-03 13:27:26 +01:00