From b7542a8ef8ff17491c1366e7ca5532ebc9e0c526 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 20:55:51 +0200 Subject: [PATCH] Move Firmware Updater into a plugin of its own --- .../FirmwareUpdaterMachineAction.py} | 4 ++-- .../FirmwareUpdaterMachineAction.qml} | 18 +++++++++--------- plugins/FirmwareUpdater/__init__.py | 13 +++++++++++++ plugins/FirmwareUpdater/plugin.json | 8 ++++++++ plugins/UltimakerMachineActions/__init__.py | 5 ----- resources/bundled_packages/cura.json | 17 +++++++++++++++++ 6 files changed, 49 insertions(+), 16 deletions(-) rename plugins/{UltimakerMachineActions/UpgradeFirmwareMachineAction.py => FirmwareUpdater/FirmwareUpdaterMachineAction.py} (96%) rename plugins/{UltimakerMachineActions/UpgradeFirmwareMachineAction.qml => FirmwareUpdater/FirmwareUpdaterMachineAction.qml} (92%) create mode 100644 plugins/FirmwareUpdater/__init__.py create mode 100644 plugins/FirmwareUpdater/plugin.json diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py similarity index 96% rename from plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py rename to plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py index 8d03a15b38..4faa3abc64 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py @@ -19,10 +19,10 @@ if MYPY: catalog = i18nCatalog("cura") ## Upgrade the firmware of a machine by USB with this action. -class UpgradeFirmwareMachineAction(MachineAction): +class FirmwareUpdaterMachineAction(MachineAction): def __init__(self) -> None: super().__init__("UpgradeFirmware", catalog.i18nc("@action", "Upgrade Firmware")) - self._qml_url = "UpgradeFirmwareMachineAction.qml" + self._qml_url = "FirmwareUpdaterMachineAction.qml" ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) self._active_output_device = None #type: Optional[PrinterOutputDevice] diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml similarity index 92% rename from plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml rename to plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml index 1c1f39edd0..ab5bb89347 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml @@ -20,7 +20,7 @@ Cura.MachineAction Column { - id: upgradeFirmwareMachineAction + id: firmwareUpdaterMachineAction anchors.fill: parent; UM.I18nCatalog { id: catalog; name:"cura"} spacing: UM.Theme.getSize("default_margin").height @@ -28,7 +28,7 @@ Cura.MachineAction Label { width: parent.width - text: catalog.i18nc("@title", "Upgrade Firmware") + text: catalog.i18nc("@title", "Update Firmware") wrapMode: Text.WordWrap font.pointSize: 18 } @@ -59,7 +59,7 @@ Cura.MachineAction enabled: parent.firmwareName != "" && canUpdateFirmware onClicked: { - firmwareUpdateWindow.visible = true; + updateProgressDialog.visible = true; activeOutputDevice.updateFirmware(parent.firmwareName); } } @@ -79,8 +79,8 @@ Cura.MachineAction { width: parent.width wrapMode: Text.WordWrap - visible: !printerConnected && !firmwareUpdateWindow.visible - text: catalog.i18nc("@label", "Firmware can not be upgraded because there is no connection with the printer."); + visible: !printerConnected && !updateProgressDialog.visible + text: catalog.i18nc("@label", "Firmware can not be updated because there is no connection with the printer."); } Label @@ -88,7 +88,7 @@ Cura.MachineAction width: parent.width wrapMode: Text.WordWrap visible: printerConnected && !canUpdateFirmware - text: catalog.i18nc("@label", "Firmware can not be upgraded because the connection with the printer does not support upgrading firmware."); + text: catalog.i18nc("@label", "Firmware can not be updated because the connection with the printer does not support upgrading firmware."); } } @@ -100,14 +100,14 @@ Cura.MachineAction selectExisting: true onAccepted: { - firmwareUpdateWindow.visible = true; + updateProgressDialog.visible = true; activeOutputDevice.updateFirmware(fileUrl); } } UM.Dialog { - id: firmwareUpdateWindow + id: updateProgressDialog width: minimumWidth minimumWidth: 500 * screenScaleFactor @@ -184,7 +184,7 @@ Cura.MachineAction { text: catalog.i18nc("@action:button","Close"); enabled: (manager.firmwareUpdater != null) ? manager.firmwareUpdater.firmwareUpdateState != 1 : true; - onClicked: firmwareUpdateWindow.visible = false; + onClicked: updateProgressDialog.visible = false; } ] } diff --git a/plugins/FirmwareUpdater/__init__.py b/plugins/FirmwareUpdater/__init__.py new file mode 100644 index 0000000000..58c351a4ea --- /dev/null +++ b/plugins/FirmwareUpdater/__init__.py @@ -0,0 +1,13 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from . import FirmwareUpdaterMachineAction + +def getMetaData(): + return { + } + +def register(app): + return { "machine_action": [ + FirmwareUpdaterMachineAction.FirmwareUpdaterMachineAction(), + ]} diff --git a/plugins/FirmwareUpdater/plugin.json b/plugins/FirmwareUpdater/plugin.json new file mode 100644 index 0000000000..3e09eab2b5 --- /dev/null +++ b/plugins/FirmwareUpdater/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Firmware Updater", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides a machine actions for updating firmware.", + "api": 5, + "i18n-catalog": "cura" +} diff --git a/plugins/UltimakerMachineActions/__init__.py b/plugins/UltimakerMachineActions/__init__.py index 495f212736..30493536ce 100644 --- a/plugins/UltimakerMachineActions/__init__.py +++ b/plugins/UltimakerMachineActions/__init__.py @@ -2,13 +2,9 @@ # Cura is released under the terms of the LGPLv3 or higher. from . import BedLevelMachineAction -from . import UpgradeFirmwareMachineAction from . import UMOUpgradeSelection from . import UM2UpgradeSelection -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - def getMetaData(): return { } @@ -16,7 +12,6 @@ def getMetaData(): def register(app): return { "machine_action": [ BedLevelMachineAction.BedLevelMachineAction(), - UpgradeFirmwareMachineAction.UpgradeFirmwareMachineAction(), UMOUpgradeSelection.UMOUpgradeSelection(), UM2UpgradeSelection.UM2UpgradeSelection() ]} diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 7107bbe4f0..ad97f3595b 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -118,6 +118,23 @@ } } }, + "FirmwareUpdater": { + "package_info": { + "package_id": "FirmwareUpdater", + "package_type": "plugin", + "display_name": "Firmware Updater", + "description": "Provides a machine actions for updating firmware.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com", + "author": { + "author_id": "Ultimaker", + "display_name": "Ultimaker B.V.", + "email": "plugins@ultimaker.com", + "website": "https://ultimaker.com" + } + } + }, "GCodeGzReader": { "package_info": { "package_id": "GCodeGzReader",