Fixed the update button busy state

Contributes to: CURA-8587
This commit is contained in:
Jelle Spijker 2021-12-06 13:53:44 +01:00
parent b28cb5ad5e
commit 28b6bfb729
No known key found for this signature in database
GPG key ID: 6662DC033BE6B99A
4 changed files with 11 additions and 89 deletions

View file

@ -68,7 +68,6 @@ 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]}"
@ -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)

View file

@ -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)

View file

@ -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"
#

View file

@ -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