--- a/Plugins/ViewManagerPlugins/Listspace/Listspace.py Wed Jul 03 19:34:42 2013 +0200 +++ b/Plugins/ViewManagerPlugins/Listspace/Listspace.py Fri Jul 05 19:17:29 2013 +0200 @@ -157,6 +157,8 @@ @signal editorLanguageChanged(Editor) emitted to signal a change of an editors language @signal editorTextChanged(Editor) emitted to signal a change of an editor's text + @signal editorLineChanged(str,int) emitted to signal a change of an editor's + current line (line is given one based) """ changeCaption = pyqtSignal(str) editorChanged = pyqtSignal(str) @@ -175,6 +177,7 @@ previewStateChanged = pyqtSignal(bool) editorLanguageChanged = pyqtSignal(Editor) editorTextChanged = pyqtSignal(Editor) + editorLineChanged = pyqtSignal(str, int) def __init__(self, parent): """ @@ -349,6 +352,7 @@ if fn: self.changeCaption.emit(fn) self.editorChanged.emit(fn) + self.editorLineChanged.emit(fn, aw.getCursorPosition()[0] + 1) else: self.changeCaption.emit("") self.editorChangedEd.emit(aw) @@ -378,6 +382,7 @@ self.currentStack.addWidget(win) self.currentStack.setCurrentWidget(win) editor.captionChanged.connect(self.__captionChange) + editor.cursorLineChanged.connect(self.__cursorLineChanged) index = self.editors.index(editor) self.viewlist.setCurrentRow(index) @@ -385,6 +390,7 @@ if fn: self.changeCaption.emit(fn) self.editorChanged.emit(fn) + self.editorLineChanged.emit(fn, editor.getCursorPosition()[0] + 1) else: self.changeCaption.emit("") self.editorChangedEd.emit(editor) @@ -402,6 +408,18 @@ if fn: self.setEditorName(editor, fn) + def __cursorLineChanged(self, lineno): + """ + Private slot to handle a change of the current editor's cursor line. + + @param lineno line number of the current editor's cursor (zero based) + """ + editor = self.sender() + if editor: + fn = editor.getFileName() + if fn: + self.editorLineChanged.emit(fn, lineno + 1) + def _showView(self, win, fn=None): """ Protected method to show a view (i.e. window) @@ -422,6 +440,7 @@ if fn: self.changeCaption.emit(fn) self.editorChanged.emit(fn) + self.editorLineChanged.emit(fn, editor.getCursorPosition()[0] + 1) else: self.changeCaption.emit("") self.editorChangedEd.emit(editor) @@ -706,6 +725,7 @@ self.changeCaption.emit(fn) if not self.__inRemoveView: self.editorChanged.emit(fn) + self.editorLineChanged.emit(fn, editor.getCursorPosition()[0] + 1) else: self.changeCaption.emit("") self.editorChangedEd.emit(editor) @@ -746,6 +766,7 @@ self.changeCaption.emit(fn) if switched: self.editorChanged.emit(fn) + self.editorLineChanged.emit(fn, aw.getCursorPosition()[0] + 1) else: self.changeCaption.emit("") self.editorChangedEd.emit(aw)