CURA-5296 Added "canDowngrade" functionality

Shows "Downgrade" instead of "Uninstall" for bundled packages with an upgrade installed.
This commit is contained in:
Ian Paschal 2018-05-22 14:52:22 +02:00
parent fea37b52be
commit 0b0fb4cd2f
3 changed files with 23 additions and 3 deletions

View file

@ -300,6 +300,20 @@ class Toolbox(QObject, Extension):
remote_version = Version(remote_package["package_version"])
return remote_version > local_version
@pyqtSlot(str, result=bool)
def canDowngrade(self, package_id: str) -> bool:
local_package = self._package_manager.getInstalledPackageInfo(package_id)
if local_package is None:
return False
remote_package = self.getRemotePackage(package_id)
if remote_package is None:
return False
local_version = Version(local_package["package_version"])
remote_version = Version(remote_package["package_version"])
return remote_version < local_version
@pyqtSlot(str, result = bool)
def isInstalled(self, package_id: str) -> bool:
return self._package_manager.isPackageInstalled(package_id)