mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
Download packages to be installed and show a message with progress.
CURA-6983
This commit is contained in:
parent
883243b533
commit
84e676c1f8
4 changed files with 133 additions and 7 deletions
|
@ -3,6 +3,7 @@ from UM.PluginRegistry import PluginRegistry
|
|||
from cura.CuraApplication import CuraApplication
|
||||
from plugins.Toolbox import CloudPackageChecker
|
||||
from plugins.Toolbox.src.CloudSync.DiscrepanciesPresenter import DiscrepanciesPresenter
|
||||
from plugins.Toolbox.src.CloudSync.DownloadPresenter import DownloadPresenter
|
||||
from plugins.Toolbox.src.CloudSync.SubscribedPackagesModel import SubscribedPackagesModel
|
||||
|
||||
|
||||
|
@ -13,7 +14,7 @@ from plugins.Toolbox.src.CloudSync.SubscribedPackagesModel import SubscribedPack
|
|||
# - DiscrepanciesPresenter shows a list of packages to be added or removed to the user. It emits the `packageMutations`
|
||||
# the user selected to be performed
|
||||
# - The SyncOrchestrator uses PackageManager to remove local packages the users wants to see removed
|
||||
# - The DownloadPresenter shows a download progress dialog
|
||||
# - The DownloadPresenter shows a download progress dialog. It emits A tuple of succeeded and failed downloads
|
||||
# - The LicencePresenter extracts licences from the downloaded packages and presents a licence for each package to
|
||||
# - be installed. It emits the `licenceAnswers` {'packageId' : bool} for accept or declines
|
||||
# - The CloudPackageManager removes the declined packages from the account
|
||||
|
@ -28,7 +29,13 @@ class SyncOrchestrator(Extension):
|
|||
self._checker.discrepancies.connect(self._onDiscrepancies)
|
||||
|
||||
self._discrepanciesPresenter = DiscrepanciesPresenter(app)
|
||||
self._discrepanciesPresenter.packageMutations.connect(self._onPackageMutations)
|
||||
|
||||
self._downloadPresenter = DownloadPresenter(app)
|
||||
|
||||
def _onDiscrepancies(self, model: SubscribedPackagesModel):
|
||||
plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId())
|
||||
self._discrepanciesPresenter.present(plugin_path, model)
|
||||
|
||||
def _onPackageMutations(self, mutations: SubscribedPackagesModel):
|
||||
self._downloadPresenter.download(mutations)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue