ViewManager/ViewManager.py

branch
maintenance
changeset 6166
bace7fb85a01
parent 6097
bf18415da0c7
parent 6118
da9e08920e7c
child 6273
0daf79d65080
--- a/ViewManager/ViewManager.py	Sun Feb 04 10:56:30 2018 +0100
+++ b/ViewManager/ViewManager.py	Fri Mar 02 19:35:16 2018 +0100
@@ -4642,28 +4642,38 @@
         """
         editor.modificationStatusChanged.connect(
             self._modificationStatusChanged)
-        editor.cursorChanged.connect(self.__cursorChanged)
-        editor.editorSaved.connect(self.__editorSaved)
-        editor.editorRenamed.connect(self.__editorRenamed)
+        editor.cursorChanged.connect(
+            lambda f, l, p: self.__cursorChanged(f, l, p, editor))
+        editor.editorSaved.connect(
+            lambda fn: self.__editorSaved(fn, editor))
+        editor.editorRenamed.connect(
+            lambda fn: self.__editorRenamed(fn, editor))
         editor.breakpointToggled.connect(self.__breakpointToggled)
         editor.bookmarkToggled.connect(self.__bookmarkToggled)
         editor.syntaxerrorToggled.connect(self._syntaxErrorToggled)
         editor.coverageMarkersShown.connect(self.__coverageMarkersShown)
         editor.autoCompletionAPIsAvailable.connect(
-            self.__editorAutoCompletionAPIsAvailable)
+            lambda a: self.__editorAutoCompletionAPIsAvailable(a, editor))
         editor.undoAvailable.connect(self.undoAct.setEnabled)
         editor.redoAvailable.connect(self.redoAct.setEnabled)
         editor.taskMarkersUpdated.connect(self.__taskMarkersUpdated)
         editor.changeMarkersUpdated.connect(self.__changeMarkersUpdated)
-        editor.languageChanged.connect(self.__editorConfigChanged)
-        editor.eolChanged.connect(self.__editorConfigChanged)
-        editor.encodingChanged.connect(self.__editorConfigChanged)
-        editor.selectionChanged.connect(self.__searchWidget.selectionChanged)
-        editor.selectionChanged.connect(self.__replaceWidget.selectionChanged)
-        editor.selectionChanged.connect(self.__editorSelectionChanged)
+        editor.languageChanged.connect(
+            lambda: self.__editorConfigChanged(editor))
+        editor.eolChanged.connect(
+            lambda: self.__editorConfigChanged(editor))
+        editor.encodingChanged.connect(
+            lambda: self.__editorConfigChanged(editor))
+        editor.selectionChanged.connect(
+            lambda: self.__searchWidget.selectionChanged(editor))
+        editor.selectionChanged.connect(
+            lambda: self.__replaceWidget.selectionChanged(editor))
+        editor.selectionChanged.connect(
+            lambda: self.__editorSelectionChanged(editor))
         editor.lastEditPositionAvailable.connect(
             self.__lastEditPositionAvailable)
-        editor.zoomValueChanged.connect(self.zoomValueChanged)
+        editor.zoomValueChanged.connect(
+            lambda v: self.zoomValueChanged(v, editor))
         
         editor.languageChanged.connect(
             lambda: self.editorLanguageChanged.emit(editor))
@@ -5524,14 +5534,16 @@
         """
         self.activeWindow().autoCompleteFromAll()
         
-    def __editorAutoCompletionAPIsAvailable(self, available):
+    def __editorAutoCompletionAPIsAvailable(self, available, editor):
         """
         Private method to handle the availability of API autocompletion signal.
         
         @param available flag indicating the availability of API
-        autocompletion (boolean)
-        """
-        editor = self.sender()
+            autocompletion
+        @type bool
+        @param editor reference to the editor
+        @type Editor
+        """
         self.autoCompleteAct.setEnabled(
             editor.canProvideDynamicAutoCompletion())
         self.autoCompleteFromAPIsAct.setEnabled(available)
@@ -5982,17 +5994,20 @@
             aw.zoomTo(value)
             self.sbZoom.setValue(aw.getZoom())
         
-    def zoomValueChanged(self, value):
+    def zoomValueChanged(self, value, zoomingWidget):
         """
         Public slot to handle changes of the zoom value.
         
