src/eric7/MicroPython/PyBoardDevices.py

branch
eric7
changeset 9752
2b9546c0cbd9
parent 9751
606ac0e26533
diff -r 606ac0e26533 -r 2b9546c0cbd9 src/eric7/MicroPython/PyBoardDevices.py
--- a/src/eric7/MicroPython/PyBoardDevices.py	Sat Feb 11 16:59:50 2023 +0100
+++ b/src/eric7/MicroPython/PyBoardDevices.py	Sat Feb 11 19:52:53 2023 +0100
@@ -11,6 +11,7 @@
 
 from PyQt6.QtCore import QStandardPaths, QUrl, pyqtSlot
 from PyQt6.QtNetwork import QNetworkRequest
+from PyQt6.QtWidgets import QMenu
 
 from eric7 import Globals, Preferences
 from eric7.EricWidgets import EricFileDialog, EricMessageBox
@@ -48,6 +49,8 @@
 
         self.__workspace = self.__findWorkspace()
 
+        self.__createPyboardMenu()
+
     def setButtons(self):
         """
         Public method to enable the supported action buttons.
@@ -221,6 +224,30 @@
         """
         return Preferences.getMicroPython("MicroPythonFirmwareUrl")
 
+    def __createPyboardMenu(self):
+        """
+        Private method to create the pyboard submenu.
+        """
+        self.__pyboardMenu = QMenu(self.tr("PyBoard Functions"))
+
+        self.__showMpyAct = self.__pyboardMenu.addAction(
+            self.tr("Show MicroPython Versions"), self.__showFirmwareVersions
+        )
+        self.__pyboardMenu.addSeparator()
+        self.__bootloaderAct = self.__pyboardMenu.addAction(
+            self.tr("Activate Bootloader"), self.__activateBootloader
+        )
+        self.__dfuAct = self.__pyboardMenu.addAction(
+            self.tr("List DFU-capable Devices"), self.__listDfuCapableDevices
+        )
+        self.__pyboardMenu.addSeparator()
+        self.__flashMpyAct = self.__pyboardMenu.addAction(
+            self.tr("Flash MicroPython Firmware"), self.__flashMicroPython
+        )
+        self.__pyboardMenu.addAction(
+            self.tr("MicroPython Flash Instructions"), self.__showFlashInstructions
+        )
+
     def addDeviceMenuEntries(self, menu):
         """
         Public method to add device specific entries to the given menu.
@@ -231,22 +258,12 @@
         connected = self.microPython.isConnected()
         linkConnected = self.microPython.isLinkConnected()
 
-        menu.addAction(
-            self.tr("Activate Bootloader"), self.__activateBootloader
-        ).setEnabled(connected)
-        menu.addAction(
-            self.tr("List DFU-capable Devices"), self.__listDfuCapableDevices
-        ).setEnabled(not linkConnected)
-        menu.addSeparator()
-        menu.addAction(
-            self.tr("Show MicroPython Versions"), self.__showFirmwareVersions
-        ).setEnabled(connected)
-        menu.addAction(
-            self.tr("Flash MicroPython Firmware"), self.__flashMicroPython
-        ).setEnabled(not linkConnected)
-        menu.addAction(
-            self.tr("MicroPython Flash Instructions"), self.__showFlashInstructions
-        )
+        self.__bootloaderAct.setEnabled(connected)
+        self.__dfuAct.setEnabled(not linkConnected)
+        self.__showMpyAct.setEnabled(connected)
+        self.__flashMpyAct.setEnabled(not linkConnected)
+
+        menu.addMenu(self.__pyboardMenu)
 
     def hasFlashMenuEntry(self):
         """

eric ide

mercurial