src/eric7/UI/Browser.py

branch
server
changeset 10680
306373ccf8fd
parent 10592
2bada76be1a6
parent 10677
6ee2e475490c
child 10918
056bd087096f
--- a/src/eric7/UI/Browser.py	Tue Mar 26 10:55:04 2024 +0100
+++ b/src/eric7/UI/Browser.py	Wed Apr 10 17:03:56 2024 +0200
@@ -65,13 +65,15 @@
     is displayed by a right click the user can select various actions on
     the selected file.
 
-    @signal sourceFile(filename) emitted to open a Python file at a line (str)
+    @signal sourceFile(filename) emitted to open a Python file at the first line (str)
     @signal sourceFile(filename, lineno) emitted to open a Python file at a
         line (str, int)
     @signal sourceFile(filename, lineno, type) emitted to open a Python file
         at a line giving an explicit file type (str, int, str)
     @signal sourceFile(filename, linenos) emitted to open a Python file giving
         a list of lines(str, list)
+    @signal sourceFile(filename, lineno, col_offset) emitted to open a Python file at a
+        line and column (str, int, int)
     @signal designerFile(filename) emitted to open a Qt-Designer file (str)
     @signal linguistFile(filename) emitted to open a Qt-Linguist (*.ts)
         file (str)
@@ -93,7 +95,9 @@
     @signal pdfFile(filename) emitted to open a PDF file (str)
     """
 
-    sourceFile = pyqtSignal((str,), (str, int), (str, list), (str, int, str))
+    sourceFile = pyqtSignal(
+        (str,), (str, int), (str, int, int), (str, list), (str, int, str)
+    )
     designerFile = pyqtSignal(str)
     linguistFile = pyqtSignal(str)
     trpreview = pyqtSignal((list,), (list, bool))
@@ -603,16 +607,16 @@
                         else:
                             QDesktopServices.openUrl(QUrl(itm.fileName()))
                 elif isinstance(itm, BrowserClassItem):
-                    self.sourceFile[str, int].emit(
-                        itm.fileName(), itm.classObject().lineno
+                    self.sourceFile[str, int, int].emit(
+                        itm.fileName(), itm.lineno(), itm.colOffset()
                     )
                 elif isinstance(itm, BrowserMethodItem):
-                    self.sourceFile[str, int].emit(
-                        itm.fileName(), itm.functionObject().lineno
+                    self.sourceFile[str, int, int].emit(
+                        itm.fileName(), itm.lineno(), itm.colOffset()
                     )
                 elif isinstance(itm, BrowserClassAttributeItem):
-                    self.sourceFile[str, int].emit(
-                        itm.fileName(), itm.attributeObject().lineno
+                    self.sourceFile[str, int, int].emit(
+                        itm.fileName(), itm.lineno(), itm.colOffset()
                     )
                 elif isinstance(itm, BrowserImportItem):
                     self.sourceFile[str, list].emit(itm.fileName(), itm.linenos())

eric ide

mercurial