Merge branch 'CURA-8587_disable_update_install_and_uninstall' of github.com:Ultimaker/Cura into CURA-8587_disable_update_install_and_uninstall

This commit is contained in:
Jaime van Kessel 2021-12-06 12:02:44 +01:00
commit b28cb5ad5e
2 changed files with 16 additions and 4 deletions

View File

@ -11,6 +11,7 @@ from UM.Qt.ListModel import ListModel
from UM.TaskManagement.HttpRequestScope import JsonDecoratorScope from UM.TaskManagement.HttpRequestScope import JsonDecoratorScope
from UM.TaskManagement.HttpRequestManager import HttpRequestData, HttpRequestManager from UM.TaskManagement.HttpRequestManager import HttpRequestData, HttpRequestManager
from UM.Logger import Logger from UM.Logger import Logger
from UM import PluginRegistry
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
from cura import CuraPackageManager from cura import CuraPackageManager
@ -35,6 +36,7 @@ class PackageList(ListModel):
def __init__(self, parent: Optional["QObject"] = None) -> None: def __init__(self, parent: Optional["QObject"] = None) -> None:
super().__init__(parent) super().__init__(parent)
self._manager: CuraPackageManager = CuraApplication.getInstance().getPackageManager() self._manager: CuraPackageManager = CuraApplication.getInstance().getPackageManager()
self._plugin_registry: PluginRegistry = CuraApplication.getInstance().getPluginRegistry()
self._account = CuraApplication.getInstance().getCuraAPI().account self._account = CuraApplication.getInstance().getCuraAPI().account
self._error_message = "" self._error_message = ""
self.addRoleName(self.PackageRole, "package") self.addRoleName(self.PackageRole, "package")
@ -229,7 +231,8 @@ class PackageList(ListModel):
package = self.getPackageModel(package_id) package = self.getPackageModel(package_id)
package.is_enabling = True package.is_enabling = True
Logger.debug(f"Enabling {package_id}") Logger.debug(f"Enabling {package_id}")
# TODO: implement enabling functionality self._plugin_registry.enablePlugin(package_id)
package.is_active = True
package.is_enabling = False package.is_enabling = False
@pyqtSlot(str) @pyqtSlot(str)
@ -237,5 +240,6 @@ class PackageList(ListModel):
package = self.getPackageModel(package_id) package = self.getPackageModel(package_id)
package.is_enabling = True package.is_enabling = True
Logger.debug(f"Disabling {package_id}") Logger.debug(f"Disabling {package_id}")
# TODO: implement disabling functionality self._plugin_registry.disablePlugin(package_id)
package.is_active = False
package.is_enabling = False package.is_enabling = False

View File

@ -287,8 +287,6 @@ class PackageModel(QObject):
if self._is_recently_managed: if self._is_recently_managed:
return "hidden" return "hidden"
if self._package_type == "material": if self._package_type == "material":
if self._is_bundled: # TODO: Check if a bundled material can/should be un-/install en-/disabled
return "secondary"
return "hidden" return "hidden"
if not self._is_installed: if not self._is_installed:
return "hidden" return "hidden"
@ -306,6 +304,16 @@ class PackageModel(QObject):
self._is_enabling = value self._is_enabling = value
self.stateManageButtonChanged.emit() self.stateManageButtonChanged.emit()
@property
def is_active(self) -> bool:
return self._is_active
@is_active.setter
def is_active(self, value: bool) -> None:
if value != self._is_active:
self._is_active = value
self.stateManageButtonChanged.emit()
# --- Installing --- # --- Installing ---
@pyqtProperty(str, notify = stateManageButtonChanged) @pyqtProperty(str, notify = stateManageButtonChanged)