src/eric7/MicroPython/RP2040Devices.py

branch
eric7
changeset 9752
2b9546c0cbd9
parent 9751
606ac0e26533
child 9755
1a09700229e7
diff -r 606ac0e26533 -r 2b9546c0cbd9 src/eric7/MicroPython/RP2040Devices.py
--- a/src/eric7/MicroPython/RP2040Devices.py	Sat Feb 11 16:59:50 2023 +0100
+++ b/src/eric7/MicroPython/RP2040Devices.py	Sat Feb 11 19:52:53 2023 +0100
@@ -10,6 +10,7 @@
 
 from PyQt6.QtCore import QUrl, pyqtSlot
 from PyQt6.QtNetwork import QNetworkRequest
+from PyQt6.QtWidgets import QMenu
 
 from eric7 import Globals, Preferences
 from eric7.EricWidgets import EricMessageBox
@@ -37,6 +38,8 @@
         """
         super().__init__(microPythonWidget, deviceType, parent)
 
+        self.__createRP2040Menu()
+
     def setButtons(self):
         """
         Public method to enable the supported action buttons.
@@ -115,6 +118,23 @@
         """
         return True, ""
 
+    def __createRP2040Menu(self):
+        """
+        Private method to create the microbit submenu.
+        """
+        self.__rp2040Menu = QMenu(self.tr("RP2040 Functions"))
+
+        self.__showMpyAct = self.__rp2040Menu.addAction(
+            self.tr("Show MicroPython Versions"), self.__showFirmwareVersions
+        )
+        self.__rp2040Menu.addSeparator()
+        self.__bootloaderAct = self.__rp2040Menu.addAction(
+            self.tr("Activate Bootloader"), self.__activateBootloader
+        )
+        self.__flashMpyAct = self.__rp2040Menu.addAction(
+            self.tr("Flash MicroPython Firmware"), self.__flashPython
+        )
+
     def addDeviceMenuEntries(self, menu):
         """
         Public method to add device specific entries to the given menu.
@@ -125,15 +145,11 @@
         connected = self.microPython.isConnected()
         linkConnected = self.microPython.isLinkConnected()
 
-        menu.addAction(
-            self.tr("Show MicroPython Versions"), self.__showFirmwareVersions
-        ).setEnabled(connected)
-        menu.addAction(
-            self.tr("Activate Bootloader"), self.__activateBootloader
-        ).setEnabled(connected)
-        menu.addAction(
-            self.tr("Flash MicroPython Firmware"), self.__flashPython
-        ).setEnabled(not linkConnected)
+        self.__showMpyAct.setEnabled(connected)
+        self.__bootloaderAct.setEnabled(connected)
+        self.__flashMpyAct.setEnabled(not linkConnected)
+
+        menu.addMenu(self.__rp2040Menu)
 
     def hasFlashMenuEntry(self):
         """

eric ide

mercurial