mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 09:17:50 -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._icon_url = author_data.get("icon_url", "")
|
||||||
|
|
||||||
self._is_installing = False
|
self._is_installing = False
|
||||||
|
self._recently_installed = False
|
||||||
self._install_status_changing = False
|
self._install_status_changing = False
|
||||||
|
|
||||||
self._can_update = False
|
self._can_update = False
|
||||||
self._is_updating = False
|
self._is_updating = False
|
||||||
|
self._recently_updated = False
|
||||||
self._section_title = section_title
|
self._section_title = section_title
|
||||||
self.sdk_version = package_data.get("sdk_version_semver", "")
|
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.
|
# 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.enablePackageTriggered.connect(self._plugin_registry.enablePlugin)
|
||||||
self.disablePackageTriggered.connect(self._plugin_registry.disablePlugin)
|
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.uninstallPackageTriggered.connect(lambda pkg_id: self.setIsInstalling(True))
|
||||||
self.updatePackageTriggered.connect(lambda pkg_id: self.setIsUpdating(True))
|
self.updatePackageTriggered.connect(lambda pkg_id: self.setIsUpdating(True))
|
||||||
|
|
||||||
def finished_installed():
|
def finished_installed():
|
||||||
self.setIsUpdating(False)
|
if self.isInstalling:
|
||||||
self.setIsInstalling(False)
|
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._package_manager.installedPackagesChanged.connect(finished_installed)
|
||||||
self._plugin_registry.hasPluginsEnabledOrDisabledChanged.connect(self.stateManageButtonChanged)
|
self._plugin_registry.hasPluginsEnabledOrDisabledChanged.connect(self.stateManageButtonChanged)
|
||||||
|
@ -324,7 +331,7 @@ class PackageModel(QObject):
|
||||||
|
|
||||||
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
||||||
def isRecentlyInstalled(self) -> bool:
|
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)
|
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
||||||
def isRecentlyUninstalled(self) -> bool:
|
def isRecentlyUninstalled(self) -> bool:
|
||||||
|
@ -346,7 +353,7 @@ class PackageModel(QObject):
|
||||||
|
|
||||||
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
@pyqtProperty(bool, notify = stateManageButtonChanged)
|
||||||
def isRecentlyUpdated(self):
|
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:
|
def setCanUpdate(self, value: bool) -> None:
|
||||||
if value != self._can_update:
|
if value != self._can_update:
|
||||||
|
|
|
@ -61,7 +61,7 @@ Item
|
||||||
RotationAnimator
|
RotationAnimator
|
||||||
{
|
{
|
||||||
target: busyIndicator
|
target: busyIndicator
|
||||||
running: busyMessage.visible
|
running: parent.visible
|
||||||
from: 0
|
from: 0
|
||||||
to: 360
|
to: 360
|
||||||
loops: Animation.Infinite
|
loops: Animation.Infinite
|
||||||
|
|
|
@ -242,7 +242,7 @@ Item
|
||||||
{
|
{
|
||||||
if (primary_action)
|
if (primary_action)
|
||||||
{
|
{
|
||||||
packageData.installPackageTriggered(packageData.packageId)
|
packageData.installPackageTriggered(packageData.packageId, packageData.downloadURL)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -270,7 +270,7 @@ Item
|
||||||
else { return catalog.i18nc("@button", "Update"); }
|
else { return catalog.i18nc("@button", "Update"); }
|
||||||
}
|
}
|
||||||
|
|
||||||
onClicked: packageData.updatePackageTriggered(packageData.packageId, packageData.downloadURL)
|
onClicked: packageData.updatePackageTriggered(packageData.packageId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue