QScintilla/Editor.py

changeset 6059
8f7c66c53c27
parent 6052
8b49d3e0b4c8
child 6073
a679240821cb
--- a/QScintilla/Editor.py	Sat Jan 06 18:59:24 2018 +0100
+++ b/QScintilla/Editor.py	Sun Jan 07 17:18:07 2018 +0100
@@ -718,10 +718,13 @@
         self.menuActs["Copy"] = self.menu.addAction(
             UI.PixmapCache.getIcon("editCopy.png"),
             self.tr('Copy'), self.copy)
-        self.menu.addAction(
+        self.menuActs["Paste"] = self.menu.addAction(
             UI.PixmapCache.getIcon("editPaste.png"),
             self.tr('Paste'), self.paste)
         if not self.miniMenu:
+            self.menuActs["ExecuteSelection"] = self.menu.addAction(
+                self.tr("Execute Selection In Console"),
+                self.__executeSelection)
             self.menu.addSeparator()
             self.menu.addAction(
                 UI.PixmapCache.getIcon("editIndent.png"),
@@ -747,7 +750,9 @@
             self.menu.addAction(self.tr('Select all'), self.__selectAll)
             self.menu.addAction(
                 self.tr('Deselect all'), self.__deselectAll)
-            self.menu.addSeparator()
+        else:
+            self.menuActs["ExecuteSelection"] = None
+        self.menu.addSeparator()
         self.menuActs["SpellCheck"] = self.menu.addAction(
             UI.PixmapCache.getIcon("spellchecking.png"),
             self.tr('Check spelling...'), self.checkSpelling)
@@ -5139,9 +5144,12 @@
         self.menuActs["Undo"].setEnabled(self.isUndoAvailable())
         self.menuActs["Redo"].setEnabled(self.isRedoAvailable())
         self.menuActs["Revert"].setEnabled(self.isModified())
-        if not self.miniMenu:
-            self.menuActs["Cut"].setEnabled(self.hasSelectedText())
-            self.menuActs["Copy"].setEnabled(self.hasSelectedText())
+        self.menuActs["Cut"].setEnabled(self.hasSelectedText())
+        self.menuActs["Copy"].setEnabled(self.hasSelectedText())
+        if self.menuActs["ExecuteSelection"] is not None:
+            self.menuActs["ExecuteSelection"].setEnabled(
+                self.hasSelectedText())
+        self.menuActs["Paste"].setEnabled(self.canPaste())
         if not self.isResourcesFile:
             if self.fileName and self.isPyFile():
                 self.menuActs["Show"].setEnabled(True)
@@ -7149,7 +7157,7 @@
             self.completer.setEnabled(False)
     
     #######################################################################
-    ## Autocompleting templates
+    ## Auto-completing templates
     #######################################################################
     
     def editorCommand(self, cmd):
@@ -7970,3 +7978,10 @@
                 keys.append(key)
         for key in keys:
             del self.__mouseClickHandlers[key]
+    
+    def __executeSelection(self):
+        """
+        Private slot to execute the selected text in the shell window.
+        """
+        txt = self.selectedText()
+        e5App().getObject("Shell").executeLines(txt)

eric ide

mercurial