-        @param value new zoom value (integer)
+        @param value new zoom value
+        @type int
+        @param zoomingWidget reference to the widget triggering the slot
+        @type Editor or Shell
         """
         if QApplication.focusWidget() == e5App().getObject("Shell"):
             aw = e5App().getObject("Shell")
         else:
             aw = self.activeWindow()
-        if aw and aw == self.sender():
+        if aw and aw == zoomingWidget:
             self.sbZoom.setValue(value)
     
     def __clearAllFolds(self):
@@ -6767,54 +6782,52 @@
         
         self.__enableSpellingActions()
         
-    def __editorSaved(self, fn):
+    def __editorSaved(self, fn, editor):
         """
         Private slot to handle the editorSaved signal.
         
-        It simply reemits the signal.
-        
-        @param fn filename of the saved editor (string)
+        It simply re-emits the signal.
+        
+        @param fn filename of the saved editor
+        @type str
+        @param editor reference to the editor
+        @type Editor
         """
         self.editorSaved.emit(fn)
-        editor = self.sender()
-        if editor:
-            self.editorSavedEd.emit(editor)
-        
-    def __editorRenamed(self, fn):
+        self.editorSavedEd.emit(editor)
+        
+    def __editorRenamed(self, fn, editor):
         """
         Private slot to handle the editorRenamed signal.
         
-        It simply reemits the signal.
-        
-        @param fn filename of the renamed editor (string)
+        It simply re-emits the signal.
+        
+        @param fn filename of the renamed editor
+        @type str
+        @param editor reference to the editor
+        @type Editor
         """
         self.editorRenamed.emit(fn)
-        editor = self.sender()
-        if editor:
-            self.editorRenamedEd.emit(editor)
-        
-    def __cursorChanged(self, fn, line, pos):
+        self.editorRenamedEd.emit(editor)
+        
+    def __cursorChanged(self, fn, line, pos, editor):
         """
         Private slot to handle the cursorChanged signal.
         
         It emits the signal cursorChanged with parameter editor.
         
-        @param fn filename (string)
-        @param line line number of the cursor (int)
-        @param pos position in line of the cursor (int)
-        """
-        editor = self.getOpenEditor(fn)
-        if editor is None:
-            editor = self.sender()
-        
-        if editor is not None:
-            enc = editor.getEncoding()
-            lang = editor.getLanguage()
-            eol = editor.getEolIndicator()
-        else:
-            enc = None
-            lang = None
-            eol = None
+        @param fn filename
+        @type str
+        @param line line number of the cursor
+        @type int
+        @param pos position in line of the cursor
+        @type int
+        @param editor reference to the editor
+        @type Editor
+        """
+        enc = editor.getEncoding()
+        lang = editor.getLanguage()
+        eol = editor.getEolIndicator()
         self.__setSbFile(fn, line, pos, enc, lang, eol)
         self.cursorChanged.emit(editor)
         
@@ -6872,11 +6885,13 @@
             if aw:
                 aw.newLineBelow()
         
-    def __editorConfigChanged(self):
+    def __editorConfigChanged(self, editor):
         """
         Private slot to handle changes of an editor's configuration.
-        """
-        editor = self.sender()
+        
+        @param editor reference to the editor
+        @type Editor
+        """
         fn = editor.getFileName()
         line, pos = editor.getCursorPosition()
         enc = editor.getEncoding()
@@ -6887,18 +6902,17 @@
             fn, line + 1, pos, encoding=enc, language=lang, eol=eol, zoom=zoom)
         self._checkActions(editor, False)
     
-    def __editorSelectionChanged(self):
+    def __editorSelectionChanged(self, editor):
         """
         Private slot to handle changes of the current editors selection.
-        """
-        editor = self.sender()
-        if editor:
-            self.sortAct.setEnabled(editor.selectionIsRectangle())
-            enable = editor.hasSelection()
-            self.editUpperCaseAct.setEnabled(enable)
-            self.editLowerCaseAct.setEnabled(enable)
-        else:
-            self.sortAct.setEnabled(False)
+        
+        @param editor reference to the editor
+        @type Editor
+        """
+        self.sortAct.setEnabled(editor.selectionIsRectangle())
+        enable = editor.hasSelection()
+        self.editUpperCaseAct.setEnabled(enable)
+        self.editLowerCaseAct.setEnabled(enable)
     
     def __editSortSelectedLines(self):
         """

eric ide

mercurial