src/eric7/MicroPython/EspBackupRestoreFirmwareDialog.py

branch
eric7
changeset 9756
9854647c8c5c
parent 9755
1a09700229e7
child 9757
ab6e87f6f1c4
--- a/src/eric7/MicroPython/EspBackupRestoreFirmwareDialog.py	Sun Feb 12 18:11:20 2023 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2019 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a dialog to select the ESP chip type and the backup and
-restore parameters.
-"""
-
-import os
-
-from PyQt6.QtCore import pyqtSlot
-from PyQt6.QtWidgets import QDialog, QDialogButtonBox
-
-from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
-
-from .Ui_EspBackupRestoreFirmwareDialog import Ui_EspBackupRestoreFirmwareDialog
-
-
-class EspBackupRestoreFirmwareDialog(QDialog, Ui_EspBackupRestoreFirmwareDialog):
-    """
-    Class implementing a dialog to select the ESP chip type and the backup and
-    restore parameters.
-    """
-
-    Chips = (
-        ("", ""),
-        ("ESP32", "esp32"),
-        ("ESP32-C3", "esp32c3"),
-        ("ESP32-S2", "esp32s2"),
-        ("ESP32-S3", "esp32s3"),
-        ("ESP8266", "esp8266"),
-    )
-
-    FlashModes = [
-        ("", ""),
-        ("Quad I/O", "qio"),
-        ("Quad Output", "qout"),
-        ("Dual I/O", "dio"),
-        ("Dual Output", "dout"),
-    ]
-
-    FlashSizes = {
-        "esp32": [
-            (" 1 MB", "0x100000"),
-            (" 2 MB", "0x200000"),
-            (" 4 MB", "0x400000"),
-            (" 8 MB", "0x800000"),
-            ("16 MB", "0x1000000"),
-        ],
-        "esp32c3": [
-            (" 1 MB", "0x100000"),
-            (" 2 MB", "0x200000"),
-            (" 4 MB", "0x400000"),
-            (" 8 MB", "0x800000"),
-            ("16 MB", "0x1000000"),
-        ],
-        "esp32s2": [
-            (" 1 MB", "0x100000"),
-            (" 2 MB", "0x200000"),
-            (" 4 MB", "0x400000"),
-            (" 8 MB", "0x800000"),
-            ("16 MB", "0x1000000"),
-        ],
-        "esp32s3": [
-            (" 1 MB", "0x100000"),
-            (" 2 MB", "0x200000"),
-            (" 4 MB", "0x400000"),
-            (" 8 MB", "0x800000"),
-            ("16 MB", "0x1000000"),
-        ],
-        "esp8266": [
-            ("256 KB", "0x40000"),
-            ("512 KB", "0x80000"),
-            (" 1 MB", "0x100000"),
-            (" 2 MB", "0x200000"),
-            (" 4 MB", "0x400000"),
-            (" 8 MB", "0x800000"),
-            ("16 MB", "0x1000000"),
-        ],
-    }
-
-    def __init__(self, backupMode=True, parent=None):
-        """
-        Constructor
-
-        @param backupMode flag indicating parameters for a firmware backup are
-            requested
-        @type bool
-        @param parent reference to the parent widget
-        @type QWidget
-        """
-        super().__init__(parent)
-        self.setupUi(self)
-
-        self.__isBackupMode = backupMode
-
-        for text, chip in self.Chips:
-            self.espComboBox.addItem(text, chip)
-
-        self.baudRateComboBox.addItems(
-            ["74.880", "115.200", "230.400", "460.800", "921.600", "1.500.000"]
-        )
-        self.baudRateComboBox.setCurrentIndex(3)
-
-        self.firmwarePicker.setFilters(self.tr("Firmware Files (*.img);;All Files (*)"))
-        if self.__isBackupMode:
-            self.firmwarePicker.setMode(
-                EricPathPickerModes.SAVE_FILE_ENSURE_EXTENSION_MODE
-            )
-            self.sizeInfoLabel.clear()
-            self.modeComboBox.setEnabled(False)
-            self.modeInfoLabel.setEnabled(False)
-            self.setWindowTitle(self.tr("Backup Firmware"))
-        else:
-            self.firmwarePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
-            for text, mode in self.FlashModes:
-                self.modeComboBox.addItem(text, mode)
-            self.setWindowTitle(self.tr("Restore Firmware"))
-
-        msh = self.minimumSizeHint()
-        self.resize(max(self.width(), msh.width()), msh.height())
-
-    def __updateOkButton(self):
-        """
-        Private method to update the state of the OK button.
-        """
-        firmwareFile = self.firmwarePicker.text()
-        enable = bool(self.espComboBox.currentText()) and bool(firmwareFile)
-        if self.__isBackupMode:
-            enable &= bool(self.sizeComboBox.currentText())
-        else:
-            enable &= os.path.exists(firmwareFile)
-        self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(enable)
-
-    @pyqtSlot(str)
-    def on_espComboBox_currentTextChanged(self, chip):
-        """
-        Private slot to handle the selection of a chip type.
-
-        @param chip selected chip type
-        @type str
-        """
-        selectedSize = self.sizeComboBox.currentText()
-        self.sizeComboBox.clear()
-        chipType = self.espComboBox.currentData()
-        if chipType and chipType in self.FlashSizes:
-            self.sizeComboBox.addItem("")
-            for text, data in self.FlashSizes[chipType]:
-                self.sizeComboBox.addItem(text, data)
-
-            self.sizeComboBox.setCurrentText(selectedSize)
-
-        self.__updateOkButton()
-
-    @pyqtSlot(str)
-    def on_sizeComboBox_currentTextChanged(self, size):
-        """
-        Private slot handling a change of the selected firmware size.
-
-        @param size selected size text
-        @type str
-        """
-        self.__updateOkButton()
-
-    @pyqtSlot(str)
-    def on_firmwarePicker_textChanged(self, firmware):
-        """
-        Private slot handling a change of the firmware path.
-
-        @param firmware path to the firmware
-        @type str
-        """
-        self.__updateOkButton()
-
-    def getData(self):
-        """
-        Public method to get the entered data.
-
-        @return tuple containing the selected chip type, the firmware size,
-            the baud rate or flashing, the flash mode and the path of the
-            firmware file
-        @rtype tuple of (str, str, str, str, str)
-        """
-        flashSize = (
-            self.sizeComboBox.currentData()
-            if self.__isBackupMode
-            else self.sizeComboBox.currentText().replace(" ", "")
-        )
-
-        return (
-            self.espComboBox.currentData(),
-            flashSize,
-            self.baudRateComboBox.currentText().replace(".", ""),
-            self.modeComboBox.currentData(),
-            self.firmwarePicker.text(),
-        )

eric ide

mercurial