src/eric7/MicroPython/CircuitPythonDevices.py

branch
eric7
changeset 9752
2b9546c0cbd9
parent 9751
606ac0e26533
child 9755
1a09700229e7
diff -r 606ac0e26533 -r 2b9546c0cbd9 src/eric7/MicroPython/CircuitPythonDevices.py
--- a/src/eric7/MicroPython/CircuitPythonDevices.py	Sat Feb 11 16:59:50 2023 +0100
+++ b/src/eric7/MicroPython/CircuitPythonDevices.py	Sat Feb 11 19:52:53 2023 +0100
@@ -58,6 +58,8 @@
             "teensy": self.__flashTeensy,
         }
 
+        self.__createCPyMenu()
+
     def setButtons(self):
         """
         Public method to enable the supported action buttons.
@@ -240,6 +242,27 @@
             self.__workspace = self.__findWorkspace(silent=silent)
             return self.__workspace
 
+    def __createCPyMenu(self):
+        """
+        Private method to create the CircuitPython submenu.
+        """
+        self.__libraryMenu = QMenu(self.tr("Library Management"))
+        self.__libraryMenu.aboutToShow.connect(self.__aboutToShowLibraryMenu)
+        self.__libraryMenu.setTearOffEnabled(True)
+
+        self.__cpyMenu = QMenu(self.tr("CircuitPython Functions"))
+
+        self.__cpyMenu.addAction(
+            self.tr("Show CircuitPython Versions"), self.__showCircuitPythonVersions
+        )
+        self.__cpyMenu.addSeparator()
+        self.__flashCpyAct = self.__cpyMenu.addAction(
+            self.tr("Flash CircuitPython Firmware"), self.__flashCircuitPython
+        )
+        self.__cpyMenu.addSeparator()
+        self.__cpyMenu.addMenu(self.__libraryMenu)
+
+
     def addDeviceMenuEntries(self, menu):
         """
         Public method to add device specific entries to the given menu.
@@ -249,19 +272,9 @@
         """
         linkConnected = self.microPython.isLinkConnected()
 
-        self.__libraryMenu = QMenu(self.tr("Library Management"))
-        self.__libraryMenu.aboutToShow.connect(self.__aboutToShowLibraryMenu)
-        self.__libraryMenu.setTearOffEnabled(True)
+        self.__flashCpyAct.setEnabled(not linkConnected)
 
-        menu.addAction(
-            self.tr("Show CircuitPython Versions"), self.__showCircuitPythonVersions
-        )
-        act = menu.addAction(
-            self.tr("Flash CircuitPython Firmware"), self.__flashCircuitPython
-        )
-        act.setEnabled(not linkConnected)
-        menu.addSeparator()
-        menu.addMenu(self.__libraryMenu)
+        menu.addMenu(self.__cpyMenu)
 
     @pyqtSlot()
     def __aboutToShowLibraryMenu(self):

eric ide

mercurial