Browse Source

Fixed the update button busy state

Contributes to: CURA-8587
Jelle Spijker 3 years ago
parent
commit
28b6bfb729

+ 8 - 9
plugins/Marketplace/LocalPackageList.py

@@ -68,15 +68,14 @@ class LocalPackageList(PackageList):
         return package
 
     def checkForUpdates(self, packages: List[Dict[str, Any]]):
-        if self._account.isLoggedIn:
-            installed_packages = "installed_packages=".join([f"{package['package_id']}:{package['package_version']}&" for package in packages])
-            request_url = f"{PACKAGE_UPDATES_URL}?installed_packages={installed_packages[:-1]}"
+        installed_packages = "installed_packages=".join([f"{package['package_id']}:{package['package_version']}&" for package in packages])
+        request_url = f"{PACKAGE_UPDATES_URL}?installed_packages={installed_packages[:-1]}"
 
-            self._ongoing_request = HttpRequestManager.getInstance().get(
-                request_url,
-                scope = self._scope,
-                callback = self._parseResponse
-            )
+        self._ongoing_request = HttpRequestManager.getInstance().get(
+            request_url,
+            scope = self._scope,
+            callback = self._parseResponse
+        )
 
     def _parseResponse(self, reply: "QNetworkReply") -> None:
         """
@@ -95,6 +94,6 @@ class LocalPackageList(PackageList):
         for package_data in response_data["data"]:
             package = self.getPackageModel(package_data["package_id"])
             package.download_url = package_data.get("download_url", "")
-            package.canUpdate = True
+            package.can_update = True
 
         self.sort(attrgetter("sectionTitle", "can_update", "displayName"), key = "package", reverse = True)

+ 1 - 2
plugins/Marketplace/PackageList.py

@@ -131,7 +131,6 @@ class PackageList(ListModel):
         if update:
             package.is_updating = False
         else:
-            Logger.debug(f"Setting recently installed for package: {package_id}")
             package.is_recently_managed = True
             package.is_installing = False
         self.subscribeUserToPackage(package_id, str(package.sdk_version))
@@ -195,7 +194,7 @@ class PackageList(ListModel):
     def _connectManageButtonSignals(self, package: PackageModel) -> None:
         package.installPackageTriggered.connect(self.installPackage)
         package.uninstallPackageTriggered.connect(self.uninstallPackage)
-        package.updatePackageTriggered.connect(self.installPackage)
+        package.updatePackageTriggered.connect(self.updatePackage)
         package.enablePackageTriggered.connect(self.enablePackage)
         package.disablePackageTriggered.connect(self.disablePackage)
 

+ 0 - 75
plugins/Marketplace/PackageModel.py

@@ -379,78 +379,3 @@ class PackageModel(QObject):
         if value != self._can_update:
             self._can_update = value
             self.stateManageButtonChanged.emit()
-
-    # ----
-
-
-
-
-
-
-
-
-
-
-    # isInstalledChanged = pyqtSignal()
-    #
-    # @pyqtProperty(bool, notify = isInstalledChanged)
-    # def isInstalled(self):
-    #     return self._is_installed
-    #
-    # isEnabledChanged = pyqtSignal()
-    #
-    #
-    #f
-    # @pyqtProperty(bool, notify = isEnabledChanged)
-    # def isEnabled(self) -> bool:
-    #     return self._is_active
-    #
-    #
-    #
-    # isManageEnableStateChanged = pyqtSignalf()
-    #
-    # @pyqtProperty(str, notify = isManageEnableStateChanged)
-    # def isManageEnableState(self) -> str:
-    #     if self.isEnabling:
-    #         return "busy"
-    #     if self.
-    #
-    # manageEnableStateChanged = pyqtSignal()
-    #
-    # @pyqtProperty(str, notify = manageEnableStateChanged)
-    # def manageEnableState(self) -> str:
-    #     # TODO: Handle manual installed packages
-    #     if self._is_installed:
-    #         if self._is_active:
-    #             return "secondary"
-    #         else:
-    #             return "primary"
-    #     else:
-    #         return "hidden"
-    #
-    # manageInstallStateChanged = pyqtSignal()
-    #
-    # def setManageInstallState(self, value: bool) -> None:
-    #     if value != self._is_installed:
-    #         self._is_installed = value
-    #         self.manageInstallStateChanged.emit()
-    #         self.manageEnableStateChanged.emit()
-    #
-    # @pyqtProperty(str, notify = manageInstallStateChanged)
-    # def manageInstallState(self) -> str:
-    #     if self._is_installed:
-    #         if self._is_bundled:
-    #             return "hidden"
-    #         else:
-    #             return "secondary"
-    #     else:
-    #         return "primary"
-    #
-    # manageUpdateStateChanged = pyqtSignal()
-    #
-    # @pyqtProperty(str, notify = manageUpdateStateChanged)
-    # def manageUpdateState(self) -> str:
-    #     if self._can_update:
-    #         return "primary"
-    #     return "hidden"
-    #

+ 2 - 3
plugins/Marketplace/resources/qml/ManageButton.qml

@@ -15,9 +15,8 @@ RowLayout
     property alias secondaryText: secondaryButton.text
     property string busyPrimaryText: busyMessageText.text
     property string busySecondaryText: busyMessageText.text
-    property string mainState: "primary"
     property bool enabled: true
-    property bool busy
+    property bool busy: state == "busy"
 
     signal clicked(bool primary_action)
 
@@ -77,7 +76,7 @@ RowLayout
         {
             id: busyMessageText
             visible: parent.visible
-            text: manageButton.mainState == "primary" ? manageButton.busyPrimaryText : manageButton.busySecondaryText
+            text: manageButton.state == "primary" ? manageButton.busyPrimaryText : manageButton.busySecondaryText
             anchors.left: busyIndicator.right
             anchors.verticalCenter: parent.verticalCenter