diff --git a/CHANGELOG.md b/CHANGELOG.md index 6366b23..019ac13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog of Cura-DuetRRFPlugin +## v1.2.3: 2021-01-30 + * move deleting of unmapped settings to action button on message + * correctly bump plugin version metadata + ## v1.2.2: 2021-01-27 * add OutputDevices on currently active printer after saving config * remove OutputDevices on currently active printer after deleting config diff --git a/DuetRRFPlugin.py b/DuetRRFPlugin.py index dcd051c..cc95d60 100644 --- a/DuetRRFPlugin.py +++ b/DuetRRFPlugin.py @@ -59,8 +59,6 @@ def _check_unmapped_settings(self): if self._found_unmapped: Logger.log("d", "Unmapped settings found!") - self.addMenuItem(catalog.i18n("Show unmapped settings..."), self._showUnmappedSettingsMessage) - self.addMenuItem(catalog.i18n("Delete unmapped settings"), self._deleteUnmappedSettings) self._showUnmappedSettingsMessage() else: Logger.log("d", "No unmapped settings found.") @@ -75,9 +73,6 @@ def _showUnmappedSettingsMessage(self): "→ Printers\n" "→ activate and select your printer\n" "→ click on 'Connect Duet RepRapFirmware'\n" - "\n" - "You can can delete unmapped settings of unknown printers via:\n" - "→ Extensions menu → DuetRRF → Delete unmapped settings" ) if self._found_unmapped: msg += "\n\n" @@ -99,24 +94,45 @@ def _showUnmappedSettingsMessage(self): lifetime=0, title="DuetRRF: Settings moved to Cura Preferences!", ) + if self._found_unmapped: + message.addAction( + action_id="ignore", + name=catalog.i18nc("@action:button", "Ignore"), + icon="", + description="Close this message", + ) + message.addAction( + action_id="delete", + name=catalog.i18nc("@action:button", "Delete"), + icon="", + description="Delete unmapped settings for unknown printers", + ) + message.actionTriggered.connect(self._onActionTriggeredUnmappedSettings) message.show() - def _deleteUnmappedSettings(self): - Logger.log("d", "called: {}".format(self._found_unmapped.keys())) + def _onActionTriggeredUnmappedSettings(self, message, action): + Logger.log("d", "called: {}, {}".format(action, self._found_unmapped.keys())) + message.hide() + + if action == "ignore": + return + if action == "delete" and not self._found_unmapped: + return for printer_id in self._found_unmapped.keys(): - delete_config(printer_id) + if delete_config(printer_id): + Logger.log("d", "successfully delete unmapped settings for {}".format(printer_id)) + else: + Logger.log("e", "failed to delete unmapped settings for {}".format(printer_id)) message = Message( - "Unmapped settings have been deleted for the following printers:\n{}\n\n" - "Please restart Cura.".format( + "Unmapped settings have been deleted for the following printers:\n{}\n\n".format( ",\n".join(self._found_unmapped.keys()) ), lifetime=5000, title="DuetRRF: unmapped settings successfully deleted!", ) message.show() - self._found_unmapped = {} def _checkDuetRRFOutputDevices(self): diff --git a/plugin.json b/plugin.json index 4764ad4..92ae93e 100644 --- a/plugin.json +++ b/plugin.json @@ -2,6 +2,6 @@ "name": "DuetRRF", "author": "Thomas Kriechbaumer", "description": "Upload and Print to Duet 2 Wifi / Duet 2 Ethernet / Duet 2 Maestro / Duet 3 with RepRapFirmware.", - "version": "1.2.0", + "version": "1.2.3", "supported_sdk_versions": ["7.3.0", "7.4.0"] }