mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Fixed the spinner
Contributes to CURA-8587
This commit is contained in:
parent
9b7731a21b
commit
a571e87553
3 changed files with 15 additions and 8 deletions
|
@ -64,23 +64,30 @@ class PackageModel(QObject):
|
|||
self._icon_url = author_data.get("icon_url", "")
|
||||
|
||||
self._is_installing = False
|
||||
self._recently_installed = False
|
||||
self._install_status_changing = False
|
||||
|
||||
self._can_update = False
|
||||
self._is_updating = False
|
||||
self._recently_updated = False
|
||||
self._section_title = section_title
|
||||
self.sdk_version = package_data.get("sdk_version_semver", "")
|
||||
# Note that there's a lot more info in the package_data than just these specified here.
|
||||
|
||||
self.enablePackageTriggered.connect(self._plugin_registry.enablePlugin)
|
||||
self.disablePackageTriggered.connect(self._plugin_registry.disablePlugin)
|
||||
self.installPackageTriggered.connect(lambda pkg_id: self.setIsInstalling(True))
|
||||
self.installPackageTriggered.connect(lambda pkg_id, url: self.setIsInstalling(True))
|
||||
self.uninstallPackageTriggered.connect(lambda pkg_id: self.setIsInstalling(True))
|
||||
self.updatePackageTriggered.connect(lambda pkg_id: self.setIsUpdating(True))
|
||||
|
||||
def finished_installed():
|
||||
self.setIsUpdating(False)
|
||||
self.setIsInstalling(False)
|
||||
if self.isInstalling:
|
||||
self._recently_installed = True
|
||||
self.setIsInstalling(False)
|
||||
if self.isUpdating:
|
||||
self._recently_updated = True
|
||||
self._can_update = not self._package_id in self._package_manager.getPackagesToInstall()
|
||||
self.setIsUpdating(False)
|
||||
|
||||
self._package_manager.installedPackagesChanged.connect(finished_installed)
|
||||
self._plugin_registry.hasPluginsEnabledOrDisabledChanged.connect(self.stateManageButtonChanged)
|
||||
|
@ -324,7 +331,7 @@ class PackageModel(QObject):
|
|||
|
||||
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
||||
def isRecentlyInstalled(self) -> bool:
|
||||
return self._package_id in self._package_manager.getPackagesToInstall()
|
||||
return self._recently_installed and self._package_id in self._package_manager.getPackagesToInstall()
|
||||
|
||||
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
||||
def isRecentlyUninstalled(self) -> bool:
|
||||
|
@ -346,7 +353,7 @@ class PackageModel(QObject):
|
|||
|
||||
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
||||
def isRecentlyUpdated(self):
|
||||
return self._package_id in self._package_manager.getPackagesToInstall() and self._package_id in self._package_manager.getPackagesToRemove()
|
||||
return self._recently_updated and self._package_id in self._package_manager.getPackagesToInstall()
|
||||
|
||||
def setCanUpdate(self, value: bool) -> None:
|
||||
if value != self._can_update:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue