src/eric7/MicroPython/ConvertToUF2Dialog.py

Sun, 16 Mar 2025 12:53:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 Mar 2025 12:53:12 +0100
branch
eric7
changeset 11170
6d6199d668fb
parent 11090
f5f5f5803935
permissions
-rw-r--r--

Added the Adafruit Feather nRF52840 to the list of known NRF52 boards and changed the list of known CircuitPython boards to be more explicit with respect to Adafruit boards (i.e. VID 0x239A).

9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10690
diff changeset
3 # Copyright (c) 2023 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to convert a .hex or .bin firmware file to .uf2.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import json
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt6.QtCore import QProcess, QRegularExpression, pyqtSlot
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtGui import QRegularExpressionValidator
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from PyQt6.QtWidgets import QDialog
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from eric7 import Preferences
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 from eric7.SystemUtilities.PythonUtilities import getPythonExecutable
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 from .Ui_ConvertToUF2Dialog import Ui_ConvertToUF2Dialog
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 class ConvertToUF2Dialog(QDialog, Ui_ConvertToUF2Dialog):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Class implementing a dialog to convert a .hex or .bin firmware file to .uf2.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 FamiliesFile = os.path.join(os.path.dirname(__file__), "Tools", "uf2families.json")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 ConvertScript = os.path.join(os.path.dirname(__file__), "Tools", "uf2conv.py")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 def __init__(self, parent=None):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 Constructor
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 @param parent reference to the parent widget (defaults to None)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @type QWidget (optional)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 super().__init__(parent)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.setupUi(self)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.firmwarePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.firmwarePicker.setFilters(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.tr("MicroPython Firmware Files (*.hex *.bin);;All Files (*)")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.__validator = QRegularExpressionValidator(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 QRegularExpression(r"[0-9a-fA-F]{0,7}")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.addressEdit.setValidator(self.__validator)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.addressEdit.setEnabled(False)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__populateFamilyComboBox()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 self.__process = QProcess(self)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 self.__process.readyReadStandardOutput.connect(self.__readOutput)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.__process.readyReadStandardError.connect(self.__readError)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.__process.finished.connect(self.__conversionFinished)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.__updateConvertButton()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 def __populateFamilyComboBox(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 Private method to populate the chip family combo box with values read from
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 'uf2families.json' file.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 with open(ConvertToUF2Dialog.FamiliesFile, "r") as f:
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 families = json.load(f)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.familiesComboBox.addItem("", "")
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 for family in families:
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.familiesComboBox.addItem(family["description"], family["id"])
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.familiesComboBox.model().sort(0)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 def __updateConvertButton(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 Private method to set the enabled status of the 'Convert' button.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.convertButton.setEnabled(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 bool(self.firmwarePicker.text())
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 and bool(self.familiesComboBox.currentText())
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 @pyqtSlot(str)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 def on_firmwarePicker_textChanged(self, firmware):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 Private slot handling a change of the firmware file name.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 @param firmware name of the firmware file
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 @type str
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.addressEdit.setEnabled(firmware.lower().endswith(".bin"))
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 self.__updateConvertButton()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 @pyqtSlot(str)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 def on_familiesComboBox_currentTextChanged(self, family):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 Private slot handling the selection of a chip family.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 @param family name of the selected chip family
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 @type str
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.__updateConvertButton()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 @pyqtSlot()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 def on_convertButton_clicked(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 Private slot activating the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 self.outputEdit.clear()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 inputFile = self.firmwarePicker.text()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 outputFile = os.path.splitext(inputFile)[0] + ".uf2"
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114 args = [
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 ConvertToUF2Dialog.ConvertScript,
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 "--convert",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 "--family",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 self.familiesComboBox.currentData(),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 "--output",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 outputFile,
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 ]
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 if inputFile.lower().endswith(".bin"):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 address = self.addressEdit.text()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 if address:
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 args.extend(["--base", "0x{0}".format(address)])
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 args.append(inputFile)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 python = getPythonExecutable()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 # output the generated command
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 self.outputEdit.insertPlainText(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 "{0} {1}\n{2}\n\n".format(python, " ".join(args), "=" * 40)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.outputEdit.ensureCursorVisible()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 # start the conversion process
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 self.convertButton.setEnabled(False)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 self.__process.start(python, args)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 @pyqtSlot()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 def __readOutput(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 Private slot to read the standard output channel of the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 out = str(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 self.__process.readAllStandardOutput(),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 Preferences.getSystem("IOEncoding"),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 "replace",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.outputEdit.insertPlainText(out)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self.outputEdit.ensureCursorVisible()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 @pyqtSlot()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 def __readError(self):
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 Private slot to read the standard error channel of the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 out = str(
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 self.__process.readAllStandardError(),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 Preferences.getSystem("IOEncoding"),
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 "replace",
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 )
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 self.outputEdit.insertPlainText(self.tr("--- ERROR ---\n"))
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 self.outputEdit.insertPlainText(out)
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 self.outputEdit.ensureCursorVisible()
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165
10069
435cc5875135 Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9915
diff changeset
166 @pyqtSlot(int, QProcess.ExitStatus)
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
167 def __conversionFinished(self, _exitCode, _exitStatus):
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 Private slot handling the end of the conversion process.
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
171 @param _exitCode exit code of the process (unused)
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 @type int
10690
fab36645aa7d Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
173 @param _exitStatus exit status of the process (unused)
9915
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 @type QProcess.ExitStatus
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 """
fd5ff16632cb MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 self.convertButton.setEnabled(True)

eric ide

mercurial