From 7c810eeca85362bc229db4de09f912da9d4e1940 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 28 Jul 2023 14:52:56 +0200 Subject: [PATCH 1/3] Ease of use; each backend-plugin can now provide additional settings. Any overriding cals that does so, should just add 'self.definition_file_paths' to load their additional settings. However, at the moment of this commit, you should still suppy setting_definitions_appender in the list of __init__.register for the plugin. part of CURA-10722 --- cura/BackendPlugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/BackendPlugin.py b/cura/BackendPlugin.py index 5f22e33fbb..be48aa50d2 100644 --- a/cura/BackendPlugin.py +++ b/cura/BackendPlugin.py @@ -4,10 +4,10 @@ import subprocess from typing import Optional, List from UM.Logger import Logger -from UM.PluginObject import PluginObject +from UM.Settings.AdditionalSettingDefinitionAppender import AdditionalSettingDefinitionsAppender -class BackendPlugin(PluginObject): +class BackendPlugin(AdditionalSettingDefinitionsAppender): def __init__(self) -> None: super().__init__() self.__port: int = 0 From 4c8209874573ec0ef34b1812000acf96acb088d7 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 28 Jul 2023 15:13:48 +0200 Subject: [PATCH 2/3] Backend-plugins don't have to register separately for extra setting-defs. Also they now have their own appender-type (previously it was _always_ 'PLUGIN', now the other plugins are 'EXTRA'). part of CURA-10722 --- cura/BackendPlugin.py | 1 + cura/CuraApplication.py | 1 + 2 files changed, 2 insertions(+) diff --git a/cura/BackendPlugin.py b/cura/BackendPlugin.py index be48aa50d2..cd859197a0 100644 --- a/cura/BackendPlugin.py +++ b/cura/BackendPlugin.py @@ -16,6 +16,7 @@ class BackendPlugin(AdditionalSettingDefinitionsAppender): self._process = None self._is_running = False self._supported_slots: List[int] = [] + self.appender_type = "PLUGIN" def getSupportedSlots(self) -> List[int]: return self._supported_slots diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 807757d1ed..1a00d527d3 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1745,6 +1745,7 @@ class CuraApplication(QtApplication): pass def _addBackendPlugin(self, backend_plugin: "BackendPlugin") -> None: + self._container_registry.addAdditionalSettingDefinitionsAppender(backend_plugin) self._backend_plugins.append(backend_plugin) def getBackendPlugins(self) -> List["BackendPlugin"]: From 4f2b038a5969d6464bfffb710da362316f9f7bc8 Mon Sep 17 00:00:00 2001 From: Casper Lamboo Date: Thu, 3 Aug 2023 13:04:14 +0200 Subject: [PATCH 3/3] Use "PLUGIN" as default `appender_type` --- cura/BackendPlugin.py | 1 - 1 file changed, 1 deletion(-) diff --git a/cura/BackendPlugin.py b/cura/BackendPlugin.py index cd859197a0..be48aa50d2 100644 --- a/cura/BackendPlugin.py +++ b/cura/BackendPlugin.py @@ -16,7 +16,6 @@ class BackendPlugin(AdditionalSettingDefinitionsAppender): self._process = None self._is_running = False self._supported_slots: List[int] = [] - self.appender_type = "PLUGIN" def getSupportedSlots(self) -> List[int]: return self._supported_slots