Browse Source

Fixed the updating button

Contributes to CURA-8587
Jelle Spijker 3 years ago
parent
commit
23d6c2390f

+ 3 - 2
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)

+ 6 - 1
plugins/Marketplace/PackageModel.py

@@ -295,7 +295,7 @@ class PackageModel(QObject):
 
     uninstallPackageTriggered = pyqtSignal(str)
 
-    updatePackageTriggered = pyqtSignal(str)
+    updatePackageTriggered = pyqtSignal(str, str)
 
     enablePackageTriggered = pyqtSignal(str)
 
@@ -308,6 +308,11 @@ class PackageModel(QObject):
         self.setBusy(True)
         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)

+ 1 - 1
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()
             }
         }
     }