mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-22 05:39:37 +08:00
19 lines
1.0 KiB
Python
19 lines
1.0 KiB
Python
from cura.MachineAction import MachineAction
|
|
from UM.i18n import i18nCatalog
|
|
import cura.Settings.CuraContainerRegistry
|
|
import UM.Settings.DefinitionContainer
|
|
catalog = i18nCatalog("cura")
|
|
|
|
|
|
## Upgrade the firmware of a machine by USB with this action.
|
|
class UpgradeFirmwareMachineAction(MachineAction):
|
|
def __init__(self):
|
|
super().__init__("UpgradeFirmware", catalog.i18nc("@action", "Upgrade Firmware"))
|
|
self._qml_url = "UpgradeFirmwareMachineAction.qml"
|
|
cura.Settings.CuraContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded)
|
|
|
|
def _onContainerAdded(self, container):
|
|
# Add this action as a supported action to all machine definitions if they support USB connection
|
|
if isinstance(container, UM.Settings.DefinitionContainer) and container.getMetaDataEntry("type") == "machine" and container.getMetaDataEntry("supports_usb_connection"):
|
|
UM.Application.getInstance().getMachineActionManager().addSupportedAction(container.getId(), self.getKey())
|