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): """