diff -r 0c976706e8c1 -r bace7fb85a01 ViewManager/ViewManager.py --- 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): """