diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Marketplace/PackageList.py | 5 | ||||
-rw-r--r-- | plugins/Marketplace/PackageModel.py | 7 | ||||
-rw-r--r-- | plugins/Marketplace/resources/qml/PackageCardHeader.qml | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/plugins/Marketplace/PackageList.py b/plugins/Marketplace/PackageList.py index 133f42ebb0..7eb98b3233 100644 --- a/plugins/Marketplace/PackageList.py +++ b/plugins/Marketplace/PackageList.py @@ -286,11 +286,12 @@ class PackageList(ListModel): self._package_manager.removePackage(package_id) self.unsunscribeUserFromPackage(package_id) - def updatePackage(self, package_id: str) -> None: + def updatePackage(self, package_id: str, url: str) -> None: """Update a package from the Marketplace :param package_id: the package identification string """ self._package_manager.removePackage(package_id, force_add = not self._package_manager.isBundledPackage(package_id)) - url = self._package_manager.package_infosWithUpdate[package_id]["download_url"] + if url == "": + url = self._package_manager.package_infosWithUpdate[package_id]["download_url"] self.download(package_id, url, True) diff --git a/plugins/Marketplace/PackageModel.py b/plugins/Marketplace/PackageModel.py index dc62682aba..917a54ede6 100644 --- a/plugins/Marketplace/PackageModel.py +++ b/plugins/Marketplace/PackageModel.py @@ -295,7 +295,7 @@ class PackageModel(QObject): uninstallPackageTriggered = pyqtSignal(str) - updatePackageTriggered = pyqtSignal(str) + updatePackageTriggered = pyqtSignal(str, str) enablePackageTriggered = pyqtSignal(str) @@ -309,6 +309,11 @@ class PackageModel(QObject): self.installPackageTriggered.emit(self.packageId, self.downloadURL) @pyqtSlot() + def update(self): + self.setBusy(True) + self.updatePackageTriggered.emit(self.packageId, self.downloadURL) + + @pyqtSlot() def uninstall(self): self.uninstallPackageTriggered.emit(self.packageId) diff --git a/plugins/Marketplace/resources/qml/PackageCardHeader.qml b/plugins/Marketplace/resources/qml/PackageCardHeader.qml index 921a57870b..3d99b23907 100644 --- a/plugins/Marketplace/resources/qml/PackageCardHeader.qml +++ b/plugins/Marketplace/resources/qml/PackageCardHeader.qml @@ -232,7 +232,7 @@ Item text: busy ? catalog.i18nc("@button", "Updating..."): catalog.i18nc("@button", "Update") - onClicked: packageData.install() + onClicked: packageData.update() } } } |