mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-13 01:37:51 -06:00
CURA-5035 Installed plugins instantly move to the installed tab
This commit is contained in:
parent
a5a35ef98b
commit
d3ba684b15
1 changed files with 15 additions and 9 deletions
|
@ -196,15 +196,7 @@ class Toolbox(QObject, Extension):
|
||||||
self._makeRequestByType("plugins_showcase")
|
self._makeRequestByType("plugins_showcase")
|
||||||
|
|
||||||
# Gather installed packages:
|
# Gather installed packages:
|
||||||
all_packages = self._package_manager.getAllInstalledPackagesInfo()
|
self._updateInstalledModels()
|
||||||
if "plugin" in all_packages:
|
|
||||||
self._metadata["plugins_installed"] = all_packages["plugin"]
|
|
||||||
self._models["plugins_installed"].setMetadata(self._metadata["plugins_installed"])
|
|
||||||
self.metadataChanged.emit()
|
|
||||||
if "material" in all_packages:
|
|
||||||
self._metadata["materials_installed"] = all_packages["material"]
|
|
||||||
self._models["materials_installed"].setMetadata(self._metadata["materials_installed"])
|
|
||||||
self.metadataChanged.emit()
|
|
||||||
|
|
||||||
if not self._dialog:
|
if not self._dialog:
|
||||||
self._dialog = self._createDialog("Toolbox.qml")
|
self._dialog = self._createDialog("Toolbox.qml")
|
||||||
|
@ -219,10 +211,23 @@ class Toolbox(QObject, Extension):
|
||||||
dialog = Application.getInstance().createQmlComponent(path, {"toolbox": self})
|
dialog = Application.getInstance().createQmlComponent(path, {"toolbox": self})
|
||||||
return dialog
|
return dialog
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def _updateInstalledModels(self):
|
||||||
|
all_packages = self._package_manager.getAllInstalledPackagesInfo()
|
||||||
|
if "plugin" in all_packages:
|
||||||
|
self._metadata["plugins_installed"] = all_packages["plugin"]
|
||||||
|
self._models["plugins_installed"].setMetadata(self._metadata["plugins_installed"])
|
||||||
|
self.metadataChanged.emit()
|
||||||
|
if "material" in all_packages:
|
||||||
|
self._metadata["materials_installed"] = all_packages["material"]
|
||||||
|
self._models["materials_installed"].setMetadata(self._metadata["materials_installed"])
|
||||||
|
self.metadataChanged.emit()
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def install(self, file_path):
|
def install(self, file_path):
|
||||||
self._package_manager.installPackage(file_path)
|
self._package_manager.installPackage(file_path)
|
||||||
self.installChanged.emit()
|
self.installChanged.emit()
|
||||||
|
self._updateInstalledModels()
|
||||||
self.metadataChanged.emit()
|
self.metadataChanged.emit()
|
||||||
self._restart_required = True
|
self._restart_required = True
|
||||||
self.restartRequiredChanged.emit()
|
self.restartRequiredChanged.emit()
|
||||||
|
@ -231,6 +236,7 @@ class Toolbox(QObject, Extension):
|
||||||
def uninstall(self, plugin_id):
|
def uninstall(self, plugin_id):
|
||||||
self._package_manager.removePackage(plugin_id)
|
self._package_manager.removePackage(plugin_id)
|
||||||
self.installChanged.emit()
|
self.installChanged.emit()
|
||||||
|
self._updateInstalledModels()
|
||||||
self.metadataChanged.emit()
|
self.metadataChanged.emit()
|
||||||
self._restart_required = True
|
self._restart_required = True
|
||||||
self.restartRequiredChanged.emit()
|
self.restartRequiredChanged.emit()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue