diff -r 8b75b1668583 -r 9ae6990affcd eric7/MicroPython/MicroPythonWidget.py --- a/eric7/MicroPython/MicroPythonWidget.py Mon Jun 20 19:47:39 2022 +0200 +++ b/eric7/MicroPython/MicroPythonWidget.py Tue Jun 21 17:14:57 2022 +0200 @@ -526,15 +526,33 @@ if Globals.isMacPlatform(): copyKeys = QKeySequence("Ctrl+C") pasteKeys = QKeySequence("Ctrl+V") + selectAllKeys = QKeySequence("Ctrl+A") else: copyKeys = QKeySequence("Ctrl+Shift+C") pasteKeys = QKeySequence("Ctrl+Shift+V") + selectAllKeys = QKeySequence("Ctrl+Shift+A") + menu = QMenu(self) - menu.addAction(self.tr("Clear"), self.__clear) + act = menu.addAction( + UI.PixmapCache.getIcon("editDelete"), self.tr("Clear"), + self.__clear) + act.setEnabled(bool(self.replEdit.toPlainText())) menu.addSeparator() - menu.addAction(self.tr("Copy"), self.replEdit.copy, copyKeys) - menu.addAction(self.tr("Paste"), self.__paste, pasteKeys) + act = menu.addAction( + UI.PixmapCache.getIcon("editCopy"), self.tr("Copy"), + copyKeys, self.replEdit.copy) + act.setEnabled(self.replEdit.textCursor().hasSelection()) + act = menu.addAction( + UI.PixmapCache.getIcon("editPaste"), self.tr("Paste"), + pasteKeys, self.__paste) + act.setEnabled(self.replEdit.canPaste() and + self.__interface.isConnected()) menu.addSeparator() + act = menu.addAction( + UI.PixmapCache.getIcon("editSelectAll"), self.tr("Select All"), + selectAllKeys, self.replEdit.selectAll) + act.setEnabled(bool(self.replEdit.toPlainText())) + menu.exec(self.replEdit.mapToGlobal(pos)) def __setConnected(self, connected): @@ -728,6 +746,9 @@ elif key == Qt.Key.Key_V: self.__paste() msg = b'' + elif key == Qt.Key.Key_A: + self.replEdit.selectAll() + msg = b"" elif key in (Qt.Key.Key_Return, Qt.Key.Key_Enter): tc = self.replEdit.textCursor() tc.movePosition(QTextCursor.MoveOperation.EndOfLine)