Thu, 31 Oct 2024 10:54:33 +0100
Merged with branch 'eric7' in order to prepare a new release.
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2 | |
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
3 | # Copyright (c) 2002 - 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4 | # |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
7 | Module implementing the editor component of the eric IDE. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8 | """ |
7229
53054eb5b15a
Removed obsolete "from __future__ import ..." statements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7225
diff
changeset
|
9 | |
8539
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
10 | import bisect |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
11 | import collections |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
12 | import contextlib |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
13 | import difflib |
10473 | 14 | import enum |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
15 | import os |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
16 | import pathlib |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
17 | import re |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
18 | |
8258
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8245
diff
changeset
|
19 | import editorconfig |
82b608e352ec
Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8245
diff
changeset
|
20 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
21 | from PyQt6.Qsci import QsciMacro, QsciScintilla, QsciStyledText |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
22 | from PyQt6.QtCore import ( |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
23 | QCryptographicHash, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
24 | QDateTime, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
25 | QDir, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
26 | QEvent, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
27 | QModelIndex, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
28 | QPoint, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
29 | QSize, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
30 | Qt, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
31 | QTimer, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
32 | pyqtSignal, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
33 | pyqtSlot, |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
34 | ) |
10501
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
35 | from PyQt6.QtGui import ( |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
36 | QAction, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
37 | QActionGroup, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
38 | QCursor, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
39 | QFont, |
10715 | 40 | QKeyEvent, |
10501
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
41 | QPainter, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
42 | QPalette, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
43 | QPixmap, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
44 | ) |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
45 | from PyQt6.QtPrintSupport import ( |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
46 | QAbstractPrintDialog, |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
47 | QPrintDialog, |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
48 | QPrinter, |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
49 | QPrintPreviewDialog, |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
50 | ) |
10501
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
51 | from PyQt6.QtWidgets import ( |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
52 | QApplication, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
53 | QDialog, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
54 | QInputDialog, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
55 | QLineEdit, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
56 | QMenu, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
57 | QToolTip, |
234702836442
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10499
diff
changeset
|
58 | ) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
59 | |
10926
9ef616cd220d
Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10908
diff
changeset
|
60 | from eric7 import EricUtilities, Preferences, Utilities |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
61 | from eric7.CodeFormatting.BlackFormattingAction import BlackFormattingAction |
9436
731d146193e2
Added an 'About Black' entry to the Code Formatting menus of the project sources browser and the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9432
diff
changeset
|
62 | from eric7.CodeFormatting.BlackUtilities import aboutBlack |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
63 | from eric7.CodeFormatting.IsortFormattingAction import IsortFormattingAction |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
64 | from eric7.CodeFormatting.IsortUtilities import aboutIsort |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
65 | from eric7.EricGui import EricPixmapCache |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
66 | from eric7.EricGui.EricOverrideCursor import EricOverrideCursor |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
67 | from eric7.EricUtilities.EricCache import EricCache |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
68 | from eric7.EricWidgets import EricFileDialog, EricMessageBox |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
69 | from eric7.EricWidgets.EricApplication import ericApp |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
70 | from eric7.Globals import recentNameBreakpointConditions |
10561
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
71 | from eric7.RemoteServerInterface import EricServerFileDialog |
10388
a34ce7f42e8b
Made the code dealing with "device:" and "remote:" file names generally available in FileSystemUtilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10377
diff
changeset
|
72 | from eric7.SystemUtilities import FileSystemUtilities, OSUtilities, PythonUtilities |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
73 | from eric7.UI import PythonDisViewer |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
74 | from eric7.Utilities import MouseUtilities |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
75 | |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
76 | from . import Exporters, Lexers, TypingCompleters |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
77 | from .EditorMarkerMap import EditorMarkerMap |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
78 | from .QsciScintillaCompat import QsciScintillaCompat |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9465
diff
changeset
|
79 | from .SpellChecker import SpellChecker |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
80 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
81 | EditorAutoCompletionListID = 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
82 | TemplateCompletionListID = 2 |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
83 | ReferencesListID = 3 |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
84 | |
10060
b946699e9e79
Corrected some issues related to unused global variables.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10050
diff
changeset
|
85 | ReferenceItem = collections.namedtuple( # noqa: U200 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
86 | "ReferenceItem", ["modulePath", "codeLine", "line", "column"] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
87 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
88 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
89 | |
10473 | 90 | class EditorIconId(enum.IntEnum): |
91 | """ | |
92 | Class defining the completion icon IDs. | |
93 | """ | |
94 | ||
95 | Class = 1 | |
96 | ClassProtected = 2 | |
97 | ClassPrivate = 3 | |
98 | Method = 4 | |
99 | MethodProtected = 5 | |
100 | MethodPrivate = 6 | |
101 | Attribute = 7 | |
102 | AttributeProtected = 8 | |
103 | AttributePrivate = 9 | |
104 | Enum = 10 | |
105 | Keywords = 11 | |
106 | Module = 12 | |
107 | ||
108 | FromDocument = 99 | |
109 | TemplateImage = 100 | |
110 | ||
111 | ||
10474 | 112 | class EditorWarningKind(enum.Enum): |
113 | """ | |
114 | Class defining the kind of warnings supported by the Editor class. | |
115 | """ | |
116 | ||
117 | Code = 1 | |
118 | Python = 2 | |
119 | Style = 3 | |
120 | Info = 4 | |
121 | Error = 5 | |
122 | ||
123 | ||
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
124 | class Editor(QsciScintillaCompat): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
125 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
126 | Class implementing the editor component of the eric IDE. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
127 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
128 | @signal modificationStatusChanged(bool, QsciScintillaCompat) emitted when |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
129 | the modification status has changed |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
130 | @signal undoAvailable(bool) emitted to signal the undo availability |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
131 | @signal redoAvailable(bool) emitted to signal the redo availability |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
132 | @signal cursorChanged(str, int, int) emitted when the cursor position |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
133 | was changed |
2768
eab35f6e709f
Added support to show the current class/method name in the combo boxes at the top of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2659
diff
changeset
|
134 | @signal cursorLineChanged(int) emitted when the cursor line was changed |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
135 | @signal editorAboutToBeSaved(str) emitted before the editor is saved |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
136 | @signal editorSaved(str) emitted after the editor has been saved |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
137 | @signal editorRenamed(str) emitted after the editor got a new name |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
138 | (i.e. after a 'Save As') |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
139 | @signal captionChanged(str, QsciScintillaCompat) emitted when the caption |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
140 | is updated. Typically due to a readOnly attribute change. |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
141 | @signal breakpointToggled(QsciScintillaCompat) emitted when a breakpoint |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
142 | is toggled |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
143 | @signal bookmarkToggled(QsciScintillaCompat) emitted when a bookmark is |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
144 | toggled |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
145 | @signal syntaxerrorToggled(QsciScintillaCompat) emitted when a syntax error |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
146 | was discovered |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
147 | @signal autoCompletionAPIsAvailable(bool) emitted after the autocompletion |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
148 | function has been configured |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
149 | @signal coverageMarkersShown(bool) emitted after the coverage markers have |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
150 | been shown or cleared |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
151 | @signal taskMarkersUpdated(QsciScintillaCompat) emitted when the task |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
152 | markers were updated |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
153 | @signal changeMarkersUpdated(QsciScintillaCompat) emitted when the change |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
154 | markers were updated |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
155 | @signal showMenu(str, QMenu, QsciScintillaCompat) emitted when a menu is |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
156 | about to be shown. The name of the menu, a reference to the menu and |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
157 | a reference to the editor are given. |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
158 | @signal languageChanged(str) emitted when the editors language was set. The |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
159 | language is passed as a parameter. |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
160 | @signal eolChanged(str) emitted when the editors eol type was set. The eol |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
161 | string is passed as a parameter. |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
162 | @signal encodingChanged(str) emitted when the editors encoding was set. The |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
163 | encoding name is passed as a parameter. |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
164 | @signal spellLanguageChanged(str) emitted when the editor spell check |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
165 | language was set. The language is passed as a parameter. |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
166 | @signal lastEditPositionAvailable() emitted when a last edit position is |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
167 | available |
1807
9898a95461f1
Added a signal to the editor showing a refresh has happend and connected the editor assembly to it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1768
diff
changeset
|
168 | @signal refreshed() emitted to signal a refresh of the editor contents |
5416
16366120b523
Added an option to hide the format buttons bar, if formatting is not supported for the editor text type (only supported for HTML, Markdown and reStructured Text).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
169 | @signal settingsRead() emitted to signal, that the settings have been read |
16366120b523
Added an option to hide the format buttons bar, if formatting is not supported for the editor text type (only supported for HTML, Markdown and reStructured Text).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
170 | and set |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
171 | @signal mouseDoubleClick(position, buttons) emitted to signal a mouse |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
172 | double click somewhere in the editor area |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
173 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
174 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
175 | modificationStatusChanged = pyqtSignal(bool, QsciScintillaCompat) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
176 | undoAvailable = pyqtSignal(bool) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
177 | redoAvailable = pyqtSignal(bool) |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
478
diff
changeset
|
178 | cursorChanged = pyqtSignal(str, int, int) |
2768
eab35f6e709f
Added support to show the current class/method name in the combo boxes at the top of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2659
diff
changeset
|
179 | cursorLineChanged = pyqtSignal(int) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
180 | editorAboutToBeSaved = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
181 | editorSaved = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
182 | editorRenamed = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
183 | captionChanged = pyqtSignal(str, QsciScintillaCompat) |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
478
diff
changeset
|
184 | breakpointToggled = pyqtSignal(QsciScintillaCompat) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
185 | bookmarkToggled = pyqtSignal(QsciScintillaCompat) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
186 | syntaxerrorToggled = pyqtSignal(QsciScintillaCompat) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
187 | autoCompletionAPIsAvailable = pyqtSignal(bool) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
188 | coverageMarkersShown = pyqtSignal(bool) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
189 | taskMarkersUpdated = pyqtSignal(QsciScintillaCompat) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
190 | changeMarkersUpdated = pyqtSignal(QsciScintillaCompat) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
191 | showMenu = pyqtSignal(str, QMenu, QsciScintillaCompat) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
192 | languageChanged = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
193 | eolChanged = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
194 | encodingChanged = pyqtSignal(str) |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
195 | spellLanguageChanged = pyqtSignal(str) |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
196 | lastEditPositionAvailable = pyqtSignal() |
1807
9898a95461f1
Added a signal to the editor showing a refresh has happend and connected the editor assembly to it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1768
diff
changeset
|
197 | refreshed = pyqtSignal() |
5416
16366120b523
Added an option to hide the format buttons bar, if formatting is not supported for the editor text type (only supported for HTML, Markdown and reStructured Text).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
198 | settingsRead = pyqtSignal() |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
199 | mouseDoubleClick = pyqtSignal(QPoint, Qt.MouseButton) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
200 | |
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
201 | # Cooperation related definitions |
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
202 | Separator = "@@@" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
203 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
204 | StartEditToken = "START_EDIT" |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
205 | EndEditToken = "END_EDIT" |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
206 | CancelEditToken = "CANCEL_EDIT" |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
207 | RequestSyncToken = "REQUEST_SYNC" |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
208 | SyncToken = "SYNC" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
209 | |
6111
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
210 | VcsConflictMarkerLineRegExpList = ( |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
211 | r"""^<<<<<<< .*?$""", |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
212 | r"""^\|\|\|\|\|\|\| .*?$""", |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
213 | r"""^=======.*?$""", |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
214 | r"""^>>>>>>> .*?$""", |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
215 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
216 | |
7969
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
217 | EncloseChars = { |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
218 | '"': '"', |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
219 | "'": "'", |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
220 | "(": "()", |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
221 | ")": "()", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
222 | "{": "{}", # __IGNORE_WARNING_M613__ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
223 | "}": "{}", # __IGNORE_WARNING_M613__ |
7969
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
224 | "[": "[]", |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
225 | "]": "[]", |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
226 | "<": "<>", |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
227 | ">": "<>", |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
228 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
229 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
230 | def __init__( |
10849 | 231 | self, |
232 | dbs, | |
233 | fn="", | |
234 | vm=None, | |
235 | filetype="", | |
236 | editor=None, | |
237 | tv=None, | |
238 | assembly=None, | |
239 | parent=None, | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
240 | ): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
241 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
242 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
243 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
244 | @param dbs reference to the debug server object |
8131 | 245 | @type DebugServer |
246 | @param fn name of the file to be opened. If it is None, a new (empty) | |
10849 | 247 | editor is opened. (defaults to "") |
248 | @type str (optional) | |
249 | @param vm reference to the view manager object (defaults to None) | |
250 | @type ViewManager (optional) | |
251 | @param filetype type of the source file (defaults to "") | |
252 | @type str (optional) | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
253 | @param editor reference to an Editor object, if this is a cloned view |
10849 | 254 | (defaults to None) |
255 | @type Editor (optional) | |
256 | @param tv reference to the task viewer object (defaults to None) | |
257 | @type TaskViewer (optional) | |
258 | @param assembly reference to the editor assembly object (defaults to None) | |
259 | @type EditorAssembly (optional) | |
260 | @param parent reference to the parent widget (defaults to None) | |
261 | @type QWidget (optional) | |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7790
diff
changeset
|
262 | @exception OSError raised to indicate an issue accessing the file |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
263 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
264 | super().__init__(parent) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
265 | self.setAttribute(Qt.WidgetAttribute.WA_KeyCompression) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
266 | self.setUtf8(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
267 | |
8713 | 268 | self.enableMultiCursorSupport() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
269 | |
10849 | 270 | self.__assembly = assembly |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
271 | self.dbs = dbs |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
272 | self.taskViewer = tv |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
273 | self.fileName = "" |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
274 | self.vm = vm |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
275 | self.filetype = filetype |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
276 | self.filetypeByFlag = False |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
277 | self.noName = "" |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
278 | self.project = ericApp().getObject("Project") |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
279 | self.setFileName(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
280 | |
10576
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
281 | self.__remotefsInterface = ( |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
282 | ericApp().getObject("EricServer").getServiceInterface("FileSystem") |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
283 | ) |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
284 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
285 | # clear some variables |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
286 | self.lastHighlight = None # remember the last highlighted line |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
287 | self.lastErrorMarker = None # remember the last error line |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
288 | self.lastCurrMarker = None # remember the last current line |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
289 | |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
290 | self.breaks = {} |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
291 | # key: marker handle, |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
292 | # value: (lineno, condition, temporary, |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
293 | # enabled, ignorecount) |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
294 | self.bookmarks = [] |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
295 | # bookmarks are just a list of handles to the |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
296 | # bookmark markers |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
297 | self.syntaxerrors = {} |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
298 | # key: marker handle |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
299 | # value: list of (error message, error index) |
10279 | 300 | self._warnings = {} |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
301 | # key: marker handle |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
302 | # value: list of (warning message, warning type) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
303 | self.notcoveredMarkers = [] # just a list of marker handles |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
304 | self.showingNotcoveredMarkers = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
305 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
306 | self.lexer_ = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
307 | self.apiLanguage = "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
308 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
309 | self.__loadEditorConfig() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
310 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
311 | self.__lexerReset = False |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
312 | self.completer = None |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
313 | self.encoding = self.__getEditorConfig("DefaultEncoding") |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
314 | self.lastModified = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
315 | self.line = -1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
316 | self.inReopenPrompt = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
317 | # true if the prompt to reload a changed source is present |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
318 | self.inFileRenamed = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
319 | # true if we are propagating a rename action |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
320 | self.inLanguageChanged = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
321 | # true if we are propagating a language change |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
322 | self.inEolChanged = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
323 | # true if we are propagating an eol change |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
324 | self.inEncodingChanged = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
325 | # true if we are propagating an encoding change |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
326 | self.inDragDrop = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
327 | # true if we are in drop mode |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
328 | self.inLinesChanged = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
329 | # true if we are propagating a lines changed event |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
330 | self.__hasTaskMarkers = False |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
331 | # no task markers present |
10850
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
332 | self.__checkExternalModification = True |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
333 | # check and reload or warn when modified externally |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
334 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
335 | self.macros = {} # list of defined macros |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
336 | self.curMacro = None |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
337 | self.recording = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
338 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
339 | self.acAPI = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
340 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
341 | self.__lastEditPosition = None |
3863
472eb955ff9c
Corrected the annotations scrollbar fix because it caused seg faults for short files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3861
diff
changeset
|
342 | self.__annotationLines = 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
343 | |
7998 | 344 | self.__docstringGenerator = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
345 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
346 | # list of clones |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
347 | self.__clones = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
348 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
349 | # clear QScintilla defined keyboard commands |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
350 | # we do our own handling through the view manager |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
351 | self.clearAlternateKeys() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
352 | self.clearKeys() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
353 | |
7393
e83e0ba6b90d
Editor: moved the creation of the marker map object.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
354 | self.__markerMap = EditorMarkerMap(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
355 | |
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
356 | # initialize the mark occurrences timer |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
357 | self.__markOccurrencesTimer = QTimer(self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
358 | self.__markOccurrencesTimer.setSingleShot(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
359 | self.__markOccurrencesTimer.setInterval( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
360 | Preferences.getEditor("MarkOccurrencesTimeout") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
361 | ) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
362 | self.__markOccurrencesTimer.timeout.connect(self.__markOccurrences) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
363 | self.__markedText = "" |
4304
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
364 | self.__searchIndicatorLines = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
365 | |
10307 | 366 | # set the autosave attributes |
367 | self.__autosaveInterval = Preferences.getEditor("AutosaveIntervalSeconds") | |
368 | self.__autosaveManuallyDisabled = False | |
369 | ||
370 | # initialize the autosave timer | |
371 | self.__autosaveTimer = QTimer(self) | |
372 | self.__autosaveTimer.setObjectName("AutosaveTimer") | |
373 | self.__autosaveTimer.setSingleShot(True) | |
374 | self.__autosaveTimer.timeout.connect(self.__autosave) | |
375 | ||
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
376 | # initialize some spellchecking stuff |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
377 | self.spell = None |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
378 | self.lastLine = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
379 | self.lastIndex = 0 |
7347
1afdabb901dc
Editor: fixed an omission
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7339
diff
changeset
|
380 | self.__inSpellLanguageChanged = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
381 | |
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
382 | # initialize some cooperation stuff |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
383 | self.__isSyncing = False |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
384 | self.__receivedWhileSyncing = [] |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
385 | self.__savedText = "" |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
386 | self.__inSharedEdit = False |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
387 | self.__isShared = False |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
388 | self.__inRemoteSharedEdit = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
389 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
390 | # connect signals before loading the text |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
391 | self.modificationChanged.connect(self.__modificationChanged) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
392 | self.cursorPositionChanged.connect(self.__cursorPositionChanged) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
393 | self.modificationAttempted.connect(self.__modificationReadOnly) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
394 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
395 | # define the margins markers |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
396 | self.__changeMarkerSaved = self.markerDefine( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
397 | self.__createChangeMarkerPixmap("OnlineChangeTraceMarkerSaved") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
398 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
399 | self.__changeMarkerUnsaved = self.markerDefine( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
400 | self.__createChangeMarkerPixmap("OnlineChangeTraceMarkerUnsaved") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
401 | ) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
402 | self.breakpoint = self.markerDefine(EricPixmapCache.getPixmap("break")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
403 | self.cbreakpoint = self.markerDefine(EricPixmapCache.getPixmap("cBreak")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
404 | self.tbreakpoint = self.markerDefine(EricPixmapCache.getPixmap("tBreak")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
405 | self.tcbreakpoint = self.markerDefine(EricPixmapCache.getPixmap("tCBreak")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
406 | self.dbreakpoint = self.markerDefine(EricPixmapCache.getPixmap("breakDisabled")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
407 | self.bookmark = self.markerDefine(EricPixmapCache.getPixmap("bookmark16")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
408 | self.syntaxerror = self.markerDefine(EricPixmapCache.getPixmap("syntaxError")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
409 | self.notcovered = self.markerDefine(EricPixmapCache.getPixmap("notcovered")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
410 | self.taskmarker = self.markerDefine(EricPixmapCache.getPixmap("task")) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
411 | self.warning = self.markerDefine(EricPixmapCache.getPixmap("warning")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
412 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
413 | # define the line markers |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
414 | if Preferences.getEditor("LineMarkersBackground"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
415 | self.currentline = self.markerDefine(QsciScintilla.MarkerSymbol.Background) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
416 | self.errorline = self.markerDefine(QsciScintilla.MarkerSymbol.Background) |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
417 | self.__setLineMarkerColours() |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
418 | else: |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
419 | self.currentline = self.markerDefine( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
420 | EricPixmapCache.getPixmap("currentLineMarker") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
421 | ) |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
422 | self.errorline = self.markerDefine( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
423 | EricPixmapCache.getPixmap("errorLineMarker") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
424 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
425 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
426 | self.breakpointMask = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
427 | (1 << self.breakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
428 | | (1 << self.cbreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
429 | | (1 << self.tbreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
430 | | (1 << self.tcbreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
431 | | (1 << self.dbreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
432 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
433 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
434 | self.changeMarkersMask = (1 << self.__changeMarkerSaved) | ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
435 | 1 << self.__changeMarkerUnsaved |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
436 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
437 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
438 | # set the eol mode |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
439 | self.__setEolMode() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
440 | |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
441 | # set the text display |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
442 | self.__setTextDisplay() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
443 | |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
444 | # initialize the online syntax check timer |
3972
efc9c803ebdc
Fixed an issue related to handling an inactive syntax checker in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3971
diff
changeset
|
445 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
446 | self.syntaxCheckService = ericApp().getObject("SyntaxCheckService") |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
447 | self.syntaxCheckService.syntaxChecked.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
448 | self.__processSyntaxCheckResult |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
449 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
450 | self.syntaxCheckService.error.connect(self.__processSyntaxCheckError) |
3972
efc9c803ebdc
Fixed an issue related to handling an inactive syntax checker in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3971
diff
changeset
|
451 | self.__initOnlineSyntaxCheck() |
efc9c803ebdc
Fixed an issue related to handling an inactive syntax checker in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3971
diff
changeset
|
452 | except KeyError: |
efc9c803ebdc
Fixed an issue related to handling an inactive syntax checker in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3971
diff
changeset
|
453 | self.syntaxCheckService = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
454 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
455 | self.isResourcesFile = False |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
456 | if editor is None: |
4891
d6e8171d2c02
Fixed an issue causing a crash with latest PyQt5 (5.6).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4814
diff
changeset
|
457 | if self.fileName: |
9405 | 458 | if not Utilities.MimeTypes.isTextFile(self.fileName): |
459 | raise OSError() | |
460 | ||
10636
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
461 | if FileSystemUtilities.isRemoteFileName(self.fileName): |
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
462 | fileIsRemote = True |
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
463 | fileExists = self.__remotefsInterface.exists(self.fileName) |
10952
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
464 | try: |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
465 | fileSizeKB = ( |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
466 | self.__remotefsInterface.stat(self.fileName, ["st_size"])[ |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
467 | "st_size" |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
468 | ] |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
469 | // 1024 |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
470 | ) |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
471 | except KeyError: |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
472 | # should not happen, but play it save |
b54b3eacfab6
Implemented a guard against a rare fault condition where the remote server does not send a file size even when requested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10926
diff
changeset
|
473 | fileSizeKB = 0 |
10895
11069c6bfff0
Fixed an issue in the editor related to opening a MicroPython device file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10878
diff
changeset
|
474 | elif FileSystemUtilities.isDeviceFileName(self.fileName): |
11069c6bfff0
Fixed an issue in the editor related to opening a MicroPython device file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10878
diff
changeset
|
475 | fileIsRemote = False |
11069c6bfff0
Fixed an issue in the editor related to opening a MicroPython device file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10878
diff
changeset
|
476 | fileExists = False |
11069c6bfff0
Fixed an issue in the editor related to opening a MicroPython device file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10878
diff
changeset
|
477 | fileSizeKB = 0 |
10636
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
478 | else: |
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
479 | fileIsRemote = False |
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
480 | fileExists = pathlib.Path(self.fileName).exists() |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
481 | fileSizeKB = pathlib.Path(self.fileName).stat().st_size // 1024 |
10636
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
482 | if fileExists: |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
483 | if fileSizeKB > Preferences.getEditor("RejectFilesize"): |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
484 | EricMessageBox.warning( |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
485 | None, |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
486 | self.tr("Open File"), |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
487 | self.tr( |
9786
f94b530722af
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9758
diff
changeset
|
488 | "<p>The size of the file <b>{0}</b> is <b>{1} KB</b>" |
f94b530722af
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9758
diff
changeset
|
489 | " and exceeds the configured limit of <b>{2} KB</b>." |
f94b530722af
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9758
diff
changeset
|
490 | " It will not be opened!</p>" |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
491 | ).format( |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
492 | self.fileName, |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
493 | fileSizeKB, |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
494 | Preferences.getEditor("RejectFilesize"), |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
495 | ), |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
496 | ) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7790
diff
changeset
|
497 | raise OSError() |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
498 | elif fileSizeKB > Preferences.getEditor("WarnFilesize"): |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
499 | res = EricMessageBox.yesNo( |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
500 | None, |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
501 | self.tr("Open File"), |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
502 | self.tr( |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
503 | """<p>The size of the file <b>{0}</b>""" |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
504 | """ is <b>{1} KB</b>.""" |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
505 | """ Do you really want to load it?</p>""" |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
506 | ).format(self.fileName, fileSizeKB), |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
507 | icon=EricMessageBox.Warning, |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
508 | ) |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
509 | if not res: |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
510 | raise OSError() |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
511 | |
10636
24d9e6ff8111
Added the file size warning in the editor for remote files and removed some obsolete TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10633
diff
changeset
|
512 | self.readFile(self.fileName, createIt=True, isRemote=fileIsRemote) |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
513 | |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
514 | self.__bindLexer(self.fileName) |
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
515 | self.__bindCompleter(self.fileName) |
3579
eccd12461319
BackgroundService: Restart of the client in different situations handled.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3576
diff
changeset
|
516 | self.checkSyntax() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
517 | self.isResourcesFile = self.fileName.endswith(".qrc") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
518 | |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
519 | self.__convertTabs() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
520 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
521 | self.recolor() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
522 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
523 | # clone the given editor |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
524 | self.setDocument(editor.document()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
525 | self.breaks = editor.breaks |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
526 | self.bookmarks = editor.bookmarks |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
527 | self.syntaxerrors = editor.syntaxerrors |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
528 | self.notcoveredMarkers = editor.notcoveredMarkers |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
529 | self.showingNotcoveredMarkers = editor.showingNotcoveredMarkers |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
530 | self.isResourcesFile = editor.isResourcesFile |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
531 | self.lastModified = editor.lastModified |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
532 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
533 | self.addClone(editor) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
534 | editor.addClone(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
535 | |
10843
5184f7a9a244
Fixed an issue in the editor widget causing wrong margin colors for files without known file type or plain text files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10836
diff
changeset
|
536 | # configure the margins |
5184f7a9a244
Fixed an issue in the editor widget causing wrong margin colors for files without known file type or plain text files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10836
diff
changeset
|
537 | self.__setMarginsDisplay() |
5184f7a9a244
Fixed an issue in the editor widget causing wrong margin colors for files without known file type or plain text files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10836
diff
changeset
|
538 | self.linesChanged.connect(self.__resizeLinenoMargin) |
5184f7a9a244
Fixed an issue in the editor widget causing wrong margin colors for files without known file type or plain text files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10836
diff
changeset
|
539 | |
5184f7a9a244
Fixed an issue in the editor widget causing wrong margin colors for files without known file type or plain text files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10836
diff
changeset
|
540 | self.marginClicked.connect(self.__marginClicked) |
5184f7a9a244
Fixed an issue in the editor widget causing wrong margin colors for files without known file type or plain text files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10836
diff
changeset
|
541 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
542 | self.gotoLine(1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
543 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
544 | # connect the mouse hover signals |
10499 | 545 | # mouse hover for the editor margins |
546 | self.SCN_DWELLSTART.connect(self.__marginHoverStart) | |
547 | self.SCN_DWELLEND.connect(self.__marginHoverEnd) | |
548 | ||
549 | # mouse hover help for the editor text | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
550 | self.SCN_DWELLSTART.connect(self.__showMouseHoverHelp) |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
551 | self.SCN_DWELLEND.connect(self.__cancelMouseHoverHelp) |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
552 | self.__mouseHoverHelp = None |
8581
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
553 | self.__showingMouseHoverHelp = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
554 | |
741
137cc6344b48
Fixed an issue in the Editor class introduced by the annotation job.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
730
diff
changeset
|
555 | # set the text display again |
137cc6344b48
Fixed an issue in the Editor class introduced by the annotation job.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
730
diff
changeset
|
556 | self.__setTextDisplay() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
557 | |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
558 | # set the auto-completion function |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
559 | self.__acContext = True |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
560 | self.__acText = "" |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
561 | self.__acCompletions = set() |
5932
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
562 | self.__acCompletionsFinished = 0 |
8354
12ebd3934fef
Renamed 'E5Utilities' to 'EricUtilities' and 'E5Network' to 'EricNetwork'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8344
diff
changeset
|
563 | self.__acCache = EricCache( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
564 | size=Preferences.getEditor("AutoCompletionCacheSize") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
565 | ) |
5909
21d90a3abc7c
Added a timeout configuration value to the completions cache after which completions will be removed from the cache.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5907
diff
changeset
|
566 | self.__acCache.setMaximumCacheTime( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
567 | Preferences.getEditor("AutoCompletionCacheTime") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
568 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
569 | self.__acCacheEnabled = Preferences.getEditor("AutoCompletionCacheEnabled") |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
570 | self.__acTimer = QTimer(self) |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
571 | self.__acTimer.setSingleShot(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
572 | self.__acTimer.setInterval(Preferences.getEditor("AutoCompletionTimeout")) |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
573 | self.__acTimer.timeout.connect(self.__autoComplete) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
574 | |
5932
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
575 | self.__acWatchdog = QTimer(self) |
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
576 | self.__acWatchdog.setSingleShot(True) |
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
577 | self.__acWatchdog.setInterval( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
578 | Preferences.getEditor("AutoCompletionWatchdogTime") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
579 | ) |
5932
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
580 | self.__acWatchdog.timeout.connect(self.autoCompleteQScintilla) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
581 | |
6117
4cc6c171ecf6
Little performance improvement of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6116
diff
changeset
|
582 | self.userListActivated.connect(self.__completionListSelected) |
6306
af71f34a0cfb
Enable resizing of auto complete list box for also for QScintilla own completers.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6305
diff
changeset
|
583 | self.SCN_CHARADDED.connect(self.__charAdded) |
af71f34a0cfb
Enable resizing of auto complete list box for also for QScintilla own completers.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6305
diff
changeset
|
584 | self.SCN_AUTOCCANCELLED.connect(self.__autocompletionCancelled) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
585 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
586 | self.__completionListHookFunctions = {} |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
587 | self.__completionListAsyncHookFunctions = {} |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
588 | self.__setAutoCompletion() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
589 | |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
590 | # set the call-tips function |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
591 | self.__ctHookFunctions = {} |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
592 | self.__setCallTips() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
593 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
594 | # set the mouse click handlers (fired on mouse release) |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
595 | self.__mouseClickHandlers = {} |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
596 | # dictionary with tuple of keyboard modifier and mouse button as key |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
597 | # and tuple of plug-in name and function as value |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
598 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
599 | sh = self.sizeHint() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
600 | if sh.height() < 300: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
601 | sh.setHeight(300) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
602 | self.resize(sh) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
603 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
604 | # Make sure tabbing through a QWorkspace works. |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
605 | self.setFocusPolicy(Qt.FocusPolicy.StrongFocus) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
606 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
607 | self.__updateReadOnly(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
608 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
609 | self.setWhatsThis( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
610 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
611 | """<b>A Source Editor Window</b>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
612 | """<p>This window is used to display and edit a source file.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
613 | """ You can open as many of these as you like. The name of the""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
614 | """ file is displayed in the window's titlebar.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
615 | """<p>In order to set breakpoints just click in the space""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
616 | """ between the line numbers and the fold markers. Via the""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
617 | """ context menu of the margins they may be edited.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
618 | """<p>In order to set bookmarks just Shift click in the space""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
619 | """ between the line numbers and the fold markers.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
620 | """<p>These actions can be reversed via the context menu.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
621 | """<p>Ctrl clicking on a syntax error marker shows some info""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
622 | """ about this error.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
623 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
624 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
625 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
626 | # Set the editors size, if it is too big for the view manager. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
627 | if self.vm is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
628 | req = self.size() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
629 | bnd = req.boundedTo(self.vm.size()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
630 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
631 | if bnd.width() < req.width() or bnd.height() < req.height(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
632 | self.resize(bnd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
633 | |
9070
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
634 | # code coverage related attributes |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
635 | self.__coverageFile = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
636 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
637 | self.__initContextMenu() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
638 | self.__initContextMenuMargins() |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
639 | self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
640 | self.customContextMenuRequested.connect(self.__showContextMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
641 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
642 | self.__checkEol() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
643 | if editor is None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
644 | self.__checkLanguage() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
645 | self.__checkEncoding() |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
646 | self.__checkSpellLanguage() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
647 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
648 | # it's a clone |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
649 | self.__languageChanged(editor.apiLanguage, propagate=False) |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
650 | self.__encodingChanged(editor.encoding, propagate=False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
651 | self.__spellLanguageChanged(editor.getSpellingLanguage(), propagate=False) |
8106
81bf8fe10735
Editor: fixed an issue handling breakpoints (and other stuff) in a cloned editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8004
diff
changeset
|
652 | # link the warnings to the original editor |
10279 | 653 | self._warnings = editor._warnings |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
654 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
655 | self.setAcceptDrops(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
656 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
657 | # breakpoint handling |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
658 | self.breakpointModel = self.dbs.getBreakPointModel() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
659 | self.__restoreBreakpoints() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
660 | self.breakpointModel.rowsAboutToBeRemoved.connect(self.__deleteBreakPoints) |
460
6a3899e91d76
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
448
diff
changeset
|
661 | self.breakpointModel.dataAboutToBeChanged.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
662 | self.__breakPointDataAboutToBeChanged |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
663 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
664 | self.breakpointModel.dataChanged.connect(self.__changeBreakPoints) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
665 | self.breakpointModel.rowsInserted.connect(self.__addBreakPoints) |
8344
7ce014e02cfb
Editor: reactivated the connection to SCN_MODIFIED signal after PyQt6 was fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8334
diff
changeset
|
666 | self.SCN_MODIFIED.connect(self.__modified) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
667 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
668 | # establish connection to some ViewManager action groups |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
669 | self.addActions(self.vm.editorActGrp.actions()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
670 | self.addActions(self.vm.editActGrp.actions()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
671 | self.addActions(self.vm.copyActGrp.actions()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
672 | self.addActions(self.vm.viewActGrp.actions()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
673 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
674 | # register images to be shown in autocompletion lists |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
675 | self.__registerImages() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
676 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
677 | # connect signals after loading the text |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
678 | self.textChanged.connect(self.__textChanged) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
679 | |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
680 | # initialize the online change trace timer |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
681 | self.__initOnlineChangeTrace() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
682 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
683 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
684 | self.fileName |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
685 | and self.project.isOpen() |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
686 | and self.project.isProjectCategory(self.fileName, "SOURCES") |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
687 | ): |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
688 | self.project.projectPropertiesChanged.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
689 | self.__projectPropertiesChanged |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
690 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
691 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
692 | self.grabGesture(Qt.GestureType.PinchGesture) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
693 | |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
694 | self.SCN_ZOOM.connect(self.__markerMap.update) |
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
695 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
696 | |
10849 | 697 | def getAssembly(self): |
698 | """ | |
699 | Public method to get a reference to the editor assembly object. | |
700 | ||
701 | @return reference to the editor assembly object | |
702 | @rtype EditorAssembly | |
703 | """ | |
704 | return self.__assembly | |
705 | ||
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
706 | def setFileName(self, name): |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
707 | """ |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
708 | Public method to set the file name of the current file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
709 | |
7306 | 710 | @param name name of the current file |
711 | @type str | |
712 | """ | |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
713 | renamed = self.fileName != name |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
714 | |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
715 | oldFileName = self.fileName |
7306 | 716 | self.fileName = name |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
717 | |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
718 | if renamed: |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
719 | self.vm.setEditorName(self, self.fileName) |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
720 | self.vm.removeWatchedFilePath(oldFileName) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
721 | self.vm.addWatchedFilePath(self.fileName) |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
722 | |
7306 | 723 | if self.fileName: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
724 | self.__fileNameExtension = os.path.splitext(self.fileName)[1][1:].lower() |
7306 | 725 | else: |
726 | self.__fileNameExtension = "" | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
727 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
728 | def __registerImages(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
729 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
730 | Private method to register images for autocompletion lists. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
731 | """ |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
732 | # finale size of the completion images |
8500
e7814dd19115
Changed the completion list icon sizes back to 22x22.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8498
diff
changeset
|
733 | imageSize = QSize(22, 22) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
734 | |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
735 | self.registerImage( |
10473 | 736 | EditorIconId.Class, |
737 | EricPixmapCache.getPixmap("class", imageSize), | |
738 | ) | |
739 | self.registerImage( | |
740 | EditorIconId.ClassProtected, | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
741 | EricPixmapCache.getPixmap("class_protected", imageSize), |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
742 | ) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
743 | self.registerImage( |
10473 | 744 | EditorIconId.ClassPrivate, |
745 | EricPixmapCache.getPixmap("class_private", imageSize), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
746 | ) |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
747 | self.registerImage( |
10473 | 748 | EditorIconId.Method, |
749 | EricPixmapCache.getPixmap("method", imageSize), | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
750 | ) |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
751 | self.registerImage( |
10473 | 752 | EditorIconId.MethodProtected, |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
753 | EricPixmapCache.getPixmap("method_protected", imageSize), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
754 | ) |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
755 | self.registerImage( |
10473 | 756 | EditorIconId.MethodPrivate, |
757 | EricPixmapCache.getPixmap("method_private", imageSize), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
758 | ) |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
759 | self.registerImage( |
10473 | 760 | EditorIconId.Attribute, |
761 | EricPixmapCache.getPixmap("attribute", imageSize), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
762 | ) |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
763 | self.registerImage( |
10473 | 764 | EditorIconId.AttributeProtected, |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
765 | EricPixmapCache.getPixmap("attribute_protected", imageSize), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
766 | ) |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
767 | self.registerImage( |
10473 | 768 | EditorIconId.AttributePrivate, |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
769 | EricPixmapCache.getPixmap("attribute_private", imageSize), |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
770 | ) |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
771 | self.registerImage( |
10473 | 772 | EditorIconId.Enum, |
773 | EricPixmapCache.getPixmap("enum", imageSize), | |
774 | ) | |
775 | self.registerImage( | |
776 | EditorIconId.Keywords, | |
777 | EricPixmapCache.getPixmap("keywords", imageSize), | |
778 | ) | |
779 | self.registerImage( | |
780 | EditorIconId.Module, | |
781 | EricPixmapCache.getPixmap("module", imageSize), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
782 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
783 | |
8487
153b7c3da034
Editor: fine tuned the size of the completion images.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
784 | self.registerImage( |
10473 | 785 | EditorIconId.FromDocument, |
786 | EricPixmapCache.getPixmap("editor", imageSize), | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
787 | ) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
788 | |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
789 | self.registerImage( |
10473 | 790 | EditorIconId.TemplateImage, |
791 | EricPixmapCache.getPixmap("templateViewer", imageSize), | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
792 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
793 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
794 | def addClone(self, editor): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
795 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
796 | Public method to add a clone to our list. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
797 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
798 | @param editor reference to the cloned editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
799 | @type Editor |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
800 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
801 | self.__clones.append(editor) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
802 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
803 | editor.editorRenamed.connect(self.fileRenamed) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
804 | editor.languageChanged.connect(self.languageChanged) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
805 | editor.eolChanged.connect(self.__eolChanged) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
806 | editor.encodingChanged.connect(self.__encodingChanged) |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
807 | editor.spellLanguageChanged.connect(self.__spellLanguageChanged) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
808 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
809 | def removeClone(self, editor): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
810 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
811 | Public method to remove a clone from our list. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
812 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
813 | @param editor reference to the cloned editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
814 | @type Editor |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
815 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
816 | if editor in self.__clones: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
817 | editor.editorRenamed.disconnect(self.fileRenamed) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
818 | editor.languageChanged.disconnect(self.languageChanged) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
819 | editor.eolChanged.disconnect(self.__eolChanged) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
820 | editor.encodingChanged.disconnect(self.__encodingChanged) |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
821 | editor.spellLanguageChanged.disconnect(self.__spellLanguageChanged) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
822 | self.__clones.remove(editor) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
823 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
824 | def isClone(self, editor): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
825 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
826 | Public method to test, if the given editor is a clone. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
827 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
828 | @param editor reference to the cloned editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
829 | @type Editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
830 | @return flag indicating a clone |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
831 | @rtype bool |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
832 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
833 | return editor in self.__clones |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
834 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
835 | def __bindName(self, line0): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
836 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
837 | Private method to generate a dummy filename for binding a lexer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
838 | |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
839 | @param line0 first line of text to use in the generation process |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
840 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
841 | @return dummy file name to be used for binding a lexer |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
842 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
843 | """ |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
844 | bindName = "" |
2221
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
845 | line0 = line0.lower() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
846 | |
2221
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
847 | # check first line if it does not start with #! |
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
848 | if line0.startswith(("<html", "<!doctype html", "<?php")): |
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
849 | bindName = "dummy.html" |
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
850 | elif line0.startswith(("<?xml", "<!doctype")): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
851 | bindName = "dummy.xml" |
2221
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
852 | elif line0.startswith("index: "): |
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
853 | bindName = "dummy.diff" |
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
854 | elif line0.startswith("\\documentclass"): |
f72f8b0478cb
Extended the first line checks to determine the file type.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2219
diff
changeset
|
855 | bindName = "dummy.tex" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
856 | |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
857 | if not bindName and self.filetype: |
6718
24a7a749e132
Editor, MiniEditor: harmonized the lexer determination code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
858 | # check filetype |
24a7a749e132
Editor, MiniEditor: harmonized the lexer determination code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
859 | supportedLanguages = Lexers.getSupportedLanguages() |
24a7a749e132
Editor, MiniEditor: harmonized the lexer determination code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
860 | if self.filetype in supportedLanguages: |
24a7a749e132
Editor, MiniEditor: harmonized the lexer determination code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
861 | bindName = supportedLanguages[self.filetype][1] |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
862 | elif self.filetype in ["Python", "Python3", "MicroPython"]: |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
863 | bindName = "dummy.py" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
864 | |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
865 | if not bindName and line0.startswith("#!"): |
6718
24a7a749e132
Editor, MiniEditor: harmonized the lexer determination code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
866 | # #! marker detection |
8228
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8222
diff
changeset
|
867 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
868 | "python3" in line0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
869 | or "python" in line0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
870 | or "pypy3" in line0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
871 | or "pypy" in line0 |
8228
772103b14c18
Applied some more code simplifications suggested by the new Simplify checker (Y114: use logical or for multiple if).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8222
diff
changeset
|
872 | ): |
6073
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
873 | bindName = "dummy.py" |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
874 | self.filetype = "Python3" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
875 | elif "/bash" in line0 or "/sh" in line0: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
876 | bindName = "dummy.sh" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
877 | elif "ruby" in line0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
878 | bindName = "dummy.rb" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
879 | self.filetype = "Ruby" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
880 | elif "perl" in line0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
881 | bindName = "dummy.pl" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
882 | elif "lua" in line0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
883 | bindName = "dummy.lua" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
884 | elif "dmd" in line0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
885 | bindName = "dummy.d" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
886 | self.filetype = "D" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
887 | |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
888 | if not bindName: |
6073
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
889 | # mode line detection: -*- mode: python -*- |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
890 | match = re.search(r"mode[:=]\s*([-\w_.]+)", line0) |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
891 | if match: |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
892 | mode = match.group(1).lower() |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
893 | if mode in ["python3", "pypy3"]: |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
894 | bindName = "dummy.py" |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
895 | self.filetype = "Python3" |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
896 | elif mode == "ruby": |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
897 | bindName = "dummy.rb" |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
898 | self.filetype = "Ruby" |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
899 | elif mode == "perl": |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
900 | bindName = "dummy.pl" |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
901 | elif mode == "lua": |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
902 | bindName = "dummy.lua" |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
903 | elif mode in ["dmd", "d"]: |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
904 | bindName = "dummy.d" |
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
905 | self.filetype = "D" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
906 | |
6073
a679240821cb
Added file type detection base on the first line being a mode line (i.e. -*- mode: python -*-)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6059
diff
changeset
|
907 | if not bindName: |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
908 | bindName = self.fileName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
909 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
910 | return bindName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
911 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
912 | def getMenu(self, menuName): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
913 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
914 | Public method to get a reference to the main context menu or a submenu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
915 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
916 | @param menuName name of the menu |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
917 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
918 | @return reference to the requested menu or None |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
919 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
920 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
921 | try: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
922 | return self.__menus[menuName] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
923 | except KeyError: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
924 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
925 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
926 | def hasMiniMenu(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
927 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
928 | Public method to check the miniMenu flag. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
929 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
930 | @return flag indicating a minimized context menu |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
931 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
932 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
933 | return self.miniMenu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
934 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
935 | def __initContextMenu(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
936 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
937 | Private method used to setup the context menu. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
938 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
939 | self.miniMenu = Preferences.getEditor("MiniContextMenu") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
940 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
941 | self.menuActs = {} |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
942 | self.menu = QMenu() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
943 | self.__menus = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
944 | "Main": self.menu, |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
945 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
946 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
947 | self.languagesMenu = self.__initContextMenuLanguages() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
948 | self.__menus["Languages"] = self.languagesMenu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
949 | if self.isResourcesFile: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
950 | self.resourcesMenu = self.__initContextMenuResources() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
951 | self.__menus["Resources"] = self.resourcesMenu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
952 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
953 | self.checksMenu = self.__initContextMenuChecks() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
954 | self.menuShow = self.__initContextMenuShow() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
955 | self.graphicsMenu = self.__initContextMenuGraphics() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
956 | self.autocompletionMenu = self.__initContextMenuAutocompletion() |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
957 | self.codeFormattingMenu = self.__initContextMenuFormatting() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
958 | self.__menus["Checks"] = self.checksMenu |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
959 | self.__menus["Show"] = self.menuShow |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
960 | self.__menus["Graphics"] = self.graphicsMenu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
961 | self.__menus["Autocompletion"] = self.autocompletionMenu |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
962 | self.__menus["Formatting"] = self.codeFormattingMenu |
3583
3e8e0346d639
Re-fixed the recent editor issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3581
diff
changeset
|
963 | self.toolsMenu = self.__initContextMenuTools() |
3e8e0346d639
Re-fixed the recent editor issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3581
diff
changeset
|
964 | self.__menus["Tools"] = self.toolsMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
965 | self.eolMenu = self.__initContextMenuEol() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
966 | self.__menus["Eol"] = self.eolMenu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
967 | self.encodingsMenu = self.__initContextMenuEncodings() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
968 | self.__menus["Encodings"] = self.encodingsMenu |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
969 | self.spellCheckMenu = self.__initContextMenuSpellCheck() |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
970 | self.__menus["SpellCheck"] = self.spellCheckMenu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
971 | |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
972 | self.menuActs["Undo"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
973 | EricPixmapCache.getIcon("editUndo"), self.tr("Undo"), self.undo |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
974 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
975 | self.menuActs["Redo"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
976 | EricPixmapCache.getIcon("editRedo"), self.tr("Redo"), self.redo |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
977 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
978 | self.menuActs["Revert"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
979 | self.tr("Revert to last saved state"), self.revertToUnmodified |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
980 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
981 | self.menu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
982 | self.menuActs["Cut"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
983 | EricPixmapCache.getIcon("editCut"), self.tr("Cut"), self.cut |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
984 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
985 | self.menuActs["Copy"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
986 | EricPixmapCache.getIcon("editCopy"), self.tr("Copy"), self.copy |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
987 | ) |
6059
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
988 | self.menuActs["Paste"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
989 | EricPixmapCache.getIcon("editPaste"), self.tr("Paste"), self.paste |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
990 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
991 | if not self.miniMenu: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
992 | self.menu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
993 | self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
994 | EricPixmapCache.getIcon("editIndent"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
995 | self.tr("Indent"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
996 | self.indentLineOrSelection, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
997 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
998 | self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
999 | EricPixmapCache.getIcon("editUnindent"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1000 | self.tr("Unindent"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1001 | self.unindentLineOrSelection, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1002 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1003 | self.menuActs["Comment"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1004 | EricPixmapCache.getIcon("editComment"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1005 | self.tr("Comment"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1006 | self.commentLineOrSelection, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1007 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1008 | self.menuActs["Uncomment"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1009 | EricPixmapCache.getIcon("editUncomment"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1010 | self.tr("Uncomment"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1011 | self.uncommentLineOrSelection, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1012 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1013 | self.menu.addSeparator() |
8000
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
1014 | self.menuActs["Docstring"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1015 | self.tr("Generate Docstring"), self.__insertDocstring |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1016 | ) |
8000
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
1017 | self.menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1018 | self.menu.addAction(self.tr("Select to brace"), self.selectToMatchingBrace) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1019 | self.menu.addAction(self.tr("Select all"), self.__selectAll) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1020 | self.menu.addAction(self.tr("Deselect all"), self.__deselectAll) |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1021 | self.menuActs["ExecuteSelection"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1022 | self.tr("Execute Selection In Console"), self.__executeSelection |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1023 | ) |
6059
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
1024 | else: |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
1025 | self.menuActs["ExecuteSelection"] = None |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
1026 | self.menu.addSeparator() |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1027 | self.menu.addMenu(self.spellCheckMenu) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1028 | self.menu.addSeparator() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1029 | self.menuActs["Languages"] = self.menu.addMenu(self.languagesMenu) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1030 | self.menuActs["Encodings"] = self.menu.addMenu(self.encodingsMenu) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1031 | self.menuActs["Eol"] = self.menu.addMenu(self.eolMenu) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1032 | self.menu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1033 | self.menuActs["MonospacedFont"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1034 | self.tr("Use Monospaced Font"), self.handleMonospacedEnable |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1035 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1036 | self.menuActs["MonospacedFont"].setCheckable(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1037 | self.menuActs["MonospacedFont"].setChecked(self.useMonospaced) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1038 | self.menuActs["AutosaveEnable"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1039 | self.tr("Autosave enabled"), self.__autosaveEnable |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1040 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1041 | self.menuActs["AutosaveEnable"].setCheckable(True) |
10307 | 1042 | self.menuActs["AutosaveEnable"].setChecked(self.__autosaveInterval > 0) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1043 | self.menuActs["TypingAidsEnabled"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1044 | self.tr("Typing aids enabled"), self.__toggleTypingAids |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1045 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1046 | self.menuActs["TypingAidsEnabled"].setCheckable(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1047 | self.menuActs["TypingAidsEnabled"].setEnabled(self.completer is not None) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
1048 | self.menuActs["TypingAidsEnabled"].setChecked( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1049 | self.completer is not None and self.completer.isEnabled() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1050 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1051 | self.menuActs["AutoCompletionEnable"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1052 | self.tr("Automatic Completion enabled"), self.__toggleAutoCompletionEnable |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1053 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1054 | self.menuActs["AutoCompletionEnable"].setCheckable(True) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
1055 | self.menuActs["AutoCompletionEnable"].setChecked( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1056 | self.autoCompletionThreshold() != -1 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1057 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1058 | if not self.isResourcesFile: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1059 | self.menu.addMenu(self.autocompletionMenu) |
4153
95b18307079f
Corrected some auto-completion related terms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4142
diff
changeset
|
1060 | self.menuActs["calltip"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1061 | self.tr("Calltip"), self.callTip |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1062 | ) |
5907
c928af9fce32
Added some code info actions to the editor context menu and the Edit main menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5905
diff
changeset
|
1063 | self.menuActs["codeInfo"] = self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1064 | self.tr("Code Info"), self.__showCodeInfo |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1065 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1066 | self.menu.addSeparator() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1067 | if self.isResourcesFile: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1068 | self.menu.addMenu(self.resourcesMenu) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1069 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1070 | self.menuActs["Check"] = self.menu.addMenu(self.checksMenu) |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1071 | self.menuActs["Formatting"] = self.menu.addMenu(self.codeFormattingMenu) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1072 | self.menuActs["Show"] = self.menu.addMenu(self.menuShow) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1073 | self.menuActs["Diagrams"] = self.menu.addMenu(self.graphicsMenu) |
3583
3e8e0346d639
Re-fixed the recent editor issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3581
diff
changeset
|
1074 | self.menu.addSeparator() |
3e8e0346d639
Re-fixed the recent editor issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3581
diff
changeset
|
1075 | self.menuActs["Tools"] = self.menu.addMenu(self.toolsMenu) |
3155
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1076 | self.menu.addSeparator() |
3100
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3095
diff
changeset
|
1077 | self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1078 | EricPixmapCache.getIcon("documentNewView"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1079 | self.tr("New Document View"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1080 | self.__newView, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1081 | ) |
3100
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3095
diff
changeset
|
1082 | self.menuActs["NewSplit"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1083 | EricPixmapCache.getIcon("splitVertical"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1084 | self.tr("New Document View (with new split)"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1085 | self.__newViewNewSplit, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1086 | ) |
3100
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3095
diff
changeset
|
1087 | self.menuActs["NewSplit"].setEnabled(self.vm.canSplit()) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1088 | self.menu.addSeparator() |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1089 | self.reopenEncodingMenu = self.__initContextMenuReopenWithEncoding() |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1090 | self.menuActs["Reopen"] = self.menu.addMenu(self.reopenEncodingMenu) |
10674 | 1091 | self.menuActs["Reload"] = self.menu.addAction( |
1092 | EricPixmapCache.getIcon("reload"), self.tr("Reload"), self.reload | |
1093 | ) | |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1094 | self.menuActs["Save"] = self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1095 | EricPixmapCache.getIcon("fileSave"), self.tr("Save"), self.__contextSave |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1096 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1097 | self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1098 | EricPixmapCache.getIcon("fileSaveAs"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1099 | self.tr("Save As..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1100 | self.__contextSaveAs, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1101 | ) |
10550
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
1102 | self.menuActs["SaveAsRemote"] = self.menu.addAction( |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
1103 | EricPixmapCache.getIcon("fileSaveAsRemote"), |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
1104 | self.tr("Save as (Remote)..."), |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
1105 | self.__contextSaveAsRemote, |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
1106 | ) |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
1107 | self.menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1108 | EricPixmapCache.getIcon("fileSaveCopy"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1109 | self.tr("Save Copy..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1110 | self.__contextSaveCopy, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1111 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1112 | |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
1113 | self.menu.aboutToShow.connect(self.__aboutToShowContextMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1114 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1115 | self.spellingMenu = QMenu() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1116 | self.__menus["Spelling"] = self.spellingMenu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1117 | |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1118 | self.spellingMenu.aboutToShow.connect(self.__showContextMenuSpelling) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1119 | self.spellingMenu.triggered.connect(self.__contextMenuSpellingTriggered) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1120 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1121 | def __initContextMenuAutocompletion(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1122 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1123 | Private method used to setup the Checks context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1124 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1125 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1126 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1127 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1128 | menu = QMenu(self.tr("Complete")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1129 | |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1130 | self.menuActs["acDynamic"] = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1131 | self.tr("Complete"), self.autoComplete |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1132 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1133 | menu.addSeparator() |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
1134 | self.menuActs["acClearCache"] = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1135 | self.tr("Clear Completions Cache"), self.__clearCompletionsCache |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1136 | ) |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
1137 | menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1138 | menu.addAction(self.tr("Complete from Document"), self.autoCompleteFromDocument) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1139 | self.menuActs["acAPI"] = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1140 | self.tr("Complete from APIs"), self.autoCompleteFromAPIs |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1141 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1142 | self.menuActs["acAPIDocument"] = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1143 | self.tr("Complete from Document and APIs"), self.autoCompleteFromAll |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1144 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1145 | |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1146 | menu.aboutToShow.connect(self.__showContextMenuAutocompletion) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1147 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1148 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1149 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1150 | def __initContextMenuChecks(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1151 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1152 | Private method used to setup the Checks context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1153 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1154 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1155 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1156 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1157 | menu = QMenu(self.tr("Check")) |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1158 | menu.aboutToShow.connect(self.__showContextMenuChecks) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1159 | return menu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1160 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1161 | def __initContextMenuFormatting(self): |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1162 | """ |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1163 | Private method used to setup the Code Formatting context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1164 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1165 | @return reference to the generated menu |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1166 | @rtype QMenu |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1167 | """ |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1168 | menu = QMenu(self.tr("Code Formatting")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1169 | |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1170 | ####################################################################### |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1171 | ## Black related entries |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1172 | ####################################################################### |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1173 | |
9436
731d146193e2
Added an 'About Black' entry to the Code Formatting menus of the project sources browser and the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9432
diff
changeset
|
1174 | act = menu.addAction(self.tr("Black"), aboutBlack) |
731d146193e2
Added an 'About Black' entry to the Code Formatting menus of the project sources browser and the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9432
diff
changeset
|
1175 | font = act.font() |
731d146193e2
Added an 'About Black' entry to the Code Formatting menus of the project sources browser and the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9432
diff
changeset
|
1176 | font.setBold(True) |
731d146193e2
Added an 'About Black' entry to the Code Formatting menus of the project sources browser and the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9432
diff
changeset
|
1177 | act.setFont(font) |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1178 | menu.addAction( |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1179 | self.tr("Format Code"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1180 | lambda: self.__performFormatWithBlack(BlackFormattingAction.Format), |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1181 | ) |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1182 | menu.addAction( |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1183 | self.tr("Check Formatting"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1184 | lambda: self.__performFormatWithBlack(BlackFormattingAction.Check), |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1185 | ) |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1186 | menu.addAction( |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1187 | self.tr("Formatting Diff"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1188 | lambda: self.__performFormatWithBlack(BlackFormattingAction.Diff), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1189 | ) |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1190 | menu.addSeparator() |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1191 | |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1192 | ####################################################################### |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1193 | ## isort related entries |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1194 | ####################################################################### |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1195 | |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1196 | act = menu.addAction(self.tr("isort"), aboutIsort) |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1197 | font = act.font() |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1198 | font.setBold(True) |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1199 | act.setFont(font) |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1200 | menu.addAction( |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1201 | self.tr("Sort Imports"), |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1202 | lambda: self.__performImportSortingWithIsort(IsortFormattingAction.Sort), |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1203 | ) |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1204 | menu.addAction( |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1205 | self.tr("Imports Sorting Diff"), |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1206 | lambda: self.__performImportSortingWithIsort(IsortFormattingAction.Diff), |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1207 | ) |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
1208 | menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1209 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1210 | menu.aboutToShow.connect(self.__showContextMenuFormatting) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1211 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1212 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1213 | |
3155
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1214 | def __initContextMenuTools(self): |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1215 | """ |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1216 | Private method used to setup the Tools context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1217 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1218 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1219 | @rtype QMenu |
3155
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1220 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1221 | menu = QMenu(self.tr("Tools")) |
3155
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1222 | menu.aboutToShow.connect(self.__showContextMenuTools) |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1223 | return menu |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
1224 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1225 | def __initContextMenuShow(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1226 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1227 | Private method used to setup the Show context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1228 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1229 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1230 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1231 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1232 | menu = QMenu(self.tr("Show")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1233 | |
10574
622e59b51640
Implemented the profiling and code coverage interface of the dialogs to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10573
diff
changeset
|
1234 | self.codeMetricsAct = menu.addAction( |
622e59b51640
Implemented the profiling and code coverage interface of the dialogs to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10573
diff
changeset
|
1235 | self.tr("Code metrics..."), self.__showCodeMetrics |
622e59b51640
Implemented the profiling and code coverage interface of the dialogs to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10573
diff
changeset
|
1236 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1237 | self.coverageMenuAct = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1238 | self.tr("Code coverage..."), self.__showCodeCoverage |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1239 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1240 | self.coverageShowAnnotationMenuAct = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1241 | self.tr("Show code coverage annotations"), self.codeCoverageShowAnnotations |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1242 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1243 | self.coverageHideAnnotationMenuAct = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1244 | self.tr("Hide code coverage annotations"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1245 | self.__codeCoverageHideAnnotations, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1246 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1247 | self.profileMenuAct = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1248 | self.tr("Profile data..."), self.__showProfileData |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1249 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1250 | |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1251 | menu.aboutToShow.connect(self.__showContextMenuShow) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1252 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1253 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1254 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1255 | def __initContextMenuGraphics(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1256 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1257 | Private method used to setup the diagrams context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1258 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1259 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1260 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1261 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1262 | menu = QMenu(self.tr("Diagrams")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1263 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1264 | menu.addAction(self.tr("Class Diagram..."), self.__showClassDiagram) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1265 | menu.addAction(self.tr("Package Diagram..."), self.__showPackageDiagram) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1266 | menu.addAction(self.tr("Imports Diagram..."), self.__showImportsDiagram) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1267 | self.applicationDiagramMenuAct = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1268 | self.tr("Application Diagram..."), self.__showApplicationDiagram |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1269 | ) |
2034
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
1270 | menu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1271 | menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1272 | EricPixmapCache.getIcon("open"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1273 | self.tr("Load Diagram..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1274 | self.__loadDiagram, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1275 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1276 | |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1277 | menu.aboutToShow.connect(self.__showContextMenuGraphics) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1278 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1279 | return menu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1280 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1281 | def __initContextMenuLanguages(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1282 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1283 | Private method used to setup the Languages context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1284 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1285 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1286 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1287 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1288 | menu = QMenu(self.tr("Languages")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1289 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1290 | self.languagesActGrp = QActionGroup(self) |
6210
f5b392aac28e
Added a default 'Text Document' icon for the status bar file type field and the language selection menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6188
diff
changeset
|
1291 | self.noLanguageAct = menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1292 | EricPixmapCache.getIcon("fileText"), self.tr("Text") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1293 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1294 | self.noLanguageAct.setCheckable(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1295 | self.noLanguageAct.setData("None") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1296 | self.languagesActGrp.addAction(self.noLanguageAct) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1297 | menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1298 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1299 | self.supportedLanguages = {} |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1300 | supportedLanguages = Lexers.getSupportedLanguages() |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10345
diff
changeset
|
1301 | for language in sorted(supportedLanguages): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1302 | if language != "Guessed": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1303 | self.supportedLanguages[language] = supportedLanguages[language][:2] |
2217
e80c74f2a25a
Added some icons to the "Languages" and "End-of-Line Type" context menus of the editor and changed the status labels for programming language and end-of-line type of the main window to show an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2216
diff
changeset
|
1304 | act = menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1305 | EricPixmapCache.getIcon(supportedLanguages[language][2]), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1306 | self.supportedLanguages[language][0], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1307 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1308 | act.setCheckable(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1309 | act.setData(language) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1310 | self.supportedLanguages[language].append(act) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1311 | self.languagesActGrp.addAction(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1312 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1313 | menu.addSeparator() |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1314 | self.pygmentsAct = menu.addAction(self.tr("Guessed")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1315 | self.pygmentsAct.setCheckable(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1316 | self.pygmentsAct.setData("Guessed") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1317 | self.languagesActGrp.addAction(self.pygmentsAct) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1318 | self.pygmentsSelAct = menu.addAction(self.tr("Alternatives")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1319 | self.pygmentsSelAct.setData("Alternatives") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1320 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1321 | menu.triggered.connect(self.__languageMenuTriggered) |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1322 | menu.aboutToShow.connect(self.__showContextMenuLanguages) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1323 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1324 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1325 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1326 | def __initContextMenuEncodings(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1327 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1328 | Private method used to setup the Encodings context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1329 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1330 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1331 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1332 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1333 | self.supportedEncodings = {} |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1334 | |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1335 | menu = QMenu(self.tr("Encodings")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1336 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1337 | self.encodingsActGrp = QActionGroup(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1338 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1339 | for encoding in sorted(Utilities.supportedCodecs): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1340 | act = menu.addAction(encoding) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1341 | act.setCheckable(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1342 | act.setData(encoding) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1343 | self.supportedEncodings[encoding] = act |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1344 | self.encodingsActGrp.addAction(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1345 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1346 | menu.triggered.connect(self.__encodingsMenuTriggered) |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1347 | menu.aboutToShow.connect(self.__showContextMenuEncodings) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1348 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1349 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1350 | |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1351 | def __initContextMenuReopenWithEncoding(self): |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1352 | """ |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1353 | Private method used to setup the Reopen With Encoding context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1354 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1355 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1356 | @rtype QMenu |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1357 | """ |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1358 | menu = QMenu(self.tr("Re-Open With Encoding")) |
10757
7eed48700225
Modified the icon of the document open actions and added an icon for the recent documents menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10715
diff
changeset
|
1359 | menu.setIcon(EricPixmapCache.getIcon("documentOpen")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1360 | |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1361 | for encoding in sorted(Utilities.supportedCodecs): |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1362 | act = menu.addAction(encoding) |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1363 | act.setData(encoding) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1364 | |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1365 | menu.triggered.connect(self.__reopenWithEncodingMenuTriggered) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1366 | |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
1367 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1368 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1369 | def __initContextMenuEol(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1370 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1371 | Private method to setup the eol context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1372 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1373 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1374 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1375 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1376 | self.supportedEols = {} |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1377 | |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1378 | menu = QMenu(self.tr("End-of-Line Type")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1379 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1380 | self.eolActGrp = QActionGroup(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1381 | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1382 | act = menu.addAction(EricPixmapCache.getIcon("eolLinux"), self.tr("Unix")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1383 | act.setCheckable(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1384 | act.setData("\n") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1385 | self.supportedEols["\n"] = act |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1386 | self.eolActGrp.addAction(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1387 | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1388 | act = menu.addAction(EricPixmapCache.getIcon("eolWindows"), self.tr("Windows")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1389 | act.setCheckable(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1390 | act.setData("\r\n") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1391 | self.supportedEols["\r\n"] = act |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1392 | self.eolActGrp.addAction(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1393 | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1394 | act = menu.addAction(EricPixmapCache.getIcon("eolMac"), self.tr("Macintosh")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1395 | act.setCheckable(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1396 | act.setData("\r") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1397 | self.supportedEols["\r"] = act |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1398 | self.eolActGrp.addAction(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1399 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1400 | menu.triggered.connect(self.__eolMenuTriggered) |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
1401 | menu.aboutToShow.connect(self.__showContextMenuEol) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1402 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1403 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1404 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1405 | def __initContextMenuSpellCheck(self): |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1406 | """ |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1407 | Private method used to setup the spell checking context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1408 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1409 | @return reference to the generated menu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1410 | @rtype QMenu |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1411 | """ |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1412 | menu = QMenu(self.tr("Spelling")) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1413 | menu.setIcon(EricPixmapCache.getIcon("spellchecking")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1414 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1415 | self.spellLanguagesMenu = self.__initContextMenuSpellLanguages() |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1416 | self.__menus["SpellLanguages"] = self.spellLanguagesMenu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1417 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1418 | self.menuActs["SpellCheck"] = menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1419 | EricPixmapCache.getIcon("spellchecking"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1420 | self.tr("Check spelling..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1421 | self.checkSpelling, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1422 | ) |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1423 | self.menuActs["SpellCheckSelection"] = menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
1424 | EricPixmapCache.getIcon("spellchecking"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1425 | self.tr("Check spelling of selection..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1426 | self.__checkSpellingSelection, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1427 | ) |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1428 | self.menuActs["SpellCheckRemove"] = menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1429 | self.tr("Remove from dictionary"), self.__removeFromSpellingDictionary |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1430 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1431 | self.menuActs["SpellCheckLanguages"] = menu.addMenu(self.spellLanguagesMenu) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1432 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1433 | menu.aboutToShow.connect(self.__showContextMenuSpellCheck) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1434 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1435 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1436 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1437 | def __initContextMenuSpellLanguages(self): |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1438 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1439 | Private method to setup the spell checking languages context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1440 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1441 | @return reference to the generated menu |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1442 | @rtype QMenu |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1443 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1444 | self.supportedSpellLanguages = {} |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1445 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1446 | menu = QMenu(self.tr("Spell Check Languages")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1447 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1448 | self.spellLanguagesActGrp = QActionGroup(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1449 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1450 | self.noSpellLanguageAct = menu.addAction(self.tr("No Language")) |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1451 | self.noSpellLanguageAct.setCheckable(True) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1452 | self.noSpellLanguageAct.setData("") |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1453 | self.spellLanguagesActGrp.addAction(self.noSpellLanguageAct) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1454 | menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1455 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1456 | for language in sorted(SpellChecker.getAvailableLanguages()): |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1457 | act = menu.addAction(language) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1458 | act.setCheckable(True) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1459 | act.setData(language) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1460 | self.supportedSpellLanguages[language] = act |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1461 | self.spellLanguagesActGrp.addAction(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1462 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1463 | menu.triggered.connect(self.__spellLanguagesMenuTriggered) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1464 | menu.aboutToShow.connect(self.__showContextMenuSpellLanguages) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1465 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1466 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1467 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1468 | def __initContextMenuMargins(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1469 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
1470 | Private method used to setup the context menu for the margins. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1471 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1472 | self.marginMenuActs = {} |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1473 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1474 | # bookmark margin |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1475 | self.bmMarginMenu = QMenu() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1476 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1477 | self.bmMarginMenu.addAction(self.tr("Toggle bookmark"), self.menuToggleBookmark) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1478 | self.marginMenuActs["NextBookmark"] = self.bmMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1479 | self.tr("Next bookmark"), self.nextBookmark |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1480 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1481 | self.marginMenuActs["PreviousBookmark"] = self.bmMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1482 | self.tr("Previous bookmark"), self.previousBookmark |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1483 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1484 | self.marginMenuActs["ClearBookmark"] = self.bmMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1485 | self.tr("Clear all bookmarks"), self.clearBookmarks |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1486 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1487 | |
6116
f3d3c996c193
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6111
diff
changeset
|
1488 | self.bmMarginMenu.aboutToShow.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1489 | lambda: self.__showContextMenuMargin(self.bmMarginMenu) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1490 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1491 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1492 | # breakpoint margin |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1493 | self.bpMarginMenu = QMenu() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1494 | |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1495 | self.marginMenuActs["Breakpoint"] = self.bpMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1496 | self.tr("Toggle breakpoint"), self.menuToggleBreakpoint |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1497 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1498 | self.marginMenuActs["TempBreakpoint"] = self.bpMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1499 | self.tr("Toggle temporary breakpoint"), self.__menuToggleTemporaryBreakpoint |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1500 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1501 | self.marginMenuActs["EditBreakpoint"] = self.bpMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1502 | self.tr("Edit breakpoint..."), self.menuEditBreakpoint |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1503 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1504 | self.marginMenuActs["EnableBreakpoint"] = self.bpMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1505 | self.tr("Enable breakpoint"), self.__menuToggleBreakpointEnabled |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1506 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1507 | self.marginMenuActs["NextBreakpoint"] = self.bpMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1508 | self.tr("Next breakpoint"), self.menuNextBreakpoint |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1509 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1510 | self.marginMenuActs["PreviousBreakpoint"] = self.bpMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1511 | self.tr("Previous breakpoint"), self.menuPreviousBreakpoint |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1512 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1513 | self.marginMenuActs["ClearBreakpoint"] = self.bpMarginMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1514 | self.tr("Clear all breakpoints"), self.__menuClearBreakpoints |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1515 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1516 | |
6116
f3d3c996c193
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6111
diff
changeset
|
1517 | self.bpMarginMenu.aboutToShow.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1518 | lambda: self.__showContextMenuMargin(self.bpMarginMenu) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1519 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1520 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
1521 | # fold margin |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
1522 | self.foldMarginMenu = QMenu() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1523 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1524 | self.marginMenuActs["ToggleAllFolds"] = self.foldMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1525 | self.tr("Toggle all folds"), self.foldAll |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1526 | ) |
10621
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10570
diff
changeset
|
1527 | self.marginMenuActs["ToggleAllFoldsAndChildren"] = ( |
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10570
diff
changeset
|
1528 | self.foldMarginMenu.addAction( |
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10570
diff
changeset
|
1529 | self.tr("Toggle all folds (including children)"), |
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10570
diff
changeset
|
1530 | lambda: self.foldAll(True), |
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10570
diff
changeset
|
1531 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1532 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1533 | self.marginMenuActs["ToggleCurrentFold"] = self.foldMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1534 | self.tr("Toggle current fold"), self.toggleCurrentFold |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1535 | ) |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
1536 | self.foldMarginMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1537 | self.marginMenuActs["ExpandChildren"] = self.foldMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1538 | self.tr("Expand (including children)"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1539 | self.__contextMenuExpandFoldWithChildren, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1540 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1541 | self.marginMenuActs["CollapseChildren"] = self.foldMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1542 | self.tr("Collapse (including children)"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1543 | self.__contextMenuCollapseFoldWithChildren, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1544 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1545 | self.foldMarginMenu.addSeparator() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1546 | self.marginMenuActs["ClearAllFolds"] = self.foldMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1547 | self.tr("Clear all folds"), self.clearFolds |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1548 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1549 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
1550 | self.foldMarginMenu.aboutToShow.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1551 | lambda: self.__showContextMenuMargin(self.foldMarginMenu) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1552 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1553 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1554 | # indicator margin |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1555 | self.indicMarginMenu = QMenu() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1556 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1557 | self.marginMenuActs["GotoSyntaxError"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1558 | self.tr("Goto syntax error"), self.gotoSyntaxError |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1559 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1560 | self.marginMenuActs["ShowSyntaxError"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1561 | self.tr("Show syntax error message"), self.__showSyntaxError |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1562 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1563 | self.marginMenuActs["ClearSyntaxError"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1564 | self.tr("Clear syntax error"), self.clearSyntaxError |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1565 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1566 | self.indicMarginMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1567 | self.marginMenuActs["NextWarningMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1568 | self.tr("Next warning"), self.nextWarning |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1569 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1570 | self.marginMenuActs["PreviousWarningMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1571 | self.tr("Previous warning"), self.previousWarning |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1572 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1573 | self.marginMenuActs["ShowWarning"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1574 | self.tr("Show warning message"), self.__showWarning |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1575 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1576 | self.marginMenuActs["ClearWarnings"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1577 | self.tr("Clear warnings"), self.clearWarnings |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1578 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1579 | self.indicMarginMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1580 | self.marginMenuActs["NextCoverageMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1581 | self.tr("Next uncovered line"), self.nextUncovered |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1582 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1583 | self.marginMenuActs["PreviousCoverageMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1584 | self.tr("Previous uncovered line"), self.previousUncovered |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1585 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1586 | self.indicMarginMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1587 | self.marginMenuActs["NextTaskMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1588 | self.tr("Next task"), self.nextTask |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1589 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1590 | self.marginMenuActs["PreviousTaskMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1591 | self.tr("Previous task"), self.previousTask |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1592 | ) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
1593 | self.indicMarginMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1594 | self.marginMenuActs["NextChangeMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1595 | self.tr("Next change"), self.nextChange |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1596 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1597 | self.marginMenuActs["PreviousChangeMarker"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1598 | self.tr("Previous change"), self.previousChange |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1599 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1600 | self.marginMenuActs["ClearChangeMarkers"] = self.indicMarginMenu.addAction( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1601 | self.tr("Clear changes"), self.__reinitOnlineChangeTrace |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1602 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1603 | |
6116
f3d3c996c193
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6111
diff
changeset
|
1604 | self.indicMarginMenu.aboutToShow.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1605 | lambda: self.__showContextMenuMargin(self.indicMarginMenu) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1606 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1607 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1608 | def exportFile(self, exporterFormat): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1609 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1610 | Public method to export the file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1611 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1612 | @param exporterFormat format the file should be exported into |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1613 | @type str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1614 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1615 | if exporterFormat: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1616 | exporter = Exporters.getExporter(exporterFormat, self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1617 | if exporter: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1618 | exporter.exportSource() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1619 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
1620 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
1621 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1622 | self.tr("Export source"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1623 | self.tr( |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1624 | """<p>No exporter available for the """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1625 | """export format <b>{0}</b>. Aborting...</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1626 | ).format(exporterFormat), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1627 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1628 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
1629 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
1630 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1631 | self.tr("Export source"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1632 | self.tr("""No export format given. Aborting..."""), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1633 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1634 | |
10279 | 1635 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1636 | def __showContextMenuLanguages(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1637 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1638 | Private slot handling the aboutToShow signal of the languages context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1639 | menu. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1640 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1641 | if self.apiLanguage.startswith("Pygments|"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1642 | self.pygmentsSelAct.setText( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1643 | self.tr("Alternatives ({0})").format(self.getLanguage(normalized=False)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1644 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1645 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1646 | self.pygmentsSelAct.setText(self.tr("Alternatives")) |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
1647 | self.showMenu.emit("Languages", self.languagesMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1648 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1649 | def __selectPygmentsLexer(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1650 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1651 | Private method to select a specific pygments lexer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1652 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1653 | @return name of the selected pygments lexer |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1654 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1655 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
1656 | from pygments.lexers import get_all_lexers # __IGNORE_WARNING_I102__ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1657 | |
7628
f904d0eef264
Checked the reported security related issue reports generated by the new security checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7575
diff
changeset
|
1658 | lexerList = sorted(lex[0] for lex in get_all_lexers()) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1659 | try: |
1295
b3db3070d104
Fixed an issue in the editor setting the correct language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1196
diff
changeset
|
1660 | lexerSel = lexerList.index( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1661 | self.getLanguage(normalized=False, forPygments=True) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1662 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1663 | except ValueError: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1664 | lexerSel = 0 |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
1665 | lexerName, ok = QInputDialog.getItem( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1666 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1667 | self.tr("Pygments Lexer"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
1668 | self.tr("Select the Pygments lexer to apply."), |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1669 | lexerList, |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1670 | lexerSel, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1671 | False, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1672 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1673 | if ok and lexerName: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1674 | return lexerName |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1675 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1676 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1677 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1678 | def __languageMenuTriggered(self, act): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1679 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1680 | Private method to handle the selection of a lexer language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1681 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1682 | @param act reference to the action that was triggered |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1683 | @type QAction |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1684 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1685 | if act == self.noLanguageAct: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1686 | self.__resetLanguage() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1687 | elif act == self.pygmentsAct: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1688 | self.setLanguage("dummy.pygments") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1689 | elif act == self.pygmentsSelAct: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1690 | language = self.__selectPygmentsLexer() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1691 | if language: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1692 | self.setLanguage("dummy.pygments", pyname=language) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1693 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1694 | language = act.data() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1695 | if language: |
2219
031fae60d778
Fixed an issue in the editor causing switching the language between Python2 and Python3 to only work every second time.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2217
diff
changeset
|
1696 | self.filetype = language |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1697 | self.setLanguage(self.supportedLanguages[language][1]) |
3579
eccd12461319
BackgroundService: Restart of the client in different situations handled.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3576
diff
changeset
|
1698 | self.checkSyntax() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1699 | |
10665
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
1700 | self.resetDocstringGenerator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1701 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1702 | def __languageChanged(self, language, propagate=True): |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1703 | """ |
10279 | 1704 | Private method handling a change of a connected editor's language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1705 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1706 | @param language language to be set |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1707 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1708 | @param propagate flag indicating to propagate the change |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1709 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1710 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1711 | if language == "": |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1712 | self.__resetLanguage(propagate=propagate) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1713 | elif language == "Guessed": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1714 | self.setLanguage("dummy.pygments", propagate=propagate) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1715 | elif language.startswith("Pygments|"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1716 | pyname = language.split("|", 1)[1] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1717 | self.setLanguage("dummy.pygments", pyname=pyname, propagate=propagate) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1718 | else: |
2219
031fae60d778
Fixed an issue in the editor causing switching the language between Python2 and Python3 to only work every second time.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2217
diff
changeset
|
1719 | self.filetype = language |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1720 | self.setLanguage(self.supportedLanguages[language][1], propagate=propagate) |
3579
eccd12461319
BackgroundService: Restart of the client in different situations handled.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3576
diff
changeset
|
1721 | self.checkSyntax() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1722 | |
10665
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
1723 | self.resetDocstringGenerator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1724 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1725 | def __resetLanguage(self, propagate=True): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1726 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1727 | Private method used to reset the language selection. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1728 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1729 | @param propagate flag indicating to propagate the change |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1730 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1731 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1732 | if self.lexer_ is not None and ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1733 | self.lexer_.lexer() == "container" or self.lexer_.lexer() is None |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1734 | ): |
8507
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
1735 | with contextlib.suppress(TypeError): |
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
1736 | self.SCN_STYLENEEDED.disconnect(self.__styleNeeded) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1737 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1738 | self.apiLanguage = "" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1739 | self.lexer_ = None |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1740 | self.__lexerReset = True |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1741 | self.setLexer() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1742 | if self.completer is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1743 | self.completer.setEnabled(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1744 | self.completer = None |
3059
16c93928cfc5
A little fix to the editor context menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3039
diff
changeset
|
1745 | useMonospaced = self.useMonospaced |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1746 | self.__setTextDisplay() |
7490
ebd9ae25bb1c
Editor: fixed a style issue when selecting no specific lexer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7393
diff
changeset
|
1747 | self.__setMarginsDisplay() |
3059
16c93928cfc5
A little fix to the editor context menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3039
diff
changeset
|
1748 | self.setMonospaced(useMonospaced) |
8507
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
1749 | with contextlib.suppress(AttributeError): |
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
1750 | self.menuActs["MonospacedFont"].setChecked(self.useMonospaced) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1751 | |
10665
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
1752 | self.resetDocstringGenerator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1753 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1754 | if not self.inLanguageChanged and propagate: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1755 | self.inLanguageChanged = True |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1756 | self.languageChanged.emit(self.apiLanguage) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1757 | self.inLanguageChanged = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1758 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1759 | def setLanguage(self, filename, initTextDisplay=True, propagate=True, pyname=""): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1760 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1761 | Public method to set a lexer language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1762 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1763 | @param filename filename used to determine the associated lexer |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1764 | language |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1765 | @type str |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1766 | @param initTextDisplay flag indicating an initialization of the text |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1767 | display is required as well |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1768 | @type bool |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1769 | @param propagate flag indicating to propagate the change |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1770 | @type bool |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1771 | @param pyname name of the pygments lexer to use |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1772 | @type str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1773 | """ |
5969
584c21b6587a
Continued to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5967
diff
changeset
|
1774 | # clear all warning and syntax error markers |
584c21b6587a
Continued to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5967
diff
changeset
|
1775 | self.clearSyntaxError() |
584c21b6587a
Continued to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5967
diff
changeset
|
1776 | self.clearWarnings() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1777 | |
3059
16c93928cfc5
A little fix to the editor context menu handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3039
diff
changeset
|
1778 | self.menuActs["MonospacedFont"].setChecked(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1779 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1780 | self.__lexerReset = False |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1781 | self.__bindLexer(filename, pyname=pyname) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1782 | self.__bindCompleter(filename) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1783 | self.recolor() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1784 | self.__checkLanguage() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1785 | |
8004
38d359e2ded7
Editor: fixed the integration of docstring generator for newly created files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8002
diff
changeset
|
1786 | self.__docstringGenerator = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1787 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1788 | # set the text display |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1789 | if initTextDisplay: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1790 | self.__setTextDisplay() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1791 | |
5969
584c21b6587a
Continued to add support for Google protobuf protocol files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5967
diff
changeset
|
1792 | # set the auto-completion and call-tips function |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1793 | self.__setAutoCompletion() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1794 | self.__setCallTips() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1795 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1796 | if not self.inLanguageChanged and propagate: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1797 | self.inLanguageChanged = True |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1798 | self.languageChanged.emit(self.apiLanguage) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1799 | self.inLanguageChanged = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1800 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1801 | def __checkLanguage(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1802 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1803 | Private method to check the selected language of the language submenu. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1804 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1805 | if self.apiLanguage == "": |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1806 | self.noLanguageAct.setChecked(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1807 | elif self.apiLanguage == "Guessed": |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1808 | self.pygmentsAct.setChecked(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1809 | elif self.apiLanguage.startswith("Pygments|"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1810 | act = self.languagesActGrp.checkedAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1811 | if act: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1812 | act.setChecked(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1813 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1814 | self.supportedLanguages[self.apiLanguage][2].setChecked(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1815 | |
10279 | 1816 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1817 | def projectLexerAssociationsChanged(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1818 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1819 | Public slot to handle changes of the project lexer associations. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1820 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1821 | self.setLanguage(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1822 | |
10279 | 1823 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1824 | def __showContextMenuEncodings(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1825 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1826 | Private slot handling the aboutToShow signal of the encodings context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
1827 | menu. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1828 | """ |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
1829 | self.showMenu.emit("Encodings", self.encodingsMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1830 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1831 | def __encodingsMenuTriggered(self, act): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1832 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1833 | Private method to handle the selection of an encoding. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1834 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1835 | @param act reference to the action that was triggered |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1836 | @type QAction |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1837 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1838 | encoding = act.data() |
3393
080ace4829b4
Extended QsciScintillaCompat to allow to set the modified status and made the selection of an encoding in the editor change the modified state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3341
diff
changeset
|
1839 | self.setModified(True) |
429
dcc623c99907
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
404
diff
changeset
|
1840 | self.__encodingChanged("{0}-selected".format(encoding)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1841 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1842 | def __checkEncoding(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1843 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1844 | Private method to check the selected encoding of the encodings submenu. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1845 | """ |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
1846 | with contextlib.suppress(AttributeError, KeyError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1847 | (self.supportedEncodings[self.__normalizedEncoding()].setChecked(True)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1848 | |
10279 | 1849 | @pyqtSlot(str) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1850 | def __encodingChanged(self, encoding, propagate=True): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1851 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1852 | Private slot to handle a change of the encoding. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1853 | |
10279 | 1854 | @param encoding changed encoding |
1855 | @type str | |
1856 | @param propagate flag indicating to propagate the change | |
1857 | @type bool | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1858 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1859 | self.encoding = encoding |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1860 | self.__checkEncoding() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1861 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1862 | if not self.inEncodingChanged and propagate: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1863 | self.inEncodingChanged = True |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1864 | self.encodingChanged.emit(self.encoding) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1865 | self.inEncodingChanged = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1866 | |
3393
080ace4829b4
Extended QsciScintillaCompat to allow to set the modified status and made the selection of an encoding in the editor change the modified state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3341
diff
changeset
|
1867 | def __normalizedEncoding(self, encoding=""): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1868 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1869 | Private method to calculate the normalized encoding string. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1870 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1871 | @param encoding encoding to be normalized |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1872 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1873 | @return normalized encoding |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1874 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1875 | """ |
3393
080ace4829b4
Extended QsciScintillaCompat to allow to set the modified status and made the selection of an encoding in the editor change the modified state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3341
diff
changeset
|
1876 | if not encoding: |
080ace4829b4
Extended QsciScintillaCompat to allow to set the modified status and made the selection of an encoding in the editor change the modified state.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3341
diff
changeset
|
1877 | encoding = self.encoding |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1878 | return ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1879 | encoding.replace("-default", "") |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1880 | .replace("-guessed", "") |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1881 | .replace("-selected", "") |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
1882 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1883 | |
10279 | 1884 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1885 | def __showContextMenuEol(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1886 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1887 | Private slot handling the aboutToShow signal of the eol context menu. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1888 | """ |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
1889 | self.showMenu.emit("Eol", self.eolMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1890 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1891 | def __eolMenuTriggered(self, act): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1892 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1893 | Private method to handle the selection of an eol type. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1894 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1895 | @param act reference to the action that was triggered |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
1896 | @type QAction |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1897 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1898 | eol = act.data() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1899 | self.setEolModeByEolString(eol) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1900 | self.convertEols(self.eolMode()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1901 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1902 | def __checkEol(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1903 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1904 | Private method to check the selected eol type of the eol submenu. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1905 | """ |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
1906 | with contextlib.suppress(AttributeError, TypeError): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1907 | self.supportedEols[self.getLineSeparator()].setChecked(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1908 | |
10279 | 1909 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1910 | def __eolChanged(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1911 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1912 | Private slot to handle a change of the eol mode. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1913 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1914 | self.__checkEol() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1915 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1916 | if not self.inEolChanged: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1917 | self.inEolChanged = True |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1918 | eol = self.getLineSeparator() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1919 | self.eolChanged.emit(eol) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1920 | self.inEolChanged = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1921 | |
10449
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1922 | def convertEols(self, eolMode): |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1923 | """ |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1924 | Public method to convert the end-of-line marker. |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1925 | |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1926 | This variant of the method emits a signal to update the IDE after |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1927 | the original method was called. |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1928 | |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1929 | @param eolMode end-of-line mode |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1930 | @type QsciScintilla.EolMode |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1931 | """ |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1932 | super().convertEols(eolMode) |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1933 | self.__eolChanged() |
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1934 | |
10279 | 1935 | @pyqtSlot() |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1936 | def __showContextMenuSpellCheck(self): |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1937 | """ |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1938 | Private slot handling the aboutToShow signal of the spell check |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1939 | context menu. |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1940 | """ |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1941 | spellingAvailable = SpellChecker.isAvailable() |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1942 | self.menuActs["SpellCheck"].setEnabled(spellingAvailable) |
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1943 | self.menuActs["SpellCheckSelection"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1944 | spellingAvailable and self.hasSelectedText() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1945 | ) |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1946 | self.menuActs["SpellCheckRemove"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1947 | spellingAvailable and self.spellingMenuPos >= 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1948 | ) |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1949 | self.menuActs["SpellCheckLanguages"].setEnabled(spellingAvailable) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1950 | |
8519
fd4722a8f782
Shortened the long editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8517
diff
changeset
|
1951 | self.showMenu.emit("SpellCheck", self.spellCheckMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1952 | |
10279 | 1953 | @pyqtSlot() |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1954 | def __showContextMenuSpellLanguages(self): |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1955 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1956 | Private slot handling the aboutToShow signal of the spell check |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1957 | languages context menu. |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1958 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1959 | self.showMenu.emit("SpellLanguage", self.spellLanguagesMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1960 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1961 | def __spellLanguagesMenuTriggered(self, act): |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1962 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1963 | Private method to handle the selection of a spell check language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1964 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1965 | @param act reference to the action that was triggered |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1966 | @type QAction |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1967 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1968 | language = act.data() |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1969 | self.__setSpellingLanguage(language) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1970 | self.spellLanguageChanged.emit(language) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1971 | |
10279 | 1972 | @pyqtSlot() |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1973 | def __checkSpellLanguage(self): |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1974 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1975 | Private slot to check the selected spell check language action. |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1976 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1977 | language = self.getSpellingLanguage() |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
1978 | with contextlib.suppress(AttributeError, KeyError): |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1979 | self.supportedSpellLanguages[language].setChecked(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1980 | |
10279 | 1981 | @pyqtSlot(str) |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1982 | def __spellLanguageChanged(self, language, propagate=True): |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1983 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1984 | Private slot to handle a change of the spell check language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1985 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1986 | @param language new spell check language |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1987 | @type str |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1988 | @param propagate flag indicating to propagate the change |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1989 | @type bool |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1990 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1991 | self.__setSpellingLanguage(language) |
7339
5e4d36f56085
Editor.py: added a fix for an issue reported and submitted by Hans-Peter Jansen.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7335
diff
changeset
|
1992 | self.__checkSpellLanguage() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1993 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1994 | if not self.__inSpellLanguageChanged and propagate: |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1995 | self.__inSpellLanguageChanged = True |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1996 | self.spellLanguageChanged.emit(language) |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
1997 | self.__inSpellLanguageChanged = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
1998 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
1999 | def __bindLexer(self, filename, pyname=""): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2000 | """ |
10279 | 2001 | Private method to set the correct lexer depending on language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2002 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2003 | @param filename filename used to determine the associated lexer |
10279 | 2004 | language |
2005 | @type str | |
2006 | @param pyname name of the pygments lexer to use | |
2007 | @type str | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2008 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2009 | if self.lexer_ is not None and ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2010 | self.lexer_.lexer() == "container" or self.lexer_.lexer() is None |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
2011 | ): |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
2012 | self.SCN_STYLENEEDED.disconnect(self.__styleNeeded) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2013 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2014 | language = "" |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2015 | if not self.filetype: |
4227
8a39c8b968f4
Fixed an issue with the API auto-prepare function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4201
diff
changeset
|
2016 | if filename: |
8a39c8b968f4
Fixed an issue with the API auto-prepare function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4201
diff
changeset
|
2017 | basename = os.path.basename(filename) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2018 | if self.project.isOpen() and self.project.isProjectFile(filename): |
4227
8a39c8b968f4
Fixed an issue with the API auto-prepare function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4201
diff
changeset
|
2019 | language = self.project.getEditorLexerAssoc(basename) |
8a39c8b968f4
Fixed an issue with the API auto-prepare function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4201
diff
changeset
|
2020 | if not language: |
8a39c8b968f4
Fixed an issue with the API auto-prepare function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4201
diff
changeset
|
2021 | language = Preferences.getEditorLexerAssoc(basename) |
8507
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
2022 | if language == "Text": |
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
2023 | # no highlighting for plain text files |
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
2024 | self.__resetLanguage() |
2a22d0880d21
Added the capability to suppress syntax highlighting by associating the file type 'Text'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8506
diff
changeset
|
2025 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2026 | |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2027 | if not language: |
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2028 | bindName = self.__bindName(self.text(0)) |
4170
8bc578136279
Fixed an issue in the editor causing a traceback when setting a language for an empty editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4153
diff
changeset
|
2029 | if bindName: |
8bc578136279
Fixed an issue in the editor causing a traceback when setting a language for an empty editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4153
diff
changeset
|
2030 | language = Preferences.getEditorLexerAssoc(bindName) |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2031 | if language == "Python": |
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2032 | # correction for Python |
10836
dc7f25f2f7e4
Refactored some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
2033 | language = "Python3" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2034 | if language in [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2035 | "Python3", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2036 | "MicroPython", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2037 | "Cython", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2038 | "Ruby", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2039 | "JavaScript", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2040 | "YAML", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2041 | "JSON", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2042 | ]: |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2043 | self.filetype = language |
802
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
795
diff
changeset
|
2044 | else: |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2045 | self.filetype = "" |
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2046 | else: |
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2047 | language = self.filetype |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2048 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2049 | if language.startswith("Pygments|"): |
7525
6d1f954947bc
LexerPygments: fixed an issue loading styles and added some Pygments token types.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7506
diff
changeset
|
2050 | pyname = language |
7749
285855999b4e
Configuration Dialog: optimized the display of the various configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7746
diff
changeset
|
2051 | self.filetype = language.split("|")[-1] |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2052 | language = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2053 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2054 | self.lexer_ = Lexers.getLexer(language, self, pyname=pyname) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2055 | if self.lexer_ is None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2056 | self.setLexer() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2057 | self.apiLanguage = "" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2058 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2059 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2060 | if pyname: |
7730
20b05e846148
Editor, MiniEditor: fixed an issue dealing with Pygments lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7690
diff
changeset
|
2061 | if pyname.startswith("Pygments|"): |
20b05e846148
Editor, MiniEditor: fixed an issue dealing with Pygments lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7690
diff
changeset
|
2062 | self.apiLanguage = pyname |
20b05e846148
Editor, MiniEditor: fixed an issue dealing with Pygments lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7690
diff
changeset
|
2063 | else: |
20b05e846148
Editor, MiniEditor: fixed an issue dealing with Pygments lexers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7690
diff
changeset
|
2064 | self.apiLanguage = "Pygments|{0}".format(pyname) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2065 | else: |
9612
93b496cc3c88
Class Browsers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2066 | # Change API language for lexer where QScintilla reports |
93b496cc3c88
Class Browsers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2067 | # an abbreviated name. |
93b496cc3c88
Class Browsers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2068 | self.apiLanguage = self.lexer_.language() |
93b496cc3c88
Class Browsers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2069 | if self.apiLanguage == "POV": |
93b496cc3c88
Class Browsers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2070 | self.apiLanguage = "Povray" |
93b496cc3c88
Class Browsers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2071 | elif self.apiLanguage == "PO": |
93b496cc3c88
Class Browsers
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2072 | self.apiLanguage = "Gettext" |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2073 | self.setLexer(self.lexer_) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2074 | self.__setMarginsDisplay() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2075 | if self.lexer_.lexer() == "container" or self.lexer_.lexer() is None: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
2076 | self.SCN_STYLENEEDED.connect(self.__styleNeeded) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2077 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2078 | # get the font for style 0 and set it as the default font |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
2079 | key = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2080 | "Scintilla/Guessed/style0/font" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2081 | if pyname and pyname.startswith("Pygments|") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2082 | else "Scintilla/{0}/style0/font".format(self.lexer_.language()) |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
2083 | ) |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8607
diff
changeset
|
2084 | fdesc = Preferences.getSettings().value(key) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2085 | if fdesc is not None: |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
2086 | font = QFont([fdesc[0]], int(fdesc[1])) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2087 | self.lexer_.setDefaultFont(font) |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8607
diff
changeset
|
2088 | self.lexer_.readSettings(Preferences.getSettings(), "Scintilla") |
6858
9d962e654978
Corrected the SubstyledLexer.hasSubStyle() method to SubstyledLexer.hasSubstyle() to be consistent.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
2089 | if self.lexer_.hasSubstyles(): |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6843
diff
changeset
|
2090 | self.lexer_.readSubstyles(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2091 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2092 | # now set the lexer properties |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2093 | self.lexer_.initProperties() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2094 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2095 | # initialize the lexer APIs settings |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
2096 | projectType = ( |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
2097 | self.project.getProjectType() |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
2098 | if self.project.isOpen() and self.project.isProjectFile(filename) |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
2099 | else "" |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
2100 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2101 | api = self.vm.getAPIsManager().getAPIs( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2102 | self.apiLanguage, projectType=projectType |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2103 | ) |
4133
3d868439dddc
Improved the handling of the various auto-completion actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4074
diff
changeset
|
2104 | if api is not None and not api.isEmpty(): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2105 | self.lexer_.setAPIs(api.getQsciAPIs()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2106 | self.acAPI = True |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2107 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2108 | self.acAPI = False |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
2109 | self.autoCompletionAPIsAvailable.emit(self.acAPI) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2110 | |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
2111 | self.__setAnnotationStyles() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2112 | |
1566
0cb791cc631a
Fixed the issue where a non matching background was shown in the editor for lines below the end of the text, if a lexer with a non-standard background was set.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1518
diff
changeset
|
2113 | self.lexer_.setDefaultColor(self.lexer_.color(0)) |
0cb791cc631a
Fixed the issue where a non matching background was shown in the editor for lines below the end of the text, if a lexer with a non-standard background was set.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1518
diff
changeset
|
2114 | self.lexer_.setDefaultPaper(self.lexer_.paper(0)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2115 | |
10279 | 2116 | @pyqtSlot(int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2117 | def __styleNeeded(self, position): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2118 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2119 | Private slot to handle the need for more styling. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2120 | |
10279 | 2121 | @param position end position, that needs styling |
2122 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2123 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2124 | self.lexer_.styleText(self.getEndStyled(), position) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2125 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2126 | def getLexer(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2127 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2128 | Public method to retrieve a reference to the lexer object. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2129 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2130 | @return the lexer object |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2131 | @rtype Lexer |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2132 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2133 | return self.lexer_ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2134 | |
1295
b3db3070d104
Fixed an issue in the editor setting the correct language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1196
diff
changeset
|
2135 | def getLanguage(self, normalized=True, forPygments=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2136 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2137 | Public method to retrieve the language of the editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2138 | |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
2139 | @param normalized flag indicating to normalize some Pygments |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2140 | lexer names |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2141 | @type bool |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
2142 | @param forPygments flag indicating to normalize some lexer |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2143 | names for Pygments |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2144 | @type bool |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2145 | @return language of the editor |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2146 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2147 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2148 | if self.apiLanguage == "Guessed" or self.apiLanguage.startswith("Pygments|"): |
812
240adf04a50e
Fixed an issue where selecting a Pygments Python lexer disabled auto completion.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
811
diff
changeset
|
2149 | lang = self.lexer_.name() |
10180
3a595df36c9a
Simplified some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10142
diff
changeset
|
2150 | if normalized and lang in ("Python 2.x", "Python"): |
812
240adf04a50e
Fixed an issue where selecting a Pygments Python lexer disabled auto completion.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
811
diff
changeset
|
2151 | # adjust some Pygments lexer names |
10180
3a595df36c9a
Simplified some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10142
diff
changeset
|
2152 | lang = "Python3" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2153 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2154 | else: |
1295
b3db3070d104
Fixed an issue in the editor setting the correct language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1196
diff
changeset
|
2155 | lang = self.apiLanguage |
10180
3a595df36c9a
Simplified some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10142
diff
changeset
|
2156 | if forPygments and lang == "Python3": |
1295
b3db3070d104
Fixed an issue in the editor setting the correct language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1196
diff
changeset
|
2157 | # adjust some names to Pygments lexer names |
10180
3a595df36c9a
Simplified some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10142
diff
changeset
|
2158 | lang = "Python" |
1295
b3db3070d104
Fixed an issue in the editor setting the correct language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1196
diff
changeset
|
2159 | return lang |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2160 | |
5358
2584d0a08bf4
Finished the project specific API code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5349
diff
changeset
|
2161 | def getApiLanguage(self): |
2584d0a08bf4
Finished the project specific API code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5349
diff
changeset
|
2162 | """ |
2584d0a08bf4
Finished the project specific API code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5349
diff
changeset
|
2163 | Public method to get the API language of the editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2164 | |
5358
2584d0a08bf4
Finished the project specific API code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5349
diff
changeset
|
2165 | @return API language |
2584d0a08bf4
Finished the project specific API code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5349
diff
changeset
|
2166 | @rtype str |
2584d0a08bf4
Finished the project specific API code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5349
diff
changeset
|
2167 | """ |
2584d0a08bf4
Finished the project specific API code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5349
diff
changeset
|
2168 | return self.apiLanguage |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2169 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2170 | def __bindCompleter(self, filename): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2171 | """ |
10279 | 2172 | Private method to set the correct typing completer depending on language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2173 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2174 | @param filename filename used to determine the associated typing |
10279 | 2175 | completer language |
2176 | @type str | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2177 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2178 | if self.completer is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2179 | self.completer.setEnabled(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2180 | self.completer = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2181 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2182 | filename = os.path.basename(filename) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2183 | apiLanguage = Preferences.getEditorLexerAssoc(filename) |
811
2ed99614dbf4
Fixed an issue with the editor not activating the correct typing completer in some situations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
802
diff
changeset
|
2184 | if apiLanguage == "": |
10836
dc7f25f2f7e4
Refactored some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
2185 | if PythonUtilities.isPythonSource(self.fileName, self.text(0), self): |
dc7f25f2f7e4
Refactored some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
2186 | apiLanguage = "Python3" |
811
2ed99614dbf4
Fixed an issue with the editor not activating the correct typing completer in some situations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
802
diff
changeset
|
2187 | elif self.isRubyFile(): |
2ed99614dbf4
Fixed an issue with the editor not activating the correct typing completer in some situations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
802
diff
changeset
|
2188 | apiLanguage = "Ruby" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2189 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2190 | self.completer = TypingCompleters.getCompleter(apiLanguage, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2191 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2192 | def getCompleter(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2193 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2194 | Public method to retrieve a reference to the completer object. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2195 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2196 | @return the completer object |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2197 | @rtype CompleterBase |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2198 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2199 | return self.completer |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2200 | |
10279 | 2201 | @pyqtSlot(bool) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2202 | def __modificationChanged(self, m): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2203 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2204 | Private slot to handle the modificationChanged signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2205 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2206 | It emits the signal modificationStatusChanged with parameters |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2207 | m and self. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2208 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2209 | @param m modification status |
10279 | 2210 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2211 | """ |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
2212 | if not m: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
2213 | self.recordModificationTime() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
2214 | self.modificationStatusChanged.emit(m, self) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
2215 | self.undoAvailable.emit(self.isUndoAvailable()) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
2216 | self.redoAvailable.emit(self.isRedoAvailable()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2217 | |
10307 | 2218 | if not m: |
2219 | self.__autosaveTimer.stop() | |
2220 | ||
10279 | 2221 | @pyqtSlot(int, int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2222 | def __cursorPositionChanged(self, line, index): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2223 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2224 | Private slot to handle the cursorPositionChanged signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2225 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2226 | It emits the signal cursorChanged with parameters fileName, |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2227 | line and pos. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2228 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2229 | @param line line number of the cursor |
10279 | 2230 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2231 | @param index position in line of the cursor |
10279 | 2232 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2233 | """ |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
478
diff
changeset
|
2234 | self.cursorChanged.emit(self.fileName, line + 1, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2235 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2236 | if Preferences.getEditor("MarkOccurrencesEnabled"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2237 | self.__markOccurrencesTimer.start() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2238 | |
2768
eab35f6e709f
Added support to show the current class/method name in the combo boxes at the top of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2659
diff
changeset
|
2239 | if self.lastLine != line: |
eab35f6e709f
Added support to show the current class/method name in the combo boxes at the top of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2659
diff
changeset
|
2240 | self.cursorLineChanged.emit(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2241 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2242 | if self.spell is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2243 | # do spell checking |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2244 | doSpelling = True |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2245 | if self.lastLine == line: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2246 | start, end = self.getWordBoundaries(line, index, useWordChars=False) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2247 | if start <= self.lastIndex and self.lastIndex <= end: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2248 | doSpelling = False |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2249 | if doSpelling: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2250 | pos = self.positionFromLineIndex(self.lastLine, self.lastIndex) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2251 | self.spell.checkWord(pos) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2252 | |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
2253 | if self.lastLine != line: |
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
2254 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2255 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2256 | self.lastLine = line |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2257 | self.lastIndex = index |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2258 | |
10279 | 2259 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2260 | def __modificationReadOnly(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2261 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2262 | Private slot to handle the modificationAttempted signal. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2263 | """ |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
2264 | EricMessageBox.warning( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
2265 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
2266 | self.tr("Modification of Read Only file"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2267 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2268 | """You are attempting to change a read only file. """ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2269 | """Please save to a different file first.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2270 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2271 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2272 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2273 | def setNoName(self, noName): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2274 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2275 | Public method to set the display string for an unnamed editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2276 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2277 | @param noName display string for this unnamed editor |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2278 | @type str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2279 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2280 | self.noName = noName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2281 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2282 | def getNoName(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2283 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2284 | Public method to get the display string for an unnamed editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2285 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2286 | @return display string for this unnamed editor |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2287 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2288 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2289 | return self.noName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2290 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2291 | def getFileName(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2292 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2293 | Public method to return the name of the file being displayed. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2294 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2295 | @return filename of the displayed file |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2296 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2297 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2298 | return self.fileName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2299 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2300 | def getFileType(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2301 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2302 | Public method to return the type of the file being displayed. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2303 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2304 | @return type of the displayed file |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2305 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2306 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2307 | return self.filetype |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2308 | |
795
917f1945355c
Added a syntax checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2309 | def getFileTypeByFlag(self): |
917f1945355c
Added a syntax checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2310 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2311 | Public method to return the type of the file, if it was set by an |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2312 | eflag: marker. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2313 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2314 | @return type of the displayed file, if set by an eflag: marker or an |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2315 | empty string |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2316 | @rtype str |
795
917f1945355c
Added a syntax checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2317 | """ |
917f1945355c
Added a syntax checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2318 | if self.filetypeByFlag: |
917f1945355c
Added a syntax checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2319 | return self.filetype |
917f1945355c
Added a syntax checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2320 | else: |
917f1945355c
Added a syntax checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2321 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2322 | |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2323 | def determineFileType(self): |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2324 | """ |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2325 | Public method to determine the file type using various tests. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2326 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2327 | @return type of the displayed file or an empty string |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2328 | @rtype str |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2329 | """ |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2330 | ftype = self.filetype |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2331 | if not ftype: |
10836
dc7f25f2f7e4
Refactored some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
2332 | if PythonUtilities.isPythonSource(self.fileName, self.text(0), self): |
dc7f25f2f7e4
Refactored some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
2333 | ftype = "Python3" |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2334 | elif self.isRubyFile(): |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2335 | ftype = "Ruby" |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2336 | else: |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2337 | ftype = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2338 | |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2339 | return ftype |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2340 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2341 | def getEncoding(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2342 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2343 | Public method to return the current encoding. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2344 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2345 | @return current encoding |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2346 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2347 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2348 | return self.encoding |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2349 | |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2350 | def isPyFile(self): |
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2351 | """ |
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
2352 | Public method to return a flag indicating a Python (2 or 3) file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2353 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2354 | @return flag indicating a Python3 file |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2355 | @rtype bool |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
2356 | """ |
10836
dc7f25f2f7e4
Refactored some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
2357 | return PythonUtilities.isPythonSource(self.fileName, self.text(0), self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2358 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2359 | def isPy3File(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2360 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2361 | Public method to return a flag indicating a Python3 file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2362 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2363 | @return flag indicating a Python3 file |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2364 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2365 | """ |
10836
dc7f25f2f7e4
Refactored some code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10806
diff
changeset
|
2366 | return PythonUtilities.isPythonSource(self.fileName, self.text(0), self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2367 | |
7164
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2368 | def isMicroPythonFile(self): |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2369 | """ |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2370 | Public method to return a flag indicating a MicroPython file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2371 | |
7164
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2372 | @return flag indicating a MicroPython file |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2373 | @rtype bool |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2374 | """ |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2375 | if self.filetype == "MicroPython": |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2376 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2377 | |
7164
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
2378 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2379 | |
8131 | 2380 | def isCythonFile(self): |
2381 | """ | |
2382 | Public method to return a flag indicating a Cython file. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2383 | |
8131 | 2384 | @return flag indicating a Cython file |
2385 | @rtype bool | |
2386 | """ | |
2387 | if self.filetype == "Cython": | |
2388 | return True | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2389 | |
8131 | 2390 | return False |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2391 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2392 | def isRubyFile(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2393 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2394 | Public method to return a flag indicating a Ruby file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2395 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2396 | @return flag indicating a Ruby file |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2397 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2398 | """ |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2399 | if self.filetype == "Ruby": |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2400 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2401 | |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2402 | if self.filetype == "": |
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2403 | line0 = self.text(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2404 | if line0.startswith("#!") and "ruby" in line0: |
1758
e18f96b1714b
A few optimizations and a fix for a bug, that caused incorrect display of breakpoints in the editor margin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1754
diff
changeset
|
2405 | self.filetype = "Ruby" |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2406 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2407 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2408 | if bool(self.fileName) and os.path.splitext(self.fileName)[ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2409 | 1 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2410 | ] in self.dbs.getExtensions("Ruby"): |
1758
e18f96b1714b
A few optimizations and a fix for a bug, that caused incorrect display of breakpoints in the editor margin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1754
diff
changeset
|
2411 | self.filetype = "Ruby" |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2412 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2413 | |
991
5ec5e707dfa5
Changed algorithm to determine the debugger backend type to be used by analysing a first line starting with '#!'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
989
diff
changeset
|
2414 | return False |
3438
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2415 | |
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2416 | def isJavascriptFile(self): |
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2417 | """ |
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2418 | Public method to return a flag indicating a Javascript file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2419 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2420 | @return flag indicating a Javascript file |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2421 | @rtype bool |
3438
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2422 | """ |
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2423 | if self.filetype == "JavaScript": |
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2424 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2425 | |
8222
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
2426 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2427 | self.filetype == "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2428 | and self.fileName |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2429 | and os.path.splitext(self.fileName)[1] == ".js" |
8222
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
2430 | ): |
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
2431 | self.filetype = "JavaScript" |
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
2432 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2433 | |
3438
29717a5e8b97
Started improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3395
diff
changeset
|
2434 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2435 | |
9925
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2436 | def isProjectFile(self): |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2437 | """ |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2438 | Public method to check, if the file of the editor belongs to the current |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2439 | project. |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2440 | |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2441 | @return flag indicating a project file |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2442 | @rtype bool |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2443 | """ |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2444 | return ( |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2445 | bool(self.fileName) |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2446 | and self.project.isOpen() |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2447 | and self.project.isProjectFile(self.fileName) |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2448 | ) |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
2449 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2450 | def highlightVisible(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2451 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2452 | Public method to make sure that the highlight is visible. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2453 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2454 | if self.lastHighlight is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2455 | lineno = self.markerLine(self.lastHighlight) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2456 | self.ensureVisible(lineno + 1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2457 | |
10692
9becf9ca115c
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
2458 | def highlight(self, line=None, error=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2459 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
2460 | Public method to highlight [or de-highlight] a particular line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2461 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2462 | @param line line number to highlight |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2463 | @type int |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
2464 | @param error flag indicating whether the error highlight should be |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2465 | used |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2466 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2467 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2468 | if line is None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2469 | self.lastHighlight = None |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2470 | if self.lastErrorMarker is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2471 | self.markerDeleteHandle(self.lastErrorMarker) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2472 | self.lastErrorMarker = None |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2473 | if self.lastCurrMarker is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2474 | self.markerDeleteHandle(self.lastCurrMarker) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2475 | self.lastCurrMarker = None |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2476 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2477 | if error: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2478 | if self.lastErrorMarker is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2479 | self.markerDeleteHandle(self.lastErrorMarker) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2480 | self.lastErrorMarker = self.markerAdd(line - 1, self.errorline) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2481 | self.lastHighlight = self.lastErrorMarker |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2482 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2483 | if self.lastCurrMarker is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2484 | self.markerDeleteHandle(self.lastCurrMarker) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2485 | self.lastCurrMarker = self.markerAdd(line - 1, self.currentline) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2486 | self.lastHighlight = self.lastCurrMarker |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2487 | self.setCursorPosition(line - 1, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2488 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2489 | def getHighlightPosition(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2490 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2491 | Public method to return the position of the highlight bar. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2492 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2493 | @return line number of the highlight bar |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2494 | @rtype int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2495 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2496 | if self.lastHighlight is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2497 | return self.markerLine(self.lastHighlight) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2498 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2499 | return 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2500 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2501 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2502 | ## Breakpoint handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2503 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2504 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2505 | def __modified( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2506 | self, |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2507 | _pos, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2508 | mtype, |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2509 | _text, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2510 | _length, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2511 | linesAdded, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2512 | line, |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2513 | _foldNow, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2514 | _foldPrev, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2515 | _token, |
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2516 | _annotationLinesAdded, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2517 | ): |
1928
adde55ed4ce5
Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1897
diff
changeset
|
2518 | """ |
adde55ed4ce5
Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1897
diff
changeset
|
2519 | Private method to handle changes of the number of lines. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2520 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2521 | @param _pos start position of change (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2522 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2523 | @param mtype flags identifying the change |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2524 | @type int |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2525 | @param _text text that is given to the Undo system (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2526 | @type str |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2527 | @param _length length of the change (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2528 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2529 | @param linesAdded number of added/deleted lines |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2530 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2531 | @param line line number of a fold level or marker change |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2532 | @type int |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2533 | @param _foldNow new fold level (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2534 | @type int |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2535 | @param _foldPrev previous fold level (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2536 | @type int |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2537 | @param _token ??? (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2538 | @type int |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
2539 | @param _annotationLinesAdded number of added/deleted annotation lines (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2540 | @type int |
1928
adde55ed4ce5
Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1897
diff
changeset
|
2541 | """ |
10307 | 2542 | if mtype & (self.SC_MOD_INSERTTEXT | self.SC_MOD_DELETETEXT): |
2543 | # 1. set/reset the autosave timer | |
2544 | if self.__autosaveInterval > 0: | |
2545 | self.__autosaveTimer.start(self.__autosaveInterval * 1000) | |
2546 | ||
2547 | # 2. move breakpoints if a line was inserted or deleted | |
2548 | if linesAdded != 0 and self.breaks: | |
2549 | bps = [] # list of breakpoints | |
2550 | for handle, ( | |
2551 | ln, | |
2552 | cond, | |
2553 | temp, | |
2554 | enabled, | |
2555 | ignorecount, | |
2556 | ) in self.breaks.items(): | |
2557 | line = self.markerLine(handle) + 1 | |
2558 | if ln != line: | |
2559 | bps.append((ln, line)) | |
2560 | self.breaks[handle] = (line, cond, temp, enabled, ignorecount) | |
2561 | self.inLinesChanged = True | |
2562 | for ln, line in sorted(bps, reverse=linesAdded > 0): | |
2563 | index1 = self.breakpointModel.getBreakPointIndex(self.fileName, ln) | |
2564 | index2 = self.breakpointModel.index(index1.row(), 1) | |
2565 | self.breakpointModel.setData(index2, line) | |
2566 | self.inLinesChanged = False | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2567 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2568 | def __restoreBreakpoints(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2569 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2570 | Private method to restore the breakpoints. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2571 | """ |
10279 | 2572 | for handle in self.breaks: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2573 | self.markerDeleteHandle(handle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2574 | self.__addBreakPoints(QModelIndex(), 0, self.breakpointModel.rowCount() - 1) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
2575 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2576 | |
10279 | 2577 | @pyqtSlot(QModelIndex, int, int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2578 | def __deleteBreakPoints(self, parentIndex, start, end): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2579 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2580 | Private slot to delete breakpoints. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2581 | |
10279 | 2582 | @param parentIndex index of parent item |
2583 | @type QModelIndex | |
2584 | @param start start row | |
2585 | @type int | |
2586 | @param end end row | |
2587 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2588 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2589 | for row in range(start, end + 1): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2590 | index = self.breakpointModel.index(row, 0, parentIndex) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2591 | fn, lineno = self.breakpointModel.getBreakPointByIndex(index)[0:2] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2592 | if fn == self.fileName: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2593 | self.clearBreakpoint(lineno) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2594 | |
10279 | 2595 | @pyqtSlot(QModelIndex, QModelIndex) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2596 | def __changeBreakPoints(self, startIndex, endIndex): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2597 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2598 | Private slot to set changed breakpoints. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2599 | |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
2600 | @param startIndex start index of the breakpoints being changed |
10279 | 2601 | @type QModelIndex |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
2602 | @param endIndex end index of the breakpoints being changed |
10279 | 2603 | @type QModelIndex |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2604 | """ |
1928
adde55ed4ce5
Fixed the breakpoint performance issue properly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1897
diff
changeset
|
2605 | if not self.inLinesChanged: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2606 | self.__addBreakPoints(QModelIndex(), startIndex.row(), endIndex.row()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2607 | |
10279 | 2608 | @pyqtSlot(QModelIndex, QModelIndex) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2609 | def __breakPointDataAboutToBeChanged(self, startIndex, endIndex): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2610 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
2611 | Private slot to handle the dataAboutToBeChanged signal of the |
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
2612 | breakpoint model. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2613 | |
10279 | 2614 | @param startIndex start index of the rows to be changed |
2615 | @type QModelIndex | |
2616 | @param endIndex end index of the rows to be changed | |
2617 | @type QModelIndex | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2618 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2619 | self.__deleteBreakPoints(QModelIndex(), startIndex.row(), endIndex.row()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2620 | |
10279 | 2621 | @pyqtSlot(QModelIndex, int, int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2622 | def __addBreakPoints(self, parentIndex, start, end): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2623 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2624 | Private slot to add breakpoints. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2625 | |
10279 | 2626 | @param parentIndex index of parent item |
2627 | @type QModelIndex | |
2628 | @param start start row | |
2629 | @type int | |
2630 | @param end end row | |
2631 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2632 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2633 | for row in range(start, end + 1): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2634 | index = self.breakpointModel.index(row, 0, parentIndex) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2635 | ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2636 | fn, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2637 | line, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2638 | cond, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2639 | temp, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2640 | enabled, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2641 | ignorecount, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2642 | ) = self.breakpointModel.getBreakPointByIndex(index)[:6] |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2643 | if fn == self.fileName: |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2644 | self.newBreakpointWithProperties( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2645 | line, (cond, temp, enabled, ignorecount) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2646 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2647 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2648 | def clearBreakpoint(self, line): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2649 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2650 | Public method to clear a breakpoint. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2651 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2652 | Note: This doesn't clear the breakpoint in the debugger, |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2653 | it just deletes it from the editor internal list of breakpoints. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2654 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2655 | @param line line number of the breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2656 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2657 | """ |
1758
e18f96b1714b
A few optimizations and a fix for a bug, that caused incorrect display of breakpoints in the editor margin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1754
diff
changeset
|
2658 | if self.inLinesChanged: |
e18f96b1714b
A few optimizations and a fix for a bug, that caused incorrect display of breakpoints in the editor margin.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1754
diff
changeset
|
2659 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2660 | |
10517
aecd5a8c958c
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10501
diff
changeset
|
2661 | for handle in list(self.breaks): |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2662 | if self.markerLine(handle) == line - 1: |
10281
b3d6208d2f33
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10279
diff
changeset
|
2663 | del self.breaks[handle] |
b3d6208d2f33
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10279
diff
changeset
|
2664 | self.markerDeleteHandle(handle) |
b3d6208d2f33
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10279
diff
changeset
|
2665 | self.__markerMap.update() |
b3d6208d2f33
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10279
diff
changeset
|
2666 | return |
b3d6208d2f33
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10279
diff
changeset
|
2667 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2668 | def newBreakpointWithProperties(self, line, properties): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2669 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
2670 | Public method to set a new breakpoint and its properties. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2671 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2672 | @param line line number of the breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2673 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2674 | @param properties properties for the breakpoint |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2675 | (condition, temporary flag, enabled flag, ignore count) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2676 | @type tuple of (str, bool, bool, int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2677 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2678 | if not properties[2]: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2679 | marker = self.dbreakpoint |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2680 | elif properties[0]: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2681 | marker = properties[1] and self.tcbreakpoint or self.cbreakpoint |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2682 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2683 | marker = properties[1] and self.tbreakpoint or self.breakpoint |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2684 | |
1930
3ecd42f536fd
Fixed an issue related to breakpoints and cloned editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1928
diff
changeset
|
2685 | if self.markersAtLine(line - 1) & self.breakpointMask == 0: |
3ecd42f536fd
Fixed an issue related to breakpoints and cloned editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1928
diff
changeset
|
2686 | handle = self.markerAdd(line - 1, marker) |
3ecd42f536fd
Fixed an issue related to breakpoints and cloned editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1928
diff
changeset
|
2687 | self.breaks[handle] = (line,) + properties |
3ecd42f536fd
Fixed an issue related to breakpoints and cloned editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1928
diff
changeset
|
2688 | self.breakpointToggled.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
2689 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2690 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2691 | def __toggleBreakpoint(self, line, temporary=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2692 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2693 | Private method to toggle a breakpoint. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2694 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2695 | @param line line number of the breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2696 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2697 | @param temporary flag indicating a temporary breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2698 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2699 | """ |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2700 | for handle in self.breaks: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2701 | if self.markerLine(handle) == line - 1: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2702 | # delete breakpoint or toggle it to the next state |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2703 | index = self.breakpointModel.getBreakPointIndex(self.fileName, line) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2704 | if Preferences.getDebugger( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2705 | "ThreeStateBreakPoints" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2706 | ) and not self.breakpointModel.isBreakPointTemporaryByIndex(index): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2707 | self.breakpointModel.deleteBreakPointByIndex(index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2708 | self.__addBreakPoint(line, True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2709 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2710 | self.breakpointModel.deleteBreakPointByIndex(index) |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
478
diff
changeset
|
2711 | self.breakpointToggled.emit(self) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2712 | break |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2713 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2714 | self.__addBreakPoint(line, temporary) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2715 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2716 | def __addBreakPoint(self, line, temporary): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2717 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2718 | Private method to add a new breakpoint. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2719 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2720 | @param line line number of the breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2721 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2722 | @param temporary flag indicating a temporary breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2723 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2724 | """ |
5158
b85f06f38f21
Removed the breakpoint related stuff for Ruby files in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5051
diff
changeset
|
2725 | if self.fileName and self.isPyFile(): |
8539
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2726 | linestarts = PythonDisViewer.linestarts(self.text()) |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2727 | if line not in linestarts: |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2728 | if Preferences.getDebugger("IntelligentBreakpoints"): |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2729 | # change line to the next one starting an instruction block |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2730 | index = bisect.bisect(linestarts, line) |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2731 | with contextlib.suppress(IndexError): |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2732 | line = linestarts[index] |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2733 | self.__toggleBreakpoint(line, temporary=temporary) |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2734 | else: |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2735 | EricMessageBox.warning( |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2736 | self, |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2737 | self.tr("Add Breakpoint"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2738 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2739 | "No Python byte code will be created for the" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2740 | " selected line. No break point will be set!" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2741 | ), |
8539
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2742 | ) |
24daea9ad41b
Editor: added code to move a breakpoint to a line actually creating some byte code (Python only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8535
diff
changeset
|
2743 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2744 | |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
2745 | self.breakpointModel.addBreakPoint( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2746 | self.fileName, line, ("", temporary, True, 0) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2747 | ) |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
478
diff
changeset
|
2748 | self.breakpointToggled.emit(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2749 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2750 | def __toggleBreakpointEnabled(self, line): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2751 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2752 | Private method to toggle a breakpoints enabled status. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2753 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2754 | @param line line number of the breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2755 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2756 | """ |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2757 | for handle in self.breaks: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2758 | if self.markerLine(handle) == line - 1: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2759 | index = self.breakpointModel.getBreakPointIndex(self.fileName, line) |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2760 | self.breakpointModel.setBreakPointEnabledByIndex( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2761 | index, not self.breaks[handle][3] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2762 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2763 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2764 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2765 | def curLineHasBreakpoint(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2766 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2767 | Public method to check for the presence of a breakpoint at the current |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2768 | line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2769 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2770 | @return flag indicating the presence of a breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2771 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2772 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2773 | line, _ = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2774 | return self.markersAtLine(line) & self.breakpointMask != 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2775 | |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2776 | def getBreakpointLines(self): |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2777 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2778 | Public method to get the lines containing a breakpoint. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2779 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2780 | @return list of lines containing a breakpoint |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2781 | @rtype list of int |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2782 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2783 | lines = [] |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2784 | line = -1 |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2785 | while True: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2786 | line = self.markerFindNext(line + 1, self.breakpointMask) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2787 | if line < 0: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2788 | break |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2789 | else: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2790 | lines.append(line) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2791 | return lines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2792 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2793 | def hasBreakpoints(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2794 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2795 | Public method to check for the presence of breakpoints. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2796 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2797 | @return flag indicating the presence of breakpoints |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2798 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2799 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2800 | return len(self.breaks) > 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2801 | |
10279 | 2802 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2803 | def __menuToggleTemporaryBreakpoint(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2804 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2805 | Private slot to handle the 'Toggle temporary breakpoint' context menu |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2806 | action. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2807 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2808 | if self.line < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2809 | self.line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2810 | self.line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2811 | self.__toggleBreakpoint(self.line, 1) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2812 | self.line = -1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2813 | |
10279 | 2814 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2815 | def menuToggleBreakpoint(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2816 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2817 | Public slot to handle the 'Toggle breakpoint' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2818 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2819 | if self.line < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2820 | self.line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2821 | self.line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2822 | self.__toggleBreakpoint(self.line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2823 | self.line = -1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2824 | |
10279 | 2825 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2826 | def __menuToggleBreakpointEnabled(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2827 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2828 | Private slot to handle the 'Enable/Disable breakpoint' context menu |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2829 | action. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2830 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2831 | if self.line < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2832 | self.line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2833 | self.line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2834 | self.__toggleBreakpointEnabled(self.line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2835 | self.line = -1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2836 | |
10279 | 2837 | @pyqtSlot() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2838 | def menuEditBreakpoint(self, line=None): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2839 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2840 | Public slot to handle the 'Edit breakpoint' context menu action. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2841 | |
10279 | 2842 | @param line line number of the breakpoint to edit |
2843 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2844 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
2845 | from eric7.Debugger.EditBreakpointDialog import EditBreakpointDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
2846 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2847 | if line is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2848 | self.line = line - 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2849 | if self.line < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2850 | self.line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2851 | |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2852 | for handle in self.breaks: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2853 | if self.markerLine(handle) == self.line: |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2854 | ln, cond, temp, enabled, ignorecount = self.breaks[handle] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2855 | index = self.breakpointModel.getBreakPointIndex(self.fileName, ln) |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2856 | if not index.isValid(): |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2857 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2858 | |
8524
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2859 | # get recently used breakpoint conditions |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2860 | rs = Preferences.Prefs.rsettings.value(recentNameBreakpointConditions) |
8524
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2861 | condHistory = ( |
10806
2f6df822e3b9
Moved some functions to the EricUtilities package for consistency and adapted the code base accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10774
diff
changeset
|
2862 | EricUtilities.toList(rs)[: Preferences.getDebugger("RecentNumber")] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2863 | if rs is not None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2864 | else [] |
8524
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2865 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2866 | |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2867 | dlg = EditBreakpointDialog( |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2868 | (self.fileName, ln), |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2869 | (cond, temp, enabled, ignorecount), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2870 | condHistory, |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
2871 | parent=self, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2872 | modal=True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2873 | ) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
2874 | if dlg.exec() == QDialog.DialogCode.Accepted: |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2875 | cond, temp, enabled, ignorecount = dlg.getData() |
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
2876 | self.breakpointModel.setBreakPointByIndex( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2877 | index, self.fileName, ln, (cond, temp, enabled, ignorecount) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2878 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2879 | |
8524
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2880 | if cond: |
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2881 | # save the recently used breakpoint condition |
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2882 | if cond in condHistory: |
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2883 | condHistory.remove(cond) |
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2884 | condHistory.insert(0, cond) |
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2885 | Preferences.Prefs.rsettings.setValue( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2886 | recentNameBreakpointConditions, condHistory |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2887 | ) |
8524
595547ab8d6f
Debugger: added code to remember the list of recently used breakpoint conditions in the editor and the breakpoint viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8522
diff
changeset
|
2888 | Preferences.Prefs.rsettings.sync() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2889 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
2890 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2891 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2892 | self.line = -1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2893 | |
10279 | 2894 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2895 | def menuNextBreakpoint(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2896 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2897 | Public slot to handle the 'Next breakpoint' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2898 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2899 | line, index = self.getCursorPosition() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2900 | if line == self.lines() - 1: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2901 | line = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2902 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2903 | line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2904 | bpline = self.markerFindNext(line, self.breakpointMask) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2905 | if bpline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2906 | # wrap around |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2907 | bpline = self.markerFindNext(0, self.breakpointMask) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2908 | if bpline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2909 | self.setCursorPosition(bpline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2910 | self.ensureLineVisible(bpline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2911 | |
10279 | 2912 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2913 | def menuPreviousBreakpoint(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2914 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2915 | Public slot to handle the 'Previous breakpoint' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2916 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2917 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2918 | if line == 0: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
2919 | line = self.lines() - 1 |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2920 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2921 | line -= 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2922 | bpline = self.markerFindPrevious(line, self.breakpointMask) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2923 | if bpline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2924 | # wrap around |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2925 | bpline = self.markerFindPrevious(self.lines() - 1, self.breakpointMask) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2926 | if bpline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2927 | self.setCursorPosition(bpline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2928 | self.ensureLineVisible(bpline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2929 | |
10279 | 2930 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2931 | def __menuClearBreakpoints(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2932 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2933 | Private slot to handle the 'Clear all breakpoints' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2934 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2935 | self.__clearBreakpoints(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2936 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2937 | def __clearBreakpoints(self, fileName): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2938 | """ |
10279 | 2939 | Private method to clear all breakpoints. |
2940 | ||
2941 | @param fileName name of the file | |
2942 | @type str | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2943 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2944 | idxList = [] |
9786
f94b530722af
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9758
diff
changeset
|
2945 | for ln, _, _, _, _ in self.breaks.values(): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2946 | index = self.breakpointModel.getBreakPointIndex(fileName, ln) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2947 | if index.isValid(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2948 | idxList.append(index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2949 | if idxList: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2950 | self.breakpointModel.deleteBreakPoints(idxList) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2951 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2952 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2953 | ## Bookmark handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
2954 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2955 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2956 | def toggleBookmark(self, line): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2957 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2958 | Public method to toggle a bookmark. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2959 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2960 | @param line line number of the bookmark |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2961 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2962 | """ |
10517
aecd5a8c958c
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10501
diff
changeset
|
2963 | for handle in self.bookmarks[:]: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2964 | if self.markerLine(handle) == line - 1: |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
2965 | self.bookmarks.remove(handle) |
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
2966 | self.markerDeleteHandle(handle) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2967 | break |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2968 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2969 | # set a new bookmark |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2970 | handle = self.markerAdd(line - 1, self.bookmark) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2971 | self.bookmarks.append(handle) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
2972 | self.bookmarkToggled.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
2973 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2974 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2975 | def getBookmarks(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2976 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2977 | Public method to retrieve the bookmarks. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2978 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2979 | @return sorted list of all lines containing a bookmark |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2980 | @rtype list of int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2981 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2982 | bmlist = [] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2983 | for handle in self.bookmarks: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2984 | bmlist.append(self.markerLine(handle) + 1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2985 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2986 | bmlist.sort() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
2987 | return bmlist |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2988 | |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2989 | def getBookmarkLines(self): |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2990 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2991 | Public method to get the lines containing a bookmark. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
2992 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2993 | @return list of lines containing a bookmark |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
2994 | @rtype list of int |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2995 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2996 | lines = [] |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2997 | line = -1 |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2998 | while True: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
2999 | line = self.markerFindNext(line + 1, 1 << self.bookmark) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3000 | if line < 0: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3001 | break |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3002 | else: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3003 | lines.append(line) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3004 | return lines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3005 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3006 | def hasBookmarks(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3007 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3008 | Public method to check for the presence of bookmarks. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3009 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3010 | @return flag indicating the presence of bookmarks |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3011 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3012 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3013 | return len(self.bookmarks) > 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3014 | |
10279 | 3015 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3016 | def menuToggleBookmark(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3017 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3018 | Public slot to handle the 'Toggle bookmark' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3019 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3020 | if self.line < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3021 | self.line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3022 | self.line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3023 | self.toggleBookmark(self.line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3024 | self.line = -1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3025 | |
10279 | 3026 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3027 | def nextBookmark(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3028 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3029 | Public slot to handle the 'Next bookmark' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3030 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3031 | line, index = self.getCursorPosition() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
3032 | if line == self.lines() - 1: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3033 | line = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3034 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3035 | line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3036 | bmline = self.markerFindNext(line, 1 << self.bookmark) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3037 | if bmline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3038 | # wrap around |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3039 | bmline = self.markerFindNext(0, 1 << self.bookmark) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3040 | if bmline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3041 | self.setCursorPosition(bmline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3042 | self.ensureLineVisible(bmline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3043 | |
10279 | 3044 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3045 | def previousBookmark(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3046 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3047 | Public slot to handle the 'Previous bookmark' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3048 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3049 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3050 | if line == 0: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
3051 | line = self.lines() - 1 |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3052 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3053 | line -= 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3054 | bmline = self.markerFindPrevious(line, 1 << self.bookmark) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3055 | if bmline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3056 | # wrap around |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3057 | bmline = self.markerFindPrevious(self.lines() - 1, 1 << self.bookmark) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3058 | if bmline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3059 | self.setCursorPosition(bmline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3060 | self.ensureLineVisible(bmline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3061 | |
10279 | 3062 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3063 | def clearBookmarks(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3064 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3065 | Public slot to handle the 'Clear all bookmarks' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3066 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3067 | for handle in self.bookmarks: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3068 | self.markerDeleteHandle(handle) |
8106
81bf8fe10735
Editor: fixed an issue handling breakpoints (and other stuff) in a cloned editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8004
diff
changeset
|
3069 | self.bookmarks.clear() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
3070 | self.bookmarkToggled.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
3071 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3072 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3073 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3074 | ## Printing methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3075 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3076 | |
10279 | 3077 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3078 | def printFile(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3079 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3080 | Public slot to print the text. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3081 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2391
diff
changeset
|
3082 | from .Printer import Printer |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3083 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
3084 | printer = Printer(mode=QPrinter.PrinterMode.HighResolution) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3085 | sb = ericApp().getObject("UserInterface").statusBar() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3086 | printDialog = QPrintDialog(printer, self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3087 | if self.hasSelectedText(): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
3088 | printDialog.setOption( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3089 | QAbstractPrintDialog.PrintDialogOption.PrintSelection, True |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3090 | ) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
3091 | if printDialog.exec() == QDialog.DialogCode.Accepted: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3092 | sb.showMessage(self.tr("Printing...")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3093 | QApplication.processEvents() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3094 | fn = self.getFileName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3095 | if fn is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3096 | printer.setDocName(os.path.basename(fn)) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3097 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3098 | printer.setDocName(self.noName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3099 | if printDialog.printRange() == QAbstractPrintDialog.PrintRange.Selection: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3100 | # get the selection |
10692
9becf9ca115c
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
3101 | fromLine, _fromIndex, toLine, toIndex = self.getSelection() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3102 | if toIndex == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3103 | toLine -= 1 |
8298
83ddb87b3bc1
Replaced some obsoleted methods of QPrinter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8277
diff
changeset
|
3104 | # QScintilla seems to print one line more than told |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
3105 | res = printer.printRange(self, fromLine, toLine - 1) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3106 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3107 | res = printer.printRange(self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3108 | if res: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3109 | sb.showMessage(self.tr("Printing completed"), 2000) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3110 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3111 | sb.showMessage(self.tr("Error while printing"), 2000) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3112 | QApplication.processEvents() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3113 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3114 | sb.showMessage(self.tr("Printing aborted"), 2000) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3115 | QApplication.processEvents() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3116 | |
10279 | 3117 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3118 | def printPreviewFile(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3119 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3120 | Public slot to show a print preview of the text. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3121 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2391
diff
changeset
|
3122 | from .Printer import Printer |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3123 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
3124 | printer = Printer(mode=QPrinter.PrinterMode.HighResolution) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3125 | fn = self.getFileName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3126 | if fn is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3127 | printer.setDocName(os.path.basename(fn)) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3128 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3129 | printer.setDocName(self.noName) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3130 | preview = QPrintPreviewDialog(printer, self) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
3131 | preview.paintRequested.connect(self.__printPreview) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7749
diff
changeset
|
3132 | preview.exec() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3133 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3134 | def __printPreview(self, printer): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3135 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3136 | Private slot to generate a print preview. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3137 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3138 | @param printer reference to the printer object |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3139 | @type QScintilla.Printer.Printer |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3140 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3141 | printer.printRange(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3142 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3143 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3144 | ## Task handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3145 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3146 | |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3147 | def getTaskLines(self): |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3148 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3149 | Public method to get the lines containing a task. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3150 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3151 | @return list of lines containing a task |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3152 | @rtype list of int |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3153 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3154 | lines = [] |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3155 | line = -1 |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3156 | while True: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3157 | line = self.markerFindNext(line + 1, 1 << self.taskmarker) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3158 | if line < 0: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3159 | break |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3160 | else: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3161 | lines.append(line) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3162 | return lines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3163 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3164 | def hasTaskMarkers(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3165 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3166 | Public method to determine, if this editor contains any task markers. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3167 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3168 | @return flag indicating the presence of task markers |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3169 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3170 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3171 | return self.__hasTaskMarkers |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3172 | |
10279 | 3173 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3174 | def nextTask(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3175 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3176 | Public slot to handle the 'Next task' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3177 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3178 | line, index = self.getCursorPosition() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
3179 | if line == self.lines() - 1: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3180 | line = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3181 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3182 | line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3183 | taskline = self.markerFindNext(line, 1 << self.taskmarker) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3184 | if taskline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3185 | # wrap around |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3186 | taskline = self.markerFindNext(0, 1 << self.taskmarker) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3187 | if taskline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3188 | self.setCursorPosition(taskline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3189 | self.ensureLineVisible(taskline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3190 | |
10279 | 3191 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3192 | def previousTask(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3193 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3194 | Public slot to handle the 'Previous task' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3195 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3196 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3197 | if line == 0: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
3198 | line = self.lines() - 1 |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3199 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3200 | line -= 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3201 | taskline = self.markerFindPrevious(line, 1 << self.taskmarker) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3202 | if taskline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3203 | # wrap around |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3204 | taskline = self.markerFindPrevious(self.lines() - 1, 1 << self.taskmarker) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3205 | if taskline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3206 | self.setCursorPosition(taskline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3207 | self.ensureLineVisible(taskline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3208 | |
10279 | 3209 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3210 | def extractTasks(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3211 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3212 | Public slot to extract all tasks. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3213 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
3214 | from eric7.Tasks.Task import Task |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3215 | |
1819
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3216 | markers = { |
7663
b4d5234f92e7
Tasks: added separate task categories for 'Test' and 'Documentation' tasks
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7637
diff
changeset
|
3217 | taskType: Preferences.getTasks(markersName).split() |
b4d5234f92e7
Tasks: added separate task categories for 'Test' and 'Documentation' tasks
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7637
diff
changeset
|
3218 | for taskType, markersName in Task.TaskType2MarkersName.items() |
1819
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3219 | } |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3220 | txtList = self.text().split(self.getLineSeparator()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3221 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3222 | # clear all task markers and tasks |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3223 | self.markerDeleteAll(self.taskmarker) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3224 | self.taskViewer.clearFileTasks(self.fileName) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3225 | self.__hasTaskMarkers = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3226 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3227 | # now search tasks and record them |
8220
006ee31b4835
Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
3228 | for lineIndex, line in enumerate(txtList): |
1819
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3229 | shouldBreak = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3230 | |
6493
b64d6d0b4175
TaskViewer, Editor: added code to mark a line as not containing a task with '__NO-TASK__'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6481
diff
changeset
|
3231 | if line.endswith("__NO-TASK__"): |
b64d6d0b4175
TaskViewer, Editor: added code to mark a line as not containing a task with '__NO-TASK__'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6481
diff
changeset
|
3232 | # ignore potential task marker |
b64d6d0b4175
TaskViewer, Editor: added code to mark a line as not containing a task with '__NO-TASK__'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6481
diff
changeset
|
3233 | continue |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3234 | |
1819
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3235 | for taskType, taskMarkers in markers.items(): |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3236 | for taskMarker in taskMarkers: |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3237 | index = line.find(taskMarker) |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3238 | if index > -1: |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3239 | task = line[index:] |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3240 | self.markerAdd(lineIndex, self.taskmarker) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3241 | self.taskViewer.addFileTask( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3242 | task, self.fileName, lineIndex + 1, taskType |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3243 | ) |
1819
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3244 | self.__hasTaskMarkers = True |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3245 | shouldBreak = True |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3246 | break |
cfcfd617216a
Changed the tasks handling to allow for more fine grained task designations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1807
diff
changeset
|
3247 | if shouldBreak: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3248 | break |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
3249 | self.taskMarkersUpdated.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
3250 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3251 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3252 | ########################################################################### |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3253 | ## Change tracing methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3254 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3255 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
3256 | def __createChangeMarkerPixmap(self, key, size=16): |
2165
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3257 | """ |
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3258 | Private method to create a pixmap for the change markers. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3259 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3260 | @param key key of the color to use |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3261 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3262 | @param size size of the pixmap |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3263 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3264 | @return create pixmap |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3265 | @rtype QPixmap |
2165
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3266 | """ |
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3267 | pixmap = QPixmap(size, size) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
3268 | pixmap.fill(Qt.GlobalColor.transparent) |
2165
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3269 | painter = QPainter(pixmap) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3270 | painter.fillRect(size - 4, 0, 4, size, Preferences.getEditorColour(key)) |
2165
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3271 | painter.end() |
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3272 | return pixmap |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3273 | |
10279 | 3274 | @pyqtSlot() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3275 | def __initOnlineChangeTrace(self): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3276 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3277 | Private slot to initialize the online change trace. |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3278 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3279 | self.__hasChangeMarkers = False |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3280 | self.__oldText = self.text() |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3281 | self.__lastSavedText = self.text() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3282 | self.__onlineChangeTraceTimer = QTimer(self) |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3283 | self.__onlineChangeTraceTimer.setSingleShot(True) |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3284 | self.__onlineChangeTraceTimer.setInterval( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3285 | Preferences.getEditor("OnlineChangeTraceInterval") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3286 | ) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3287 | self.__onlineChangeTraceTimer.timeout.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3288 | self.__onlineChangeTraceTimerTimeout |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3289 | ) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3290 | self.textChanged.connect(self.__resetOnlineChangeTraceTimer) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3291 | |
10279 | 3292 | @pyqtSlot() |
2189
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
3293 | def __reinitOnlineChangeTrace(self): |
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
3294 | """ |
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
3295 | Private slot to re-initialize the online change trace. |
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
3296 | """ |
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
3297 | self.__oldText = self.text() |
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
3298 | self.__lastSavedText = self.text() |
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
3299 | self.__deleteAllChangeMarkers() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3300 | |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3301 | def __resetOnlineChangeTraceTimer(self): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3302 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3303 | Private method to reset the online syntax check timer. |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3304 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3305 | if Preferences.getEditor("OnlineChangeTrace"): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3306 | self.__onlineChangeTraceTimer.stop() |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3307 | self.__onlineChangeTraceTimer.start() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3308 | |
10279 | 3309 | @pyqtSlot() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3310 | def __onlineChangeTraceTimerTimeout(self): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3311 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3312 | Private slot to mark added and changed lines. |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3313 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3314 | self.__deleteAllChangeMarkers() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3315 | |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3316 | # step 1: mark saved changes |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3317 | oldL = self.__oldText.splitlines() |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3318 | newL = self.__lastSavedText.splitlines() |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3319 | matcher = difflib.SequenceMatcher(None, oldL, newL) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3320 | |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
3321 | for token, _, _, j1, j2 in matcher.get_opcodes(): |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3322 | if token in ["insert", "replace"]: |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3323 | for lineNo in range(j1, j2): |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3324 | self.markerAdd(lineNo, self.__changeMarkerSaved) |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3325 | self.__hasChangeMarkers = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3326 | |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3327 | # step 2: mark unsaved changes |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3328 | oldL = self.__lastSavedText.splitlines() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3329 | newL = self.text().splitlines() |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3330 | matcher = difflib.SequenceMatcher(None, oldL, newL) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3331 | |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
3332 | for token, _, _, j1, j2 in matcher.get_opcodes(): |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3333 | if token in ["insert", "replace"]: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3334 | for lineNo in range(j1, j2): |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3335 | self.markerAdd(lineNo, self.__changeMarkerUnsaved) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3336 | self.__hasChangeMarkers = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3337 | |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3338 | if self.__hasChangeMarkers: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3339 | self.changeMarkersUpdated.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
3340 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3341 | |
10279 | 3342 | @pyqtSlot() |
9790
6b14962d9d31
Prepared the editor to save non-local files and reset the change markers from external.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9786
diff
changeset
|
3343 | def resetOnlineChangeTraceInfo(self): |
6b14962d9d31
Prepared the editor to save non-local files and reset the change markers from external.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9786
diff
changeset
|
3344 | """ |
6b14962d9d31
Prepared the editor to save non-local files and reset the change markers from external.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9786
diff
changeset
|
3345 | Public slot to reset the online change trace info. |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3346 | """ |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3347 | self.__lastSavedText = self.text() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3348 | self.__deleteAllChangeMarkers() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3349 | |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3350 | # mark saved changes |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3351 | oldL = self.__oldText.splitlines() |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3352 | newL = self.__lastSavedText.splitlines() |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3353 | matcher = difflib.SequenceMatcher(None, oldL, newL) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3354 | |
6188
5a6ae3be31e6
Fixed some loop related coding issues detected by the extended code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6119
diff
changeset
|
3355 | for token, _, _, j1, j2 in matcher.get_opcodes(): |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3356 | if token in ["insert", "replace"]: |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3357 | for lineNo in range(j1, j2): |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3358 | self.markerAdd(lineNo, self.__changeMarkerSaved) |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3359 | self.__hasChangeMarkers = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3360 | |
2165
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3361 | if self.__hasChangeMarkers: |
f89fc1162ffe
Finalized the change tracing stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2164
diff
changeset
|
3362 | self.changeMarkersUpdated.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
3363 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3364 | |
10279 | 3365 | @pyqtSlot() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3366 | def __deleteAllChangeMarkers(self): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3367 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3368 | Private slot to delete all change markers. |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3369 | """ |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3370 | self.markerDeleteAll(self.__changeMarkerUnsaved) |
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3371 | self.markerDeleteAll(self.__changeMarkerSaved) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3372 | self.__hasChangeMarkers = False |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3373 | self.changeMarkersUpdated.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
3374 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3375 | |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3376 | def clearChangeMarkers(self): |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3377 | """ |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3378 | Public method to clear all change markers. |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3379 | """ |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3380 | self.__reinitOnlineChangeTrace() |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3381 | |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3382 | def getChangeLines(self): |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3383 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3384 | Public method to get the lines containing a change. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3385 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3386 | @return list of lines containing a change |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3387 | @rtype list of int |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3388 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3389 | lines = [] |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3390 | line = -1 |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3391 | while True: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3392 | line = self.markerFindNext(line + 1, self.changeMarkersMask) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3393 | if line < 0: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3394 | break |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3395 | else: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3396 | lines.append(line) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
3397 | return lines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3398 | |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3399 | def hasChangeMarkers(self): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3400 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3401 | Public method to determine, if this editor contains any change markers. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3402 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3403 | @return flag indicating the presence of change markers |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3404 | @rtype bool |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3405 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3406 | return self.__hasChangeMarkers |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3407 | |
10279 | 3408 | @pyqtSlot() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3409 | def nextChange(self): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3410 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3411 | Public slot to handle the 'Next change' context menu action. |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3412 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3413 | line, index = self.getCursorPosition() |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3414 | if line == self.lines() - 1: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3415 | line = 0 |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3416 | else: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3417 | line += 1 |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3418 | changeline = self.markerFindNext(line, self.changeMarkersMask) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3419 | if changeline < 0: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3420 | # wrap around |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3421 | changeline = self.markerFindNext(0, self.changeMarkersMask) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3422 | if changeline >= 0: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3423 | self.setCursorPosition(changeline, 0) |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3424 | self.ensureLineVisible(changeline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3425 | |
10279 | 3426 | @pyqtSlot() |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3427 | def previousChange(self): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3428 | """ |
6035
6cac9ce8ab15
Added an entry to delete all change markers to the marker margin context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6033
diff
changeset
|
3429 | Public slot to handle the 'Previous change' context menu action. |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3430 | """ |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3431 | line, index = self.getCursorPosition() |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3432 | if line == 0: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3433 | line = self.lines() - 1 |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3434 | else: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3435 | line -= 1 |
2164
d67b14a3f884
Improved the change tracing function by marking saved and unsaved changes differently.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2163
diff
changeset
|
3436 | changeline = self.markerFindPrevious(line, self.changeMarkersMask) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3437 | if changeline < 0: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3438 | # wrap around |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3439 | changeline = self.markerFindPrevious( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3440 | self.lines() - 1, self.changeMarkersMask |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3441 | ) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3442 | if changeline >= 0: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3443 | self.setCursorPosition(changeline, 0) |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
3444 | self.ensureLineVisible(changeline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3445 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3446 | ########################################################################### |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3447 | ## Flags handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3448 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3449 | |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3450 | def __processFlags(self): |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3451 | """ |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3452 | Private method to extract flags and process them. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3453 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3454 | @return list of change flags |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3455 | @rtype list of str |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3456 | """ |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3457 | txt = self.text() |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3458 | flags = Utilities.extractFlags(txt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3459 | |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3460 | changedFlags = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3461 | |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3462 | # Flag 1: FileType |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3463 | if "FileType" in flags: |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3464 | oldFiletype = self.filetype |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3465 | if isinstance(flags["FileType"], str): |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3466 | self.filetype = flags["FileType"] |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3467 | self.filetypeByFlag = True |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3468 | if oldFiletype != self.filetype: |
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3469 | changedFlags.append("FileType") |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3470 | else: |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3471 | if self.filetype != "" and self.filetypeByFlag: |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3472 | self.filetype = "" |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3473 | self.filetypeByFlag = False |
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
777
diff
changeset
|
3474 | self.__bindName(txt.splitlines()[0]) |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3475 | changedFlags.append("FileType") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3476 | |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3477 | return changedFlags |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3478 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3479 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3480 | ## File handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
3481 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3482 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3483 | def checkDirty(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3484 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3485 | Public method to check dirty status and open a message window. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3486 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3487 | @return flag indicating successful reset of the dirty flag |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3488 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3489 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3490 | if self.isModified(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3491 | fn = self.fileName |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3492 | if fn is None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3493 | fn = self.noName |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3494 | res = EricMessageBox.okToClearData( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
3495 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
3496 | self.tr("File Modified"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3497 | self.tr("<p>The file <b>{0}</b> has unsaved changes.</p>").format(fn), |
10585
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
3498 | self.saveFile, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3499 | ) |
549
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
548
diff
changeset
|
3500 | if res: |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
548
diff
changeset
|
3501 | self.vm.setEditorName(self, self.fileName) |
fe99d46d56c8
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
548
diff
changeset
|
3502 | return res |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3503 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3504 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3505 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3506 | def revertToUnmodified(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3507 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3508 | Public method to revert back to the last saved state. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3509 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3510 | undo_ = True |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3511 | while self.isModified(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3512 | if undo_: |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
3513 | # try undo first |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3514 | if self.isUndoAvailable(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3515 | self.undo() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3516 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3517 | undo_ = False |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3518 | else: |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
3519 | # try redo next |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3520 | if self.isRedoAvailable(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3521 | self.redo() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3522 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3523 | break |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3524 | # Couldn't find the unmodified state |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3525 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3526 | def readFile(self, fn, createIt=False, encoding="", noempty=False, isRemote=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3527 | """ |
10279 | 3528 | Public method to read the text from a file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3529 | |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3530 | @param fn filename to read from |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3531 | @type str |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
3532 | @param createIt flag indicating the creation of a new file, if the |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3533 | given one doesn't exist (defaults to False) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3534 | @type bool (optional) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3535 | @param encoding encoding to be used to read the file (defaults to "") |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
3536 | (Note: this parameter overrides encoding detection) |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3537 | @type str (optional) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3538 | @param noempty flag indicating to not set an empty text (defaults to False) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3539 | @type bool (optional) |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3540 | @param isRemote flag indicating a remote file (defaults to False) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3541 | @type bool (optional) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3542 | """ |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3543 | if FileSystemUtilities.isPlainFileName(fn): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3544 | self.__loadEditorConfig(fileName=fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3545 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3546 | try: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3547 | with EricOverrideCursor(): |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3548 | if FileSystemUtilities.isRemoteFileName(fn) or isRemote: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3549 | title = self.tr("Open Remote File") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3550 | if encoding: |
10597
fbe93720ee9f
Corrected a few formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10596
diff
changeset
|
3551 | ( |
fbe93720ee9f
Corrected a few formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10596
diff
changeset
|
3552 | txt, |
fbe93720ee9f
Corrected a few formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10596
diff
changeset
|
3553 | self.encoding, |
fbe93720ee9f
Corrected a few formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10596
diff
changeset
|
3554 | ) = self.__remotefsInterface.readEncodedFileWithEncoding( |
fbe93720ee9f
Corrected a few formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10596
diff
changeset
|
3555 | fn, encoding, create=True |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3556 | ) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3557 | else: |
10589
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3558 | txt, self.encoding = self.__remotefsInterface.readEncodedFile( |
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3559 | fn, create=True |
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3560 | ) |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3561 | else: |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3562 | title = self.tr("Open File") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3563 | if createIt and not os.path.exists(fn): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3564 | with open(fn, "w"): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3565 | pass |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3566 | if encoding == "": |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3567 | encoding = self.__getEditorConfig( |
10561
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
3568 | "DefaultEncoding", nodefault=True |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
3569 | ) |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3570 | if encoding: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3571 | txt, self.encoding = Utilities.readEncodedFileWithEncoding( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3572 | fn, encoding |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3573 | ) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3574 | else: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3575 | txt, self.encoding = Utilities.readEncodedFile(fn) |
10050
3750abc45d5e
Corrected some code style issues detected by the extended checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9977
diff
changeset
|
3576 | except (OSError, UnicodeDecodeError) as why: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3577 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
3578 | self.vm, |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3579 | title, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3580 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3581 | "<p>The file <b>{0}</b> could not be opened.</p>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3582 | "<p>Reason: {1}</p>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3583 | ).format(fn, str(why)), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3584 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3585 | raise |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3586 | |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3587 | if noempty and not bool(txt): |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3588 | return |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
3589 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3590 | with EricOverrideCursor(): |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3591 | self.setText(txt) |
10449
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
3592 | self.setModified(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3593 | |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3594 | # get eric specific flags |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3595 | self.__processFlags() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3596 | |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3597 | # perform automatic EOL conversion |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3598 | if self.__getEditorConfig( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3599 | "EOLMode", nodefault=True |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3600 | ) or Preferences.getEditor("AutomaticEOLConversion"): |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3601 | self.convertEols(self.eolMode()) |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3602 | else: |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3603 | fileEol = self.detectEolString(txt) |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3604 | self.setEolModeByEolString(fileEol) |
10449
cc468bd2abdf
Modified the EOL handling slightly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
3605 | self.__eolChanged() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3606 | |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
3607 | self.extractTasks() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3608 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3609 | self.recordModificationTime(filename=fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3610 | |
10279 | 3611 | @pyqtSlot() |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
3612 | def __convertTabs(self): |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
3613 | """ |
10465 | 3614 | Private slot to automatically convert tabulators to spaces upon loading. |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
3615 | """ |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
3616 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3617 | (not self.__getEditorConfig("TabForIndentation")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3618 | and Preferences.getEditor("ConvertTabsOnLoad") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3619 | and not (self.lexer_ and self.lexer_.alwaysKeepTabs()) |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
3620 | ): |
10465 | 3621 | self.expandTabs() |
3622 | ||
3623 | @pyqtSlot() | |
3624 | def expandTabs(self): | |
3625 | """ | |
3626 | Public slot to expand tabulators to spaces. | |
3627 | """ | |
3628 | txt = self.text() | |
3629 | txtExpanded = txt.expandtabs(self.__getEditorConfig("TabWidth")) | |
3630 | if txtExpanded != txt: | |
3631 | self.beginUndoAction() | |
3632 | self.setText(txtExpanded) | |
3633 | self.endUndoAction() | |
3634 | ||
3635 | self.setModified(True) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3636 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3637 | def __removeTrailingWhitespace(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3638 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3639 | Private method to remove trailing whitespace. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3640 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3641 | searchRE = r"[ \t]+$" # whitespace at the end of a line |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3642 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3643 | ok = self.findFirstTarget(searchRE, True, False, False, 0, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3644 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3645 | while ok: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3646 | self.replaceTarget("") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3647 | ok = self.findNextTarget() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3648 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3649 | |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3650 | def writeFile(self, fn, backup=True): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3651 | """ |
10279 | 3652 | Public method to write the text to a file. |
3653 | ||
3654 | @param fn filename to write to | |
3655 | @type str | |
3656 | @param backup flag indicating to save a backup | |
3657 | @type bool | |
3658 | @return flag indicating success | |
3659 | @rtype bool | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3660 | """ |
10561
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
3661 | config = ( |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
3662 | None |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
3663 | if self.fileName and fn == self.fileName |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
3664 | else self.__loadEditorConfigObject(fn) |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
3665 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3666 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3667 | eol = self.__getEditorConfig("EOLMode", nodefault=True, config=config) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3668 | if eol is not None: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3669 | self.convertEols(eol) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3670 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3671 | if self.__getEditorConfig("StripTrailingWhitespace", config=config): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3672 | self.__removeTrailingWhitespace() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3673 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3674 | txt = self.text() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3675 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3676 | if self.__getEditorConfig("InsertFinalNewline", config=config): |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3677 | eol = self.getLineSeparator() |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3678 | if eol: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3679 | if len(txt) >= len(eol): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3680 | if txt[-len(eol) :] != eol: |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3681 | txt += eol |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3682 | else: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3683 | txt += eol |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3684 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3685 | # create a backup file, if the option is set |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3686 | createBackup = backup and Preferences.getEditor("CreateBackupFile") |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3687 | if createBackup and FileSystemUtilities.isPlainFileName(fn): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3688 | if os.path.islink(fn): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3689 | fn = os.path.realpath(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3690 | bfn = "{0}~".format(fn) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3691 | try: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3692 | permissions = os.stat(fn).st_mode |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3693 | perms_valid = True |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7790
diff
changeset
|
3694 | except OSError: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3695 | # if there was an error, ignore it |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3696 | perms_valid = False |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8239
diff
changeset
|
3697 | with contextlib.suppress(OSError): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3698 | os.remove(bfn) |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8239
diff
changeset
|
3699 | with contextlib.suppress(OSError): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3700 | os.rename(fn, bfn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3701 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3702 | # now write text to the file fn |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3703 | try: |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
3704 | editorConfigEncoding = self.__getEditorConfig( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3705 | "DefaultEncoding", nodefault=True, config=config |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3706 | ) |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3707 | if FileSystemUtilities.isPlainFileName(fn): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3708 | title = self.tr("Save File") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3709 | self.encoding = Utilities.writeEncodedFile( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3710 | fn, txt, self.encoding, forcedEncoding=editorConfigEncoding |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3711 | ) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3712 | if createBackup and perms_valid: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3713 | os.chmod(fn, permissions) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3714 | else: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3715 | title = self.tr("Save Remote File") |
10589
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3716 | self.encoding = self.__remotefsInterface.writeEncodedFile( |
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3717 | fn, |
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3718 | txt, |
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3719 | self.encoding, |
75b656c80a40
Added methods to read and write files with a given encoding to the eric-ide server file system interface and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10587
diff
changeset
|
3720 | forcedEncoding=editorConfigEncoding, |
10763
4b6220e694da
Fixed an issue writing to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10759
diff
changeset
|
3721 | withBackup=createBackup, |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3722 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3723 | return True |
10050
3750abc45d5e
Corrected some code style issues detected by the extended checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9977
diff
changeset
|
3724 | except (OSError, UnicodeError, Utilities.CodingError) as why: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3725 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
3726 | self, |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3727 | title, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3728 | self.tr( |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9563
diff
changeset
|
3729 | "<p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p>" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3730 | ).format(fn, str(why)), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3731 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3732 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3733 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3734 | def __getSaveFileName(self, path=None, remote=False): |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3735 | """ |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3736 | Private method to get the name of the file to be saved. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3737 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3738 | @param path directory to save the file in (defaults to None) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3739 | @type str (optional) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3740 | @param remote flag indicating to save as a remote file (defaults to False) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3741 | @type bool (optional) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3742 | @return file name |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3743 | @rtype str |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3744 | """ |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3745 | # save to project, if a project is loaded |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3746 | if self.project.isOpen(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3747 | if self.fileName and self.project.startswithProjectPath(self.fileName): |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3748 | path = os.path.dirname(self.fileName) |
8193
2aa8953a2145
Editor: little change to the "Save As" function to respect the path name of the file to be saved.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
3749 | elif not self.fileName: |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3750 | path = self.project.getProjectPath() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3751 | |
4891
d6e8171d2c02
Fixed an issue causing a crash with latest PyQt5 (5.6).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4814
diff
changeset
|
3752 | if not path and self.fileName: |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3753 | path = os.path.dirname(self.fileName) |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3754 | if not path: |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3755 | if remote: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3756 | path = "" |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3757 | else: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3758 | path = ( |
10576
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
3759 | Preferences.getMultiProject("Workspace") or OSUtilities.getHomeDir() |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3760 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3761 | |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3762 | if self.fileName: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3763 | filterPattern = "(*{0})".format(os.path.splitext(self.fileName)[1]) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
3764 | for fileFilter in Lexers.getSaveFileFiltersList(True): |
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
3765 | if filterPattern in fileFilter: |
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
3766 | defaultFilter = fileFilter |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3767 | break |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3768 | else: |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3769 | defaultFilter = Preferences.getEditor("DefaultSaveFilter") |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3770 | else: |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3771 | defaultFilter = Preferences.getEditor("DefaultSaveFilter") |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3772 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3773 | if remote or FileSystemUtilities.isRemoteFileName(path): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3774 | title = self.tr("Save Remote File") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3775 | fn, selectedFilter = EricServerFileDialog.getSaveFileNameAndFilter( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3776 | self, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3777 | title, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3778 | path, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3779 | Lexers.getSaveFileFiltersList(True, True), |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3780 | defaultFilter, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3781 | ) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3782 | else: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3783 | title = self.tr("Save File") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3784 | fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3785 | self, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3786 | title, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3787 | path, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3788 | Lexers.getSaveFileFiltersList(True, True), |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3789 | defaultFilter, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3790 | EricFileDialog.DontConfirmOverwrite, |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3791 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3792 | |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3793 | if fn: |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3794 | if fn.endswith("."): |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3795 | fn = fn[:-1] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3796 | |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
3797 | fpath = pathlib.Path(fn) |
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
3798 | if not fpath.suffix: |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3799 | ex = selectedFilter.split("(*")[1].split(")")[0] |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3800 | if ex: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
3801 | fpath = fpath.with_suffix(ex) |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3802 | if ( |
10576
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
3803 | FileSystemUtilities.isRemoteFileName(str(fpath)) |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
3804 | and self.__remotefsInterface.exists(str(fpath)) |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
3805 | ) or (FileSystemUtilities.isPlainFileName(str(fpath)) and fpath.exists()): |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
3806 | res = EricMessageBox.yesNo( |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3807 | self, |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3808 | title, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3809 | self.tr( |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9563
diff
changeset
|
3810 | "<p>The file <b>{0}</b> already exists. Overwrite it?</p>" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3811 | ).format(fpath), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3812 | icon=EricMessageBox.Warning, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3813 | ) |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3814 | if not res: |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3815 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3816 | |
9199
831e08e94960
Fixed some pathlib related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9186
diff
changeset
|
3817 | return str(fpath) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3818 | |
9199
831e08e94960
Fixed some pathlib related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9186
diff
changeset
|
3819 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3820 | |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3821 | def saveFileCopy(self, path=None): |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3822 | """ |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3823 | Public method to save a copy of the file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3824 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3825 | @param path directory to save the file in |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3826 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3827 | @return flag indicating success |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3828 | @rtype bool |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3829 | """ |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3830 | fn = self.__getSaveFileName(path) |
4411
15556f6b4b0f
Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4405
diff
changeset
|
3831 | if not fn: |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3832 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3833 | |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3834 | res = self.writeFile(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3835 | if res and self.project.isOpen() and self.project.startswithProjectPath(fn): |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3836 | # save to project, if a project is loaded |
8222
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
3837 | self.project.appendFile(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3838 | |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3839 | return res |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3840 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3841 | def saveFile(self, saveas=False, path=None, remote=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3842 | """ |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3843 | Public method to save the text to a file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3844 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3845 | @param saveas flag indicating a 'save as' action (defaults to False) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3846 | @type bool (optional) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3847 | @param path directory to save the file in (defaults to None) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3848 | @type str (optional) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3849 | @param remote flag indicating to save as a remote file (defaults to False) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3850 | @type bool (optional) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3851 | @return flag indicating success |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3852 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3853 | """ |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3854 | if not saveas and not self.isModified(): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3855 | # do nothing if text was not changed |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3856 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3857 | |
10388
a34ce7f42e8b
Made the code dealing with "device:" and "remote:" file names generally available in FileSystemUtilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10377
diff
changeset
|
3858 | if FileSystemUtilities.isDeviceFileName(self.fileName): |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3859 | return self.__saveDeviceFile(saveas=saveas) |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3860 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3861 | newName = None |
4891
d6e8171d2c02
Fixed an issue causing a crash with latest PyQt5 (5.6).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4814
diff
changeset
|
3862 | if saveas or self.fileName == "": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3863 | saveas = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3864 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3865 | fn = self.__getSaveFileName(path=path, remote=remote) |
4411
15556f6b4b0f
Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4405
diff
changeset
|
3866 | if not fn: |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3867 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3868 | |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3869 | newName = fn |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3870 | |
825
9cdec3c5bc07
Merged "Save to Project" into "Save" and "Save As...".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
812
diff
changeset
|
3871 | # save to project, if a project is loaded |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3872 | if self.project.isOpen() and self.project.startswithProjectPath(fn): |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3873 | editorConfigEol = self.__getEditorConfig( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3874 | "EOLMode", nodefault=True, config=self.__loadEditorConfigObject(fn) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3875 | ) |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3876 | if editorConfigEol is not None: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3877 | self.setEolMode(editorConfigEol) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3878 | else: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
3879 | self.setEolModeByEolString(self.project.getEolString()) |
825
9cdec3c5bc07
Merged "Save to Project" into "Save" and "Save As...".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
812
diff
changeset
|
3880 | self.convertEols(self.eolMode()) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3881 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3882 | fn = self.fileName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3883 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
3884 | self.editorAboutToBeSaved.emit(self.fileName) |
10307 | 3885 | if self.__autosaveTimer.isActive(): |
3886 | self.__autosaveTimer.stop() | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3887 | if self.writeFile(fn): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3888 | if saveas: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3889 | self.__clearBreakpoints(self.fileName) |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3890 | self.__loadEditorConfig(fileName=fn) |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3891 | self.setFileName(fn) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3892 | self.setModified(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3893 | self.setReadOnly(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3894 | self.setWindowTitle(self.fileName) |
789
c190cd71b097
Fixed an issue introduced by the latest change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
788
diff
changeset
|
3895 | # get eric specific flags |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3896 | changedFlags = self.__processFlags() |
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
3897 | if not self.__lexerReset and "FileType" in changedFlags: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3898 | self.setLanguage(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3899 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3900 | if saveas: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3901 | self.isResourcesFile = self.fileName.endswith(".qrc") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3902 | self.__initContextMenu() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
3903 | self.editorRenamed.emit(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3904 | |
825
9cdec3c5bc07
Merged "Save to Project" into "Save" and "Save As...".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
812
diff
changeset
|
3905 | # save to project, if a project is loaded |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3906 | if self.project.isOpen() and self.project.startswithProjectPath(fn): |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
3907 | self.project.appendFile(fn) |
825
9cdec3c5bc07
Merged "Save to Project" into "Save" and "Save As...".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
812
diff
changeset
|
3908 | self.addedToProject() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3909 | |
3152
0845347fe512
Fixed an issue setting syntax style in a 'save as' operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3149
diff
changeset
|
3910 | self.setLanguage(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3911 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3912 | self.recordModificationTime() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3913 | if newName is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3914 | self.vm.addToRecentList(newName) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
3915 | self.editorSaved.emit(self.fileName) |
3579
eccd12461319
BackgroundService: Restart of the client in different situations handled.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3576
diff
changeset
|
3916 | self.checkSyntax() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3917 | self.extractTasks() |
9790
6b14962d9d31
Prepared the editor to save non-local files and reset the change markers from external.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9786
diff
changeset
|
3918 | self.resetOnlineChangeTraceInfo() |
4405
c110bcfaad81
Fixed an issue in the editor causing the encodings menu not being synchronized after a save operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4402
diff
changeset
|
3919 | self.__checkEncoding() |
548
ac7af05dd54a
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
547
diff
changeset
|
3920 | return True |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3921 | else: |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3922 | self.recordModificationTime(filename=fn) |
548
ac7af05dd54a
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
547
diff
changeset
|
3923 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3924 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3925 | def saveFileAs(self, path=None, remote=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3926 | """ |
10279 | 3927 | Public method to save a file with a new name. |
3928 | ||
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3929 | @param path directory to save the file in (defaults to None) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3930 | @type str (optional) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3931 | @param remote flag indicating to save as a remote file (defaults to False) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3932 | @type bool (optional) |
10279 | 3933 | @return tuple containing a success indicator and the name of the saved file |
3934 | @rtype tuple of (bool, str) | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3935 | """ |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3936 | return self.saveFile(True, path=path, remote=remote) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3937 | |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3938 | def __saveDeviceFile(self, saveas=False): |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3939 | """ |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3940 | Private method to save the text to a file on the connected device. |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3941 | |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3942 | @param saveas flag indicating a 'save as' action (defaults to False) |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3943 | @type bool (optional) |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3944 | @return flag indicating success |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3945 | @rtype bool |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3946 | """ |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3947 | with contextlib.suppress(KeyError): |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3948 | mpy = ericApp().getObject("MicroPython") |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3949 | filemanager = mpy.getFileManager() |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3950 | if saveas: |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3951 | fn, ok = QInputDialog.getText( |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3952 | self, |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3953 | self.tr("Save File to Device"), |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3954 | self.tr("Enter the complete device file path:"), |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3955 | QLineEdit.EchoMode.Normal, |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3956 | self.fileName, |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3957 | ) |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3958 | if not ok or not fn: |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3959 | # aborted |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3960 | return False |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3961 | else: |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3962 | fn = self.fileName |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3963 | # Convert the file name to device path separators ('/') and ensure, |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3964 | # intermediate directories exist (creating them if necessary) |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3965 | fn = fn.replace("\\", "/") |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3966 | if "/" in fn: |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3967 | dn = fn.rsplit("/", 1)[0] |
10388
a34ce7f42e8b
Made the code dealing with "device:" and "remote:" file names generally available in FileSystemUtilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10377
diff
changeset
|
3968 | filemanager.makedirs(FileSystemUtilities.plainFileName(dn)) |
a34ce7f42e8b
Made the code dealing with "device:" and "remote:" file names generally available in FileSystemUtilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10377
diff
changeset
|
3969 | success = filemanager.writeFile( |
a34ce7f42e8b
Made the code dealing with "device:" and "remote:" file names generally available in FileSystemUtilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10377
diff
changeset
|
3970 | FileSystemUtilities.plainFileName(fn), self.text() |
a34ce7f42e8b
Made the code dealing with "device:" and "remote:" file names generally available in FileSystemUtilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10377
diff
changeset
|
3971 | ) |
9853
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3972 | if success: |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3973 | self.setFileName(fn) |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3974 | self.setModified(False) |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3975 | self.resetOnlineChangeTraceInfo() |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3976 | return success |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3977 | |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3978 | return False |
080e060a0383
Added the capability to save from an editor to a connected MicroPython device.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9790
diff
changeset
|
3979 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3980 | def handleRenamed(self, fn): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3981 | """ |
10279 | 3982 | Public method to handle the editorRenamed signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3983 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3984 | @param fn filename to be set for the editor |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
3985 | @type str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3986 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3987 | self.__clearBreakpoints(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3988 | |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
3989 | self.setFileName(fn) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3990 | self.setWindowTitle(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3991 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
3992 | self.__loadEditorConfig() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3993 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3994 | if self.lexer_ is None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3995 | self.setLanguage(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
3996 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
3997 | self.recordModificationTime() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3998 | self.vm.setEditorName(self, self.fileName) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
3999 | self.__updateReadOnly(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4000 | |
10279 | 4001 | @pyqtSlot(str) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4002 | def fileRenamed(self, fn): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4003 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4004 | Public slot to handle the editorRenamed signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4005 | |
10279 | 4006 | @param fn filename to be set for the editor |
4007 | @type str. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4008 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4009 | self.handleRenamed(fn) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4010 | if not self.inFileRenamed: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4011 | self.inFileRenamed = True |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
4012 | self.editorRenamed.emit(self.fileName) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4013 | self.inFileRenamed = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4014 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4015 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4016 | ## Utility methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4017 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4018 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4019 | def ensureVisible(self, line, expand=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4020 | """ |
10279 | 4021 | Public method to ensure, that the specified line is visible. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4022 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4023 | @param line line number to make visible |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4024 | @type int |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
4025 | @param expand flag indicating to expand all folds |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4026 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4027 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
4028 | self.ensureLineVisible(line - 1) |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4029 | if expand: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4030 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4031 | QsciScintilla.SCI_FOLDCHILDREN, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4032 | line - 1, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4033 | QsciScintilla.SC_FOLDACTION_EXPAND, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4034 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4035 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4036 | def ensureVisibleTop(self, line, expand=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4037 | """ |
10279 | 4038 | Public method to ensure, that the specified line is visible at the top |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4039 | of the editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4040 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4041 | @param line line number to make visible |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4042 | @type int |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
4043 | @param expand flag indicating to expand all folds |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4044 | @type bool |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4045 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4046 | self.ensureVisible(line) |
1897
4c89af5a756f
Little improvement to the editor assembly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1831
diff
changeset
|
4047 | self.setFirstVisibleLine(line - 1) |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4048 | self.ensureCursorVisible() |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
4049 | if expand: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4050 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4051 | QsciScintilla.SCI_FOLDCHILDREN, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4052 | line - 1, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4053 | QsciScintilla.SC_FOLDACTION_EXPAND, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4054 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4055 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
4056 | def __marginClicked(self, margin, line, _modifiers): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4057 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4058 | Private slot to handle the marginClicked signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4059 | |
10279 | 4060 | @param margin id of the clicked margin |
4061 | @type int | |
4062 | @param line line number of the click | |
4063 | @type int | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
4064 | @param _modifiers keyboard modifiers (unused) |
10279 | 4065 | @type Qt.KeyboardModifiers |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4066 | """ |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
4067 | if margin == self.__bmMargin: |
6735
31e263d49c04
Fixed some code style issues detected by the updated style checker (over-indented lines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6718
diff
changeset
|
4068 | self.toggleBookmark(line + 1) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
4069 | elif margin == self.__bpMargin: |
6735
31e263d49c04
Fixed some code style issues detected by the updated style checker (over-indented lines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6718
diff
changeset
|
4070 | self.__toggleBreakpoint(line + 1) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
4071 | elif margin == self.__indicMargin: |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
4072 | if self.markersAtLine(line) & (1 << self.syntaxerror): |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
4073 | self.__showSyntaxError(line) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
4074 | elif self.markersAtLine(line) & (1 << self.warning): |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
4075 | self.__showWarning(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4076 | |
10499 | 4077 | @pyqtSlot(int, int, int) |
4078 | def __marginHoverStart(self, pos, x, y): | |
4079 | """ | |
4080 | Private slot showing the text of a syntax error or a warning marker. | |
4081 | ||
4082 | @param pos mouse position into the document | |
4083 | @type int | |
4084 | @param x x-value of mouse screen position | |
4085 | @type int | |
4086 | @param y y-value of mouse screen position | |
4087 | @type int | |
4088 | """ | |
4089 | margin = self.__marginNumber(x) | |
4090 | if margin == self.__indicMargin: | |
4091 | # determine width of all margins; needed to calculate document line | |
4092 | width = 0 | |
4093 | for margin in range(5): | |
4094 | width += self.marginWidth(margin) | |
4095 | ||
4096 | message = "" | |
4097 | line = self.lineIndexFromPoint(QPoint(width + 1, y))[0] | |
4098 | if self.markersAtLine(line) & (1 << self.syntaxerror): | |
4099 | for handle in self.syntaxerrors: | |
4100 | if self.markerLine(handle) == line: | |
4101 | message = "\n".join([e[0] for e in self.syntaxerrors[handle]]) | |
4102 | break | |
4103 | elif self.markersAtLine(line) & (1 << self.warning): | |
4104 | for handle in self._warnings: | |
4105 | if self.markerLine(handle) == line: | |
4106 | message = "\n".join([w[0] for w in self._warnings[handle]]) | |
4107 | break | |
4108 | ||
4109 | if message: | |
4110 | QToolTip.showText(QCursor.pos(), message) | |
4111 | ||
4112 | @pyqtSlot() | |
4113 | def __marginHoverEnd(self): | |
4114 | """ | |
4115 | Private slot cancelling the display of syntax error or a warning marker text. | |
4116 | """ | |
4117 | QToolTip.hideText() | |
4118 | ||
10279 | 4119 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4120 | def handleMonospacedEnable(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4121 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
4122 | Public slot to handle the Use Monospaced Font context menu entry. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4123 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4124 | if self.menuActs["MonospacedFont"].isChecked(): |
3087
fdbce259929f
Changed the handling of the monospace font usage in the editor, mini editor and shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3069
diff
changeset
|
4125 | if not self.lexer_: |
fdbce259929f
Changed the handling of the monospace font usage in the editor, mini editor and shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3069
diff
changeset
|
4126 | self.setMonospaced(True) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4127 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4128 | if self.lexer_: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4129 | self.lexer_.readSettings(Preferences.getSettings(), "Scintilla") |
6858
9d962e654978
Corrected the SubstyledLexer.hasSubStyle() method to SubstyledLexer.hasSubstyle() to be consistent.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
4130 | if self.lexer_.hasSubstyles(): |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6843
diff
changeset
|
4131 | self.lexer_.readSubstyles(self) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4132 | self.lexer_.initProperties() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4133 | self.setMonospaced(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4134 | self.__setMarginsDisplay() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4135 | |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4136 | def getWordBoundaries(self, line, index, useWordChars=True, forCompletion=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4137 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4138 | Public method to get the word boundaries at a position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4139 | |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4140 | @param line number of line to look at |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4141 | @type int |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4142 | @param index position to look at |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4143 | @type int |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
4144 | @param useWordChars flag indicating to use the wordCharacters |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4145 | method (defaults to True) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4146 | @type bool (optional) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4147 | @param forCompletion flag indicating a modification for completions (defaults |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4148 | to False) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4149 | @type bool (optional) |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4150 | @return tuple with start and end indexes of the word at the position |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4151 | @rtype tuple of (int, int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4152 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4153 | wc = self.wordCharacters() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4154 | if wc is None or not useWordChars: |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4155 | pattern = r"\b[\w_]+\b" |
6247
5c677a7f7d51
Corrected some code style issues detected by the new pycodestyle version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6210
diff
changeset
|
4156 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4157 | wc = re.sub(r"\w", "", wc) |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4158 | pattern = r"\b[\w{0}]+\b".format(re.escape(wc)) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4159 | if forCompletion: |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4160 | pattern += "=?" |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
4161 | rx = ( |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
4162 | re.compile(pattern) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4163 | if self.caseSensitive() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4164 | else re.compile(pattern, re.IGNORECASE) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4165 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4166 | |
7775
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7771
diff
changeset
|
4167 | text = self.text(line) |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7771
diff
changeset
|
4168 | for match in rx.finditer(text): |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7771
diff
changeset
|
4169 | start, end = match.span() |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7771
diff
changeset
|
4170 | if start <= index <= end: |
4a1db75550bd
Changed code to not use deprecated 'QRegExp' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7771
diff
changeset
|
4171 | return (start, end) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4172 | |
7783
36f66ce496bd
Editor: fixed an issue introduced during the QRegExp change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7775
diff
changeset
|
4173 | return (index, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4174 | |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4175 | def getWord(self, line, index, direction=0, useWordChars=True, forCompletion=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4176 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4177 | Public method to get the word at a position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4178 | |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4179 | @param line number of line to look at |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4180 | @type int |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4181 | @param index position to look at |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4182 | @type int |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4183 | @param direction direction to look in (0 = whole word, 1 = left, |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4184 | 2 = right) |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4185 | @type int |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
4186 | @param useWordChars flag indicating to use the wordCharacters |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4187 | method (defaults to True) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4188 | @type bool (optional) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4189 | @param forCompletion flag indicating a modification for completions (defaults |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4190 | to False) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4191 | @type bool (optional) |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4192 | @return the word at that position |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4193 | @rtype str |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4194 | """ |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4195 | start, end = self.getWordBoundaries( |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4196 | line, index, useWordChars=useWordChars, forCompletion=forCompletion |
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
4197 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4198 | if direction == 1: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4199 | end = index |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4200 | elif direction == 2: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4201 | start = index |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4202 | if end > start: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4203 | text = self.text(line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4204 | word = text[start:end] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4205 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4206 | word = "" |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4207 | return word |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4208 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4209 | def getWordLeft(self, line, index): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4210 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4211 | Public method to get the word to the left of a position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4212 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4213 | @param line number of line to look at |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4214 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4215 | @param index position to look at |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4216 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4217 | @return the word to the left of that position |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4218 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4219 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4220 | return self.getWord(line, index, 1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4221 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4222 | def getWordRight(self, line, index): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4223 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4224 | Public method to get the word to the right of a position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4225 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4226 | @param line number of line to look at |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4227 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4228 | @param index position to look at |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4229 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4230 | @return the word to the right of that position |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4231 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4232 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4233 | return self.getWord(line, index, 2) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4234 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4235 | def getCurrentWord(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4236 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4237 | Public method to get the word at the current position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4238 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4239 | @return the word at that current position |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4240 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4241 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4242 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4243 | return self.getWord(line, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4244 | |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4245 | def getCurrentWordBoundaries(self): |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4246 | """ |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4247 | Public method to get the word boundaries at the current position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4248 | |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4249 | @return tuple with start and end indexes of the current word |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4250 | @rtype tuple of (int, int) |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4251 | """ |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4252 | line, index = self.getCursorPosition() |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
4253 | return self.getWordBoundaries(line, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4254 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4255 | def selectWord(self, line, index): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4256 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4257 | Public method to select the word at a position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4258 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4259 | @param line number of line to look at |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4260 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4261 | @param index position to look at |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4262 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4263 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4264 | start, end = self.getWordBoundaries(line, index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4265 | self.setSelection(line, start, line, end) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4266 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4267 | def selectCurrentWord(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4268 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4269 | Public method to select the current word. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4270 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4271 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4272 | self.selectWord(line, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4273 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4274 | def __getCharacter(self, pos): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4275 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4276 | Private method to get the character to the left of the current position |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4277 | in the current line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4278 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4279 | @param pos position to get character at |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4280 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4281 | @return requested character or "", if there are no more and the next position |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4282 | (i.e. pos - 1) |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4283 | @rtype tuple of (str, int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4284 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4285 | if pos <= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4286 | return "", pos |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4287 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4288 | pos = self.positionBefore(pos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4289 | ch = self.charAt(pos) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4290 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4291 | # Don't go past the end of the previous line |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4292 | if ch in ("\n", "\r"): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4293 | return "", pos |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4294 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4295 | return ch, pos |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4296 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
4297 | def getSearchText(self, selectionOnly=False): |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
4298 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4299 | Public method to determine the selection or the current word for the |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4300 | next search operation. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4301 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4302 | @param selectionOnly flag indicating that only selected text should be |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4303 | returned |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4304 | @type bool |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4305 | @return selection or current word |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4306 | @rtype str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4307 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4308 | if self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4309 | text = self.selectedText() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4310 | if "\r" in text or "\n" in text: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4311 | # the selection contains at least a newline, it is |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4312 | # unlikely to be the expression to search for |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4313 | return "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4314 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4315 | return text |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4316 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4317 | if not selectionOnly: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4318 | # no selected text, determine the word at the current position |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4319 | return self.getCurrentWord() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4320 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4321 | return "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4322 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4323 | def setSearchIndicator(self, startPos, indicLength): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4324 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4325 | Public method to set a search indicator for the given range. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4326 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4327 | @param startPos start position of the indicator |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4328 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4329 | @param indicLength length of the indicator |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4330 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4331 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4332 | self.setIndicatorRange(self.searchIndicator, startPos, indicLength) |
4304
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4333 | line = self.lineIndexFromPosition(startPos)[0] |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4334 | if line not in self.__searchIndicatorLines: |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4335 | self.__searchIndicatorLines.append(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4336 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4337 | def clearSearchIndicators(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4338 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4339 | Public method to clear all search indicators. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4340 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4341 | self.clearAllIndicators(self.searchIndicator) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4342 | self.__markedText = "" |
4304
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4343 | self.__searchIndicatorLines = [] |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4344 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4345 | |
9938
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4346 | def highlightSearchSelection(self, startLine, startIndex, endLine, endIndex): |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4347 | """ |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4348 | Public method to set a highlight for the selection at the start of a search. |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4349 | |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4350 | @param startLine line of the selection start |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4351 | @type int |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4352 | @param startIndex index of the selection start |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4353 | @type int |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4354 | @param endLine line of the selection end |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4355 | @type int |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4356 | @param endIndex index of the selection end |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4357 | @type int |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4358 | """ |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4359 | self.setIndicator( |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4360 | self.searchSelectionIndicator, startLine, startIndex, endLine, endIndex |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4361 | ) |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4362 | |
9977
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4363 | def getSearchSelectionHighlight(self): |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4364 | """ |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4365 | Public method to get the start and end of the selection highlight. |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4366 | |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4367 | @return tuple containing the start line and index and the end line and index |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4368 | @rtype tuple of (int, int, int, int) |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4369 | """ |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4370 | return self.getIndicator(self.searchSelectionIndicator) |
a5acf678c367
Fixed an issue with search and replace in selection if the replacement text modifies the lines range of the selected text (see issue 496)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9972
diff
changeset
|
4371 | |
9938
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4372 | def clearSearchSelectionHighlight(self): |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4373 | """ |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4374 | Public method to clear all highlights. |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4375 | """ |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4376 | self.clearAllIndicators(self.searchSelectionIndicator) |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
4377 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4378 | def __markOccurrences(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4379 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4380 | Private method to mark all occurrences of the current word. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4381 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4382 | word = self.getCurrentWord() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4383 | if not word: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4384 | self.clearSearchIndicators() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4385 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4386 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4387 | if self.__markedText == word: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4388 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4389 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4390 | self.clearSearchIndicators() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4391 | ok = self.findFirstTarget(word, False, self.caseSensitive(), True, 0, 0) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4392 | while ok: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4393 | tgtPos, tgtLen = self.getFoundTarget() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4394 | self.setSearchIndicator(tgtPos, tgtLen) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4395 | ok = self.findNextTarget() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4396 | self.__markedText = word |
4304
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4397 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4398 | |
4304
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4399 | def getSearchIndicatorLines(self): |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4400 | """ |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4401 | Public method to get the lines containing a search indicator. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4402 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4403 | @return list of lines containing a search indicator |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4404 | @rtype list of int |
4304
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4405 | """ |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4406 | return self.__searchIndicatorLines[:] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4407 | |
4304
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4408 | def updateMarkerMap(self): |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4409 | """ |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4410 | Public method to initiate an update of the marker map. |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4411 | """ |
f85965649066
Added the search markers to the marker map of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4302
diff
changeset
|
4412 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4413 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4414 | ########################################################################### |
7525
6d1f954947bc
LexerPygments: fixed an issue loading styles and added some Pygments token types.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7506
diff
changeset
|
4415 | ## Highlighting marker handling methods below |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4416 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4417 | |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4418 | def setHighlight(self, startLine, startIndex, endLine, endIndex): |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4419 | """ |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4420 | Public method to set a text highlight. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4421 | |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4422 | @param startLine line of the highlight start |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4423 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4424 | @param startIndex index of the highlight start |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4425 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4426 | @param endLine line of the highlight end |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4427 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4428 | @param endIndex index of the highlight end |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4429 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4430 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4431 | self.setIndicator( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4432 | self.highlightIndicator, startLine, startIndex, endLine, endIndex |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4433 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4434 | |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4435 | def clearAllHighlights(self): |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4436 | """ |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4437 | Public method to clear all highlights. |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4438 | """ |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4439 | self.clearAllIndicators(self.highlightIndicator) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4440 | |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4441 | def clearHighlight(self, startLine, startIndex, endLine, endIndex): |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4442 | """ |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4443 | Public method to clear a text highlight. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4444 | |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4445 | @param startLine line of the highlight start |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4446 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4447 | @param startIndex index of the highlight start |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4448 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4449 | @param endLine line of the highlight end |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4450 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4451 | @param endIndex index of the highlight end |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4452 | @type int |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4453 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4454 | self.clearIndicator( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4455 | self.highlightIndicator, startLine, startIndex, endLine, endIndex |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4456 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4457 | |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
4458 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4459 | ## Comment handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4460 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4461 | |
2493
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4462 | def __isCommentedLine(self, line, commentStr): |
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4463 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4464 | Private method to check, if the given line is a comment line as |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
4465 | produced by the configured comment rules. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4466 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4467 | @param line text of the line to check |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4468 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4469 | @param commentStr comment string to check against |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4470 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4471 | @return flag indicating a commented line |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
4472 | @rtype bool |
2493
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4473 | """ |
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4474 | if Preferences.getEditor("CommentColumn0"): |
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4475 | return line.startswith(commentStr) |
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4476 | else: |
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4477 | return line.strip().startswith(commentStr) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4478 | |
10279 | 4479 | @pyqtSlot() |
10376 | 4480 | def toggleComment(self): |
4481 | """ | |
4482 | Public slot to toggle a block or stream comment. | |
4483 | ||
4484 | If the lexer supports a block comment, that is used for toggling the | |
4485 | comment. Otherwise a stream comment is used if that is supported. If | |
4486 | none of these are supported, the request is ignored silently. | |
4487 | """ | |
4488 | if self.lexer_ is not None: | |
4489 | if self.lexer_.canBlockComment(): | |
4490 | self.__toggleBlockComment() | |
4491 | elif self.lexer_.canStreamComment(): | |
4492 | self.__toggleStreamComment() | |
4493 | ||
4494 | @pyqtSlot() | |
4495 | def __toggleBlockComment(self): | |
4496 | """ | |
4497 | Private slot to toggle the comment of a block. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4498 | |
9331
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4499 | If the editor contains selected text and the start line is not commented, it |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4500 | will be commented. Otherwise the selection will be un-commented. In case there |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4501 | is no selected text and the current line is not commented, it will be commented. |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4502 | If is commented, the comment block will be removed. |
1500
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4503 | """ |
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4504 | if self.lexer_ is None or not self.lexer_.canBlockComment(): |
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4505 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4506 | |
1500
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4507 | commentStr = self.lexer_.commentStr() |
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4508 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4509 | |
9331
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4510 | if self.hasSelectedText(): |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4511 | # Check if the selection starts with our comment string (i.e. was commented |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4512 | # by our comment...() slots. |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4513 | if self.__isCommentedLine(self.text(self.getSelection()[0]), commentStr): |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4514 | self.uncommentLineOrSelection() |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4515 | else: |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4516 | self.commentLineOrSelection() |
2493
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4517 | elif not self.__isCommentedLine(self.text(line), commentStr): |
9331
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4518 | # No selected text and the current line does not start with our comment |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4519 | # string, so comment the line. |
1500
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4520 | self.commentLineOrSelection() |
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4521 | else: |
9331
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4522 | # Uncomment the comment block containing the current line. |
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4523 | # 1. determine the start of the comment block |
1500
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4524 | begline = line |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4525 | while begline > 0 and self.__isCommentedLine( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4526 | self.text(begline - 1), commentStr |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
4527 | ): |
1588
dccffd13be8d
Did some PEP-8 related corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1566
diff
changeset
|
4528 | begline -= 1 |
9331
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4529 | # 2. determine the end of the comment block |
1500
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4530 | endline = line |
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4531 | lines = self.lines() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4532 | while endline < lines and self.__isCommentedLine( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4533 | self.text(endline + 1), commentStr |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
4534 | ): |
1588
dccffd13be8d
Did some PEP-8 related corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1566
diff
changeset
|
4535 | endline += 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4536 | |
9331
1f8780a59a0d
Changed the logic of the 'Toggle Comment' action to respect the current selection and only operate on the current line or comment block, if there is no selection present.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
4537 | # 3. uncomment the determined block and reset the cursor position |
1500
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4538 | self.setSelection(begline, 0, endline, self.lineLength(endline)) |
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4539 | self.uncommentLineOrSelection() |
6ce6deb421cf
Added an action to the editor to toggle block comments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1491
diff
changeset
|
4540 | self.setCursorPosition(line, index - len(commentStr)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4541 | |
10279 | 4542 | @pyqtSlot() |
10376 | 4543 | def __commentLine(self): |
4544 | """ | |
4545 | Private slot to comment the current line. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4546 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4547 | if self.lexer_ is None or not self.lexer_.canBlockComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4548 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4549 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4550 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4551 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4552 | if Preferences.getEditor("CommentColumn0"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4553 | self.insertAt(self.lexer_.commentStr(), line, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4554 | else: |
8239
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4555 | lineText = self.text(line) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4556 | pos = len(lineText.replace(lineText.lstrip(" \t"), "")) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4557 | self.insertAt(self.lexer_.commentStr(), line, pos) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4558 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4559 | |
10279 | 4560 | @pyqtSlot() |
10376 | 4561 | def __uncommentLine(self): |
4562 | """ | |
4563 | Private slot to uncomment the current line. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4564 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4565 | if self.lexer_ is None or not self.lexer_.canBlockComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4566 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4567 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4568 | commentStr = self.lexer_.commentStr() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4569 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4570 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4571 | # check if line starts with our comment string (i.e. was commented |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4572 | # by our comment...() slots |
2493
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4573 | if not self.__isCommentedLine(self.text(line), commentStr): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4574 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4575 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4576 | # now remove the comment string |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4577 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4578 | if Preferences.getEditor("CommentColumn0"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4579 | self.setSelection(line, 0, line, len(commentStr)) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4580 | else: |
8239
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4581 | lineText = self.text(line) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4582 | pos = len(lineText.replace(lineText.lstrip(" \t"), "")) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4583 | self.setSelection(line, pos, line, pos + len(commentStr)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4584 | self.removeSelectedText() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4585 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4586 | |
10279 | 4587 | @pyqtSlot() |
10376 | 4588 | def __commentSelection(self): |
4589 | """ | |
4590 | Private slot to comment the current selection. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4591 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4592 | if self.lexer_ is None or not self.lexer_.canBlockComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4593 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4594 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4595 | if not self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4596 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4597 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4598 | commentStr = self.lexer_.commentStr() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4599 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4600 | # get the selection boundaries |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4601 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
8235
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8231
diff
changeset
|
4602 | endLine = lineTo if indexTo else lineTo - 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4603 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4604 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4605 | # iterate over the lines |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4606 | for line in range(lineFrom, endLine + 1): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4607 | if Preferences.getEditor("CommentColumn0"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4608 | self.insertAt(commentStr, line, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4609 | else: |
8239
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4610 | lineText = self.text(line) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4611 | pos = len(lineText.replace(lineText.lstrip(" \t"), "")) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4612 | self.insertAt(commentStr, line, pos) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4613 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4614 | # change the selection accordingly |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4615 | self.setSelection(lineFrom, 0, endLine + 1, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4616 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4617 | |
10279 | 4618 | @pyqtSlot() |
10376 | 4619 | def __uncommentSelection(self): |
4620 | """ | |
4621 | Private slot to uncomment the current selection. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4622 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4623 | if self.lexer_ is None or not self.lexer_.canBlockComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4624 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4625 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4626 | if not self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4627 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4628 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4629 | commentStr = self.lexer_.commentStr() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4630 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4631 | # get the selection boundaries |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4632 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
8235
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8231
diff
changeset
|
4633 | endLine = lineTo if indexTo else lineTo - 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4634 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4635 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4636 | # iterate over the lines |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
4637 | for line in range(lineFrom, endLine + 1): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4638 | # check if line starts with our comment string (i.e. was commented |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4639 | # by our comment...() slots |
2493
476f6016114d
Fixed an issue with the uncomment and toggle comment functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2490
diff
changeset
|
4640 | if not self.__isCommentedLine(self.text(line), commentStr): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4641 | continue |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4642 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4643 | if Preferences.getEditor("CommentColumn0"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4644 | self.setSelection(line, 0, line, len(commentStr)) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4645 | else: |
8239
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4646 | lineText = self.text(line) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4647 | pos = len(lineText.replace(lineText.lstrip(" \t"), "")) |
59a9a658618c
Editor: fixed an issue causing wrong comment character insertion when indentation was done with a tab character (\t).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
4648 | self.setSelection(line, pos, line, pos + len(commentStr)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4649 | self.removeSelectedText() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4650 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4651 | # adjust selection start |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4652 | if line == lineFrom: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4653 | indexFrom -= len(commentStr) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4654 | if indexFrom < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4655 | indexFrom = 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4656 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4657 | # adjust selection end |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4658 | if line == lineTo: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4659 | indexTo -= len(commentStr) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4660 | if indexTo < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4661 | indexTo = 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4662 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4663 | # change the selection accordingly |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4664 | self.setSelection(lineFrom, indexFrom, lineTo, indexTo) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4665 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4666 | |
10279 | 4667 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4668 | def commentLineOrSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4669 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4670 | Public slot to comment the current line or current selection. |
10376 | 4671 | |
4672 | If the lexer supports a block comment, that is used for commenting. | |
4673 | Otherwise a stream comment is used if that is supported. If none of | |
4674 | these are supported, the request is ignored silently. | |
4675 | """ | |
4676 | if self.lexer_ is not None: | |
4677 | if self.lexer_.canBlockComment(): | |
4678 | if self.hasSelectedText(): | |
4679 | self.__commentSelection() | |
4680 | else: | |
4681 | self.__commentLine() | |
4682 | elif self.lexer_.canStreamComment(): | |
4683 | # delegate to the stream comment method | |
4684 | self.streamCommentLineOrSelection() | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4685 | |
10279 | 4686 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4687 | def uncommentLineOrSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4688 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4689 | Public slot to uncomment the current line or current selection. |
10376 | 4690 | |
4691 | If the lexer supports a block comment, that is used for uncommenting. | |
4692 | Otherwise a stream comment is used if that is supported. If none of | |
4693 | these are supported, the request is ignored silently. | |
4694 | """ | |
4695 | if self.lexer_ is not None: | |
4696 | if self.lexer_.canBlockComment(): | |
4697 | if self.hasSelectedText(): | |
4698 | self.__uncommentSelection() | |
4699 | else: | |
4700 | self.__uncommentLine() | |
4701 | elif self.lexer_.canStreamComment(): | |
4702 | # delegate to the stream uncomment method | |
4703 | self.streamUncommentLineOrSelection() | |
4704 | ||
4705 | def __isStreamCommentedLine(self, line, streamCommentStr): | |
4706 | """ | |
4707 | Private method to check, if the line is commented by a stream comment. | |
4708 | ||
4709 | @param line text of the line to check | |
4710 | @type str | |
4711 | @param streamCommentStr dictionary containing the stream comment start and | |
4712 | end strings | |
4713 | @type dict | |
4714 | @return flag indicating a stream commented line | |
4715 | @rtype bool | |
4716 | """ | |
4717 | line = line.strip() | |
4718 | return line.startswith(streamCommentStr["start"]) and line.endswith( | |
4719 | streamCommentStr["end"] | |
4720 | ) | |
4721 | ||
4722 | @pyqtSlot() | |
4723 | def __toggleStreamComment(self): | |
4724 | """ | |
4725 | Private slot to toggle the comment of a block. | |
4726 | ||
4727 | If the editor contains selected text and the start line is not commented, it | |
4728 | will be commented. Otherwise the selection will be un-commented. In case there | |
4729 | is no selected text and the current line is not commented, it will be commented. | |
4730 | If is commented, the comment block will be removed. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4731 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4732 | if self.lexer_ is None or not self.lexer_.canStreamComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4733 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4734 | |
10376 | 4735 | streamCommentStr = self.lexer_.streamCommentStr() |
4736 | line, index = self.getCursorPosition() | |
4737 | ||
4738 | if self.hasSelectedText(): | |
4739 | # Check if the selection starts with a stream comment string. | |
4740 | if self.text(self.getSelection()[0]).startswith(streamCommentStr["start"]): | |
4741 | self.streamUncommentLineOrSelection() | |
4742 | else: | |
4743 | self.streamCommentLineOrSelection() | |
4744 | elif self.__isStreamCommentedLine(self.text(line), streamCommentStr): | |
4745 | # It is a stream commented line. | |
4746 | self.streamUncommentLineOrSelection() | |
4747 | elif self.text(line).lstrip(" \t").startswith(streamCommentStr["start"]): | |
4748 | # The cursor is at the first line of a stream comment. | |
4749 | pos = len(self.text(line).replace(self.text(line).lstrip(" \t"), "")) | |
4750 | endline = line | |
4751 | lines = self.lines() | |
4752 | while endline < lines and not self.text(endline).rstrip().endswith( | |
4753 | streamCommentStr["end"] | |
4754 | ): | |
4755 | endline += 1 | |
4756 | ||
4757 | # Uncomment the determined block and reset the cursor position | |
4758 | self.setSelection(line, pos, endline, self.lineLength(endline)) | |
4759 | self.uncommentLineOrSelection() | |
4760 | self.setCursorPosition(line, index - len(streamCommentStr["start"])) | |
4761 | elif self.text(line).rstrip().endswith(streamCommentStr["end"]): | |
4762 | # The cursor is at the last line of a stream comment. | |
4763 | begline = line | |
4764 | while begline > 0 and not self.text(begline).lstrip(" \t").startswith( | |
4765 | streamCommentStr["start"] | |
4766 | ): | |
4767 | begline -= 1 | |
4768 | pos = len(self.text(begline).replace(self.text(begline).lstrip(" \t"), "")) | |
4769 | ||
4770 | # Uncomment the determined block and reset the cursor position | |
4771 | self.setSelection(begline, pos, line, self.lineLength(line)) | |
4772 | self.uncommentLineOrSelection() | |
4773 | self.setCursorPosition( | |
4774 | line, min(index, self.lineLength(line) - len(self.getLineSeparator())) | |
4775 | ) | |
4776 | else: | |
4777 | # No selected text and the current line does not start with a stream comment | |
4778 | # string, so comment the line. | |
4779 | self.streamCommentLineOrSelection() | |
4780 | ||
4781 | @pyqtSlot() | |
4782 | def __streamCommentLine(self): | |
4783 | """ | |
4784 | Private slot to stream comment the current line. | |
4785 | """ | |
4786 | if self.lexer_ is None or not self.lexer_.canStreamComment(): | |
4787 | return | |
4788 | ||
4789 | streamCommentStr = self.lexer_.streamCommentStr() | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4790 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4791 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4792 | self.beginUndoAction() |
10376 | 4793 | self.insertAt( |
4794 | streamCommentStr["end"], | |
4795 | line, | |
4796 | self.lineLength(line) - len(self.getLineSeparator()), | |
4797 | ) | |
4798 | self.insertAt(streamCommentStr["start"], line, 0) | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4799 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4800 | |
10279 | 4801 | @pyqtSlot() |
10376 | 4802 | def __streamCommentSelection(self): |
4803 | """ | |
4804 | Private slot to comment the current selection. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4805 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4806 | if self.lexer_ is None or not self.lexer_.canStreamComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4807 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4808 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4809 | if not self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4810 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4811 | |
10376 | 4812 | streamCommentStr = self.lexer_.streamCommentStr() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4813 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4814 | # get the selection boundaries |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4815 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4816 | if indexTo == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4817 | endLine = lineTo - 1 |
10376 | 4818 | endIndex = self.lineLength(endLine) - len(self.getLineSeparator()) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4819 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4820 | endLine = lineTo |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4821 | endIndex = indexTo |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4822 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4823 | self.beginUndoAction() |
10376 | 4824 | self.insertAt(streamCommentStr["end"], endLine, endIndex) |
4825 | self.insertAt(streamCommentStr["start"], lineFrom, indexFrom) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4826 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4827 | # change the selection accordingly |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4828 | if indexTo > 0: |
10376 | 4829 | indexTo += len(streamCommentStr["end"]) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4830 | if lineFrom == endLine: |
10376 | 4831 | indexTo += len(streamCommentStr["start"]) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4832 | self.setSelection(lineFrom, indexFrom, lineTo, indexTo) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4833 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4834 | |
10279 | 4835 | @pyqtSlot() |
10376 | 4836 | def __streamUncommentLine(self): |
4837 | """ | |
4838 | Private slot to stream uncomment the current line. | |
4839 | """ | |
4840 | if self.lexer_ is None or not self.lexer_.canStreamComment(): | |
4841 | return | |
4842 | ||
4843 | streamCommentStr = self.lexer_.streamCommentStr() | |
4844 | line, index = self.getCursorPosition() | |
4845 | ||
4846 | # check if line starts and ends with the stream comment strings | |
4847 | if not self.__isStreamCommentedLine(self.text(line), streamCommentStr): | |
4848 | return | |
4849 | ||
4850 | self.beginUndoAction() | |
4851 | # 1. remove comment end string | |
4852 | self.setSelection( | |
4853 | line, | |
4854 | self.lineLength(line) | |
4855 | - len(self.getLineSeparator()) | |
4856 | - len(streamCommentStr["end"]), | |
4857 | line, | |
4858 | self.lineLength(line) - len(self.getLineSeparator()), | |
4859 | ) | |
4860 | self.removeSelectedText() | |
4861 | ||
4862 | # 2. remove comment start string | |
4863 | lineText = self.text(line) | |
4864 | pos = len(lineText.replace(lineText.lstrip(" \t"), "")) | |
4865 | self.setSelection(line, pos, line, pos + len(streamCommentStr["start"])) | |
4866 | self.removeSelectedText() | |
4867 | self.endUndoAction() | |
4868 | ||
4869 | @pyqtSlot() | |
4870 | def __streamUncommentSelection(self): | |
4871 | """ | |
4872 | Private slot to stream uncomment the current selection. | |
4873 | """ | |
4874 | if self.lexer_ is None or not self.lexer_.canStreamComment(): | |
4875 | return | |
4876 | ||
4877 | if not self.hasSelectedText(): | |
4878 | return | |
4879 | ||
4880 | streamCommentStr = self.lexer_.streamCommentStr() | |
4881 | ||
4882 | # get the selection boundaries | |
4883 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() | |
4884 | if indexTo == 0: | |
4885 | endLine = lineTo - 1 | |
4886 | endIndex = self.lineLength(endLine) - len(self.getLineSeparator()) | |
4887 | else: | |
4888 | endLine = lineTo | |
4889 | endIndex = indexTo | |
4890 | ||
4891 | self.beginUndoAction() | |
4892 | self.setSelection(lineFrom, indexFrom, endLine, endIndex) | |
4893 | selTxt = self.selectedText() | |
4894 | if selTxt.endswith(streamCommentStr["end"]): | |
4895 | self.setSelection( | |
4896 | endLine, endIndex - len(streamCommentStr["end"]), endLine, endIndex | |
4897 | ) | |
4898 | self.removeSelectedText() | |
4899 | ||
4900 | # modify selection end accordingly | |
4901 | if indexTo > 0: | |
4902 | indexTo -= len(streamCommentStr["end"]) | |
4903 | if selTxt.startswith(streamCommentStr["start"]): | |
4904 | self.setSelection( | |
4905 | lineFrom, | |
4906 | indexFrom, | |
4907 | lineFrom, | |
4908 | indexFrom + len(streamCommentStr["start"]), | |
4909 | ) | |
4910 | self.removeSelectedText() | |
4911 | ||
4912 | # modify selection end accordingly | |
4913 | if lineFrom == lineTo and indexTo > 0: | |
4914 | indexTo -= len(streamCommentStr["start"]) | |
4915 | self.endUndoAction() | |
4916 | ||
4917 | # now set the new selection | |
4918 | self.setSelection(lineFrom, indexFrom, lineTo, indexTo) | |
4919 | ||
4920 | @pyqtSlot() | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4921 | def streamCommentLineOrSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4922 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4923 | Public slot to stream comment the current line or current selection. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4924 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4925 | if self.hasSelectedText(): |
10376 | 4926 | self.__streamCommentSelection() |
4927 | else: | |
4928 | self.__streamCommentLine() | |
4929 | ||
4930 | @pyqtSlot() | |
4931 | def streamUncommentLineOrSelection(self): | |
4932 | """ | |
4933 | Public slot to stream uncomment the current line or current selection. | |
4934 | """ | |
4935 | if self.hasSelectedText(): | |
4936 | self.__streamUncommentSelection() | |
4937 | else: | |
4938 | self.__streamUncommentLine() | |
4939 | ||
4940 | @pyqtSlot() | |
4941 | def __boxCommentLine(self): | |
4942 | """ | |
4943 | Private slot to box comment the current line. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4944 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4945 | if self.lexer_ is None or not self.lexer_.canBoxComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4946 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4947 | |
10376 | 4948 | boxCommentStr = self.lexer_.boxCommentStr() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4949 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4950 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4951 | eol = self.getLineSeparator() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4952 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4953 | self.insertAt(eol, line, self.lineLength(line)) |
10376 | 4954 | self.insertAt(boxCommentStr["end"], line + 1, 0) |
4955 | self.insertAt(boxCommentStr["middle"], line, 0) | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4956 | self.insertAt(eol, line, 0) |
10376 | 4957 | self.insertAt(boxCommentStr["start"], line, 0) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4958 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4959 | |
10279 | 4960 | @pyqtSlot() |
10376 | 4961 | def __boxCommentSelection(self): |
4962 | """ | |
4963 | Private slot to box comment the current selection. | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4964 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4965 | if self.lexer_ is None or not self.lexer_.canBoxComment(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4966 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4967 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4968 | if not self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4969 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4970 | |
10376 | 4971 | boxCommentStr = self.lexer_.boxCommentStr() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4972 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4973 | # get the selection boundaries |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4974 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
8235
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8231
diff
changeset
|
4975 | endLine = lineTo if indexTo else lineTo - 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4976 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4977 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4978 | # iterate over the lines |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4979 | for line in range(lineFrom, endLine + 1): |
10376 | 4980 | self.insertAt(boxCommentStr["middle"], line, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4981 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4982 | # now do the comments before and after the selection |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4983 | eol = self.getLineSeparator() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4984 | self.insertAt(eol, endLine, self.lineLength(endLine)) |
10376 | 4985 | self.insertAt(boxCommentStr["end"], endLine + 1, 0) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4986 | self.insertAt(eol, lineFrom, 0) |
10376 | 4987 | self.insertAt(boxCommentStr["start"], lineFrom, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4988 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4989 | # change the selection accordingly |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4990 | self.setSelection(lineFrom, 0, endLine + 3, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4991 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
4992 | |
10279 | 4993 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4994 | def boxCommentLineOrSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4995 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4996 | Public slot to box comment the current line or current selection. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4997 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
4998 | if self.hasSelectedText(): |
10376 | 4999 | self.__boxCommentSelection() |
5000 | else: | |
5001 | self.__boxCommentLine() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5002 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5003 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5004 | ## Indentation handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5005 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5006 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5007 | def __indentLine(self, indent=True): |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5008 | """ |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5009 | Private method to indent or unindent the current line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5010 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5011 | @param indent flag indicating an indent operation |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5012 | <br />If the flag is true, an indent operation is performed. |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5013 | Otherwise the current line is unindented. |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5014 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5015 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5016 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5017 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5018 | if indent: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5019 | self.indent(line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5020 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5021 | self.unindent(line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5022 | self.endUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5023 | if indent: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5024 | self.setCursorPosition(line, index + self.indentationWidth()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5025 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5026 | self.setCursorPosition(line, index - self.indentationWidth()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5027 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5028 | def __indentSelection(self, indent=True): |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5029 | """ |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5030 | Private method to indent or unindent the current selection. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5031 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5032 | @param indent flag indicating an indent operation |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5033 | <br />If the flag is true, an indent operation is performed. |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5034 | Otherwise the current line is unindented. |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5035 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5036 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5037 | if not self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5038 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5039 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5040 | # get the selection |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5041 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
8235
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8231
diff
changeset
|
5042 | endLine = lineTo if indexTo else lineTo - 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5043 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5044 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5045 | # iterate over the lines |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5046 | for line in range(lineFrom, endLine + 1): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5047 | if indent: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5048 | self.indent(line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5049 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5050 | self.unindent(line) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5051 | self.endUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5052 | if indent: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5053 | if indexTo == 0: |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5054 | self.setSelection( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5055 | lineFrom, indexFrom + self.indentationWidth(), lineTo, 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5056 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5057 | else: |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5058 | self.setSelection( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5059 | lineFrom, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5060 | indexFrom + self.indentationWidth(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5061 | lineTo, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5062 | indexTo + self.indentationWidth(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5063 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5064 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5065 | indexStart = indexFrom - self.indentationWidth() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5066 | if indexStart < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5067 | indexStart = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5068 | indexEnd = indexTo - self.indentationWidth() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5069 | if indexEnd < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5070 | indexEnd = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5071 | self.setSelection(lineFrom, indexStart, lineTo, indexEnd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5072 | |
10279 | 5073 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5074 | def indentLineOrSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5075 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
5076 | Public slot to indent the current line or current selection. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5077 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5078 | if self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5079 | self.__indentSelection(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5080 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5081 | self.__indentLine(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5082 | |
10279 | 5083 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5084 | def unindentLineOrSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5085 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5086 | Public slot to unindent the current line or current selection. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5087 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5088 | if self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5089 | self.__indentSelection(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5090 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5091 | self.__indentLine(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5092 | |
10279 | 5093 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5094 | def smartIndentLineOrSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5095 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5096 | Public slot to indent current line smartly. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5097 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5098 | if self.hasSelectedText(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5099 | if self.lexer_ and self.lexer_.hasSmartIndent(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5100 | self.lexer_.smartIndentSelection(self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5101 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5102 | self.__indentSelection(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5103 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5104 | if self.lexer_ and self.lexer_.hasSmartIndent(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5105 | self.lexer_.smartIndentLine(self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5106 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5107 | self.__indentLine(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5108 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5109 | def gotoLine(self, line, pos=1, firstVisible=False, expand=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5110 | """ |
10279 | 5111 | Public method to jump to the beginning of a line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5112 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5113 | @param line line number to go to |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5114 | @type int |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
5115 | @param pos position in line to go to |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5116 | @type int |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
5117 | @param firstVisible flag indicating to make the line the first |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5118 | visible line |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5119 | @type bool |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
5120 | @param expand flag indicating to expand all folds |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5121 | @type bool |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
5122 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
5123 | self.setCursorPosition(line - 1, pos - 1) |
1897
4c89af5a756f
Little improvement to the editor assembly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1831
diff
changeset
|
5124 | if firstVisible: |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5125 | self.ensureVisibleTop(line, expand) |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5126 | else: |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
5127 | self.ensureVisible(line, expand) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5128 | |
10279 | 5129 | @pyqtSlot() |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5130 | def __textChanged(self): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5131 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5132 | Private slot to handle a change of the editor text. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5133 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5134 | This slot defers the handling to the next time the event loop |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5135 | is run in order to ensure, that cursor position has been updated |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5136 | by the underlying Scintilla editor. |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5137 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5138 | QTimer.singleShot(0, self.__saveLastEditPosition) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5139 | |
10279 | 5140 | @pyqtSlot() |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5141 | def __saveLastEditPosition(self): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5142 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5143 | Private slot to record the last edit position. |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5144 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5145 | self.__lastEditPosition = self.getCursorPosition() |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5146 | self.lastEditPositionAvailable.emit() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5147 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5148 | def isLastEditPositionAvailable(self): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5149 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5150 | Public method to check, if a last edit position is available. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5151 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5152 | @return flag indicating availability |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5153 | @rtype bool |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5154 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5155 | return self.__lastEditPosition is not None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5156 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5157 | def gotoLastEditPosition(self): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5158 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5159 | Public method to move the cursor to the last edit position. |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5160 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5161 | self.setCursorPosition(*self.__lastEditPosition) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5162 | self.ensureVisible(self.__lastEditPosition[0]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5163 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5164 | def gotoMethodClass(self, goUp=False): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5165 | """ |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5166 | Public method to go to the next Python method or class definition. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5167 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5168 | @param goUp flag indicating the move direction |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5169 | @type bool |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5170 | """ |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
5171 | if self.isPyFile() or self.isRubyFile(): |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5172 | lineNo = self.getCursorPosition()[0] |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5173 | line = self.text(lineNo) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5174 | if line.strip().startswith(("class ", "def ", "module ")): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5175 | if goUp: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5176 | lineNo -= 1 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5177 | else: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5178 | lineNo += 1 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5179 | while True: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5180 | if goUp and lineNo < 0: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5181 | self.setCursorPosition(0, 0) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5182 | self.ensureVisible(0) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5183 | return |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5184 | elif not goUp and lineNo == self.lines(): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5185 | lineNo = self.lines() - 1 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5186 | self.setCursorPosition(lineNo, self.lineLength(lineNo)) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5187 | self.ensureVisible(lineNo) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5188 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5189 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5190 | line = self.text(lineNo) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5191 | if line.strip().startswith(("class ", "def ", "module ")): |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5192 | # try 'def ' first because it occurs more often |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5193 | first = line.find("def ") |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5194 | if first > -1: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5195 | first += 4 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5196 | else: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5197 | first = line.find("class ") |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5198 | if first > -1: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5199 | first += 6 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5200 | else: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5201 | first = line.find("module ") + 7 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5202 | match = re.search("[:(]", line) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5203 | if match: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5204 | end = match.start() |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5205 | else: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5206 | end = self.lineLength(lineNo) - 1 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5207 | self.setSelection(lineNo, first, lineNo, end) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5208 | self.ensureVisible(lineNo) |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5209 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5210 | |
1169
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5211 | if goUp: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5212 | lineNo -= 1 |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5213 | else: |
36a3bb21e6e6
Added editor actions to go to the last edit location and to the previous or next Python or Ruby class or method definition.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
5214 | lineNo += 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5215 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5216 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5217 | ## Setup methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5218 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5219 | |
10279 | 5220 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5221 | def readSettings(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5222 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5223 | Public slot to read the settings into our lexer. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5224 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5225 | # read the lexer settings and reinit the properties |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5226 | if self.lexer_ is not None: |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8607
diff
changeset
|
5227 | self.lexer_.readSettings(Preferences.getSettings(), "Scintilla") |
6858
9d962e654978
Corrected the SubstyledLexer.hasSubStyle() method to SubstyledLexer.hasSubstyle() to be consistent.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
5228 | if self.lexer_.hasSubstyles(): |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6843
diff
changeset
|
5229 | self.lexer_.readSubstyles(self) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5230 | self.lexer_.initProperties() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5231 | |
1566
0cb791cc631a
Fixed the issue where a non matching background was shown in the editor for lines below the end of the text, if a lexer with a non-standard background was set.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1518
diff
changeset
|
5232 | self.lexer_.setDefaultColor(self.lexer_.color(0)) |
0cb791cc631a
Fixed the issue where a non matching background was shown in the editor for lines below the end of the text, if a lexer with a non-standard background was set.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1518
diff
changeset
|
5233 | self.lexer_.setDefaultPaper(self.lexer_.paper(0)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5234 | |
4227
8a39c8b968f4
Fixed an issue with the API auto-prepare function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4201
diff
changeset
|
5235 | self.__bindLexer(self.fileName) |
8a39c8b968f4
Fixed an issue with the API auto-prepare function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4201
diff
changeset
|
5236 | self.recolor() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5237 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5238 | # read the typing completer settings |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5239 | if self.completer is not None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5240 | self.completer.readSettings() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5241 | |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5242 | # set the line marker colours or pixmap |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5243 | if Preferences.getEditor("LineMarkersBackground"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5244 | self.markerDefine(QsciScintilla.MarkerSymbol.Background, self.currentline) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5245 | self.markerDefine(QsciScintilla.MarkerSymbol.Background, self.errorline) |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5246 | self.__setLineMarkerColours() |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5247 | else: |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5248 | self.markerDefine( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
5249 | EricPixmapCache.getPixmap("currentLineMarker"), self.currentline |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5250 | ) |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5251 | self.markerDefine( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
5252 | EricPixmapCache.getPixmap("errorLineMarker"), self.errorline |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5253 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5254 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5255 | # set the text display |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5256 | self.__setTextDisplay() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5257 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5258 | # set margin 0 and 2 configuration |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5259 | self.__setMarginsDisplay() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5260 | |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5261 | # set the auto-completion function |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5262 | self.__acCache.setSize(Preferences.getEditor("AutoCompletionCacheSize")) |
5909
21d90a3abc7c
Added a timeout configuration value to the completions cache after which completions will be removed from the cache.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5907
diff
changeset
|
5263 | self.__acCache.setMaximumCacheTime( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5264 | Preferences.getEditor("AutoCompletionCacheTime") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5265 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5266 | self.__acCacheEnabled = Preferences.getEditor("AutoCompletionCacheEnabled") |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5267 | acTimeout = Preferences.getEditor("AutoCompletionTimeout") |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5268 | if acTimeout != self.__acTimer.interval: |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5269 | self.__acTimer.setInterval(acTimeout) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5270 | self.__setAutoCompletion() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5271 | |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5272 | # set the calltips function |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5273 | self.__setCallTips() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5274 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5275 | # set the autosave flags |
10307 | 5276 | self.__autosaveInterval = Preferences.getEditor("AutosaveIntervalSeconds") |
5277 | if self.__autosaveInterval == 0: | |
5278 | self.__autosaveTimer.stop() | |
5279 | else: | |
5280 | if self.isModified(): | |
5281 | self.__autosaveTimer.start(self.__autosaveInterval * 1000) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5282 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5283 | if Preferences.getEditor("MiniContextMenu") != self.miniMenu: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5284 | # regenerate context menu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5285 | self.__initContextMenu() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5286 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5287 | # set checked context menu items |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
5288 | self.menuActs["AutoCompletionEnable"].setChecked( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5289 | self.autoCompletionThreshold() != -1 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5290 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5291 | self.menuActs["MonospacedFont"].setChecked(self.useMonospaced) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
5292 | self.menuActs["AutosaveEnable"].setChecked( |
10307 | 5293 | self.__autosaveInterval > 0 and not self.__autosaveManuallyDisabled |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5294 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5295 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5296 | # regenerate the margins context menu(s) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5297 | self.__initContextMenuMargins() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5298 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5299 | if Preferences.getEditor("MarkOccurrencesEnabled"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5300 | self.__markOccurrencesTimer.setInterval( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5301 | Preferences.getEditor("MarkOccurrencesTimeout") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5302 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5303 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5304 | self.__markOccurrencesTimer.stop() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5305 | self.clearSearchIndicators() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5306 | |
1353
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
5307 | if Preferences.getEditor("OnlineSyntaxCheck"): |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
5308 | self.__onlineSyntaxCheckTimer.setInterval( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5309 | Preferences.getEditor("OnlineSyntaxCheckInterval") * 1000 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5310 | ) |
1353
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
5311 | else: |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
5312 | self.__onlineSyntaxCheckTimer.stop() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5313 | |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
5314 | if Preferences.getEditor("OnlineChangeTrace"): |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
5315 | self.__onlineChangeTraceTimer.setInterval( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5316 | Preferences.getEditor("OnlineChangeTraceInterval") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5317 | ) |
2162
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
5318 | else: |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
5319 | self.__onlineChangeTraceTimer.stop() |
4627e6ea7b6b
Added capability to mark changed lines and to navigate between them to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2084
diff
changeset
|
5320 | self.__deleteAllChangeMarkers() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5321 | self.markerDefine( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5322 | self.__createChangeMarkerPixmap("OnlineChangeTraceMarkerUnsaved"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5323 | self.__changeMarkerUnsaved, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5324 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5325 | self.markerDefine( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5326 | self.__createChangeMarkerPixmap("OnlineChangeTraceMarkerSaved"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5327 | self.__changeMarkerSaved, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5328 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5329 | |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
5330 | # refresh the annotations display |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
5331 | self.__refreshAnnotations() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5332 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5333 | self.__markerMap.setMapPosition(Preferences.getEditor("ShowMarkerMapOnRight")) |
3341
7c015811fc4d
Finished implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3329
diff
changeset
|
5334 | self.__markerMap.initColors() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5335 | |
8471
e1f001ffdce4
Editor: fixed an issue causing in endless loop when a split editor was shown and editor settings (or any other) was changed. Should fix issue397 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8441
diff
changeset
|
5336 | self.setLanguage(self.fileName, propagate=False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5337 | |
5416
16366120b523
Added an option to hide the format buttons bar, if formatting is not supported for the editor text type (only supported for HTML, Markdown and reStructured Text).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
5338 | self.settingsRead.emit() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5339 | |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5340 | def __setLineMarkerColours(self): |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5341 | """ |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5342 | Private method to set the line marker colours. |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5343 | """ |
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5344 | self.setMarkerForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5345 | Preferences.getEditorColour("CurrentMarker"), self.currentline |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5346 | ) |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5347 | self.setMarkerBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5348 | Preferences.getEditorColour("CurrentMarker"), self.currentline |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5349 | ) |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5350 | self.setMarkerForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5351 | Preferences.getEditorColour("ErrorMarker"), self.errorline |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5352 | ) |
5733
aed3e558407f
Reintroduced the highlighting of current instruction line and the error line using colored background. It is configurable whether to use these backgrounds or the arrows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5706
diff
changeset
|
5353 | self.setMarkerBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5354 | Preferences.getEditorColour("ErrorMarker"), self.errorline |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5355 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5356 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5357 | def __setMarginsDisplay(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5358 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5359 | Private method to configure margins 0 and 2. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5360 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5361 | # set the settings for all margins |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5362 | self.setMarginsFont(Preferences.getEditorOtherFonts("MarginsFont")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5363 | self.setMarginsForegroundColor(Preferences.getEditorColour("MarginsForeground")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5364 | self.setMarginsBackgroundColor(Preferences.getEditorColour("MarginsBackground")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5365 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5366 | # reset standard margins settings |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5367 | for margin in range(5): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5368 | self.setMarginLineNumbers(margin, False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5369 | self.setMarginMarkerMask(margin, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5370 | self.setMarginWidth(margin, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5371 | self.setMarginSensitivity(margin, False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5372 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5373 | # set marker margin(s) settings |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5374 | self.__bmMargin = 0 |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5375 | self.__linenoMargin = 1 |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5376 | self.__bpMargin = 2 |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5377 | self.__foldMargin = 3 |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5378 | self.__indicMargin = 4 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5379 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5380 | marginBmMask = 1 << self.bookmark |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5381 | self.setMarginWidth(self.__bmMargin, 16) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5382 | self.setMarginSensitivity(self.__bmMargin, True) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5383 | self.setMarginMarkerMask(self.__bmMargin, marginBmMask) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5384 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5385 | marginBpMask = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5386 | (1 << self.breakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5387 | | (1 << self.cbreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5388 | | (1 << self.tbreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5389 | | (1 << self.tcbreakpoint) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5390 | | (1 << self.dbreakpoint) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5391 | ) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5392 | self.setMarginWidth(self.__bpMargin, 16) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5393 | self.setMarginSensitivity(self.__bpMargin, True) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5394 | self.setMarginMarkerMask(self.__bpMargin, marginBpMask) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5395 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5396 | marginIndicMask = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5397 | (1 << self.syntaxerror) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5398 | | (1 << self.notcovered) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5399 | | (1 << self.taskmarker) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5400 | | (1 << self.warning) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5401 | | (1 << self.__changeMarkerUnsaved) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5402 | | (1 << self.__changeMarkerSaved) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5403 | | (1 << self.currentline) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5404 | | (1 << self.errorline) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5405 | ) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5406 | self.setMarginWidth(self.__indicMargin, 16) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5407 | self.setMarginSensitivity(self.__indicMargin, True) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
5408 | self.setMarginMarkerMask(self.__indicMargin, marginIndicMask) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5409 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5410 | # set linenumber margin settings |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5411 | linenoMargin = Preferences.getEditor("LinenoMargin") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5412 | self.setMarginLineNumbers(self.__linenoMargin, linenoMargin) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5413 | if linenoMargin: |
2640
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2632
diff
changeset
|
5414 | self.__resizeLinenoMargin() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5415 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5416 | self.setMarginWidth(self.__linenoMargin, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5417 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5418 | # set folding margin settings |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5419 | if Preferences.getEditor("FoldingMargin"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5420 | self.setMarginWidth(self.__foldMargin, 16) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5421 | folding = Preferences.getEditor("FoldingStyle") |
342
360c4eb76d6c
Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
5422 | self.setFolding(folding, self.__foldMargin) |
360c4eb76d6c
Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
5423 | self.setFoldMarginColors( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5424 | Preferences.getEditorColour("FoldmarginBackground"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5425 | Preferences.getEditorColour("FoldmarginBackground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5426 | ) |
342
360c4eb76d6c
Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
5427 | self.setFoldMarkersColors( |
360c4eb76d6c
Added capability to configure the colors of the foldmarkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
5428 | Preferences.getEditorColour("FoldMarkersForeground"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5429 | Preferences.getEditorColour("FoldMarkersBackground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5430 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5431 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5432 | self.setMarginWidth(self.__foldMargin, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5433 | self.setFolding( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5434 | QsciScintilla.FoldStyle.NoFoldStyle.value, self.__foldMargin |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5435 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5436 | |
10279 | 5437 | @pyqtSlot() |
2640
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2632
diff
changeset
|
5438 | def __resizeLinenoMargin(self): |
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2632
diff
changeset
|
5439 | """ |
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2632
diff
changeset
|
5440 | Private slot to resize the line numbers margin. |
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2632
diff
changeset
|
5441 | """ |
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2632
diff
changeset
|
5442 | linenoMargin = Preferences.getEditor("LinenoMargin") |
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2632
diff
changeset
|
5443 | if linenoMargin: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5444 | self.setMarginWidth(self.__linenoMargin, "8" * (len(str(self.lines())) + 1)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5445 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5446 | def __setTabAndIndent(self): |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5447 | """ |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5448 | Private method to set indentation size and style and tab width. |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5449 | """ |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5450 | self.setTabWidth(self.__getEditorConfig("TabWidth")) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5451 | self.setIndentationWidth(self.__getEditorConfig("IndentWidth")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5452 | if self.lexer_ and self.lexer_.alwaysKeepTabs(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5453 | self.setIndentationsUseTabs(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5454 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5455 | self.setIndentationsUseTabs(self.__getEditorConfig("TabForIndentation")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5456 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5457 | def __setTextDisplay(self): |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5458 | """ |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5459 | Private method to configure the text display. |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5460 | """ |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5461 | self.__setTabAndIndent() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5462 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5463 | self.setTabIndents(Preferences.getEditor("TabIndents")) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5464 | self.setBackspaceUnindents(Preferences.getEditor("TabIndents")) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5465 | self.setIndentationGuides(Preferences.getEditor("IndentationGuides")) |
4176
4c09d3d75768
Added capability to configure the indentation guides colors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4170
diff
changeset
|
5466 | self.setIndentationGuidesBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5467 | Preferences.getEditorColour("IndentationGuidesBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5468 | ) |
4176
4c09d3d75768
Added capability to configure the indentation guides colors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4170
diff
changeset
|
5469 | self.setIndentationGuidesForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5470 | Preferences.getEditorColour("IndentationGuidesForeground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5471 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5472 | if Preferences.getEditor("ShowWhitespace"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5473 | self.setWhitespaceVisibility(QsciScintilla.WhitespaceVisibility.WsVisible) |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
5474 | with contextlib.suppress(AttributeError): |
939
10d3a201cd27
Added configuration options for visible whitespace (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
938
diff
changeset
|
5475 | self.setWhitespaceForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5476 | Preferences.getEditorColour("WhitespaceForeground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5477 | ) |
939
10d3a201cd27
Added configuration options for visible whitespace (as of QScintilla 2.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
938
diff
changeset
|
5478 | self.setWhitespaceBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5479 | Preferences.getEditorColour("WhitespaceBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5480 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5481 | self.setWhitespaceSize(Preferences.getEditor("WhitespaceSize")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5482 | else: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5483 | self.setWhitespaceVisibility(QsciScintilla.WhitespaceVisibility.WsInvisible) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5484 | self.setEolVisibility(Preferences.getEditor("ShowEOL")) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5485 | self.setAutoIndent(Preferences.getEditor("AutoIndentation")) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5486 | if Preferences.getEditor("BraceHighlighting"): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5487 | self.setBraceMatching(QsciScintilla.BraceMatch.SloppyBraceMatch) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5488 | else: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5489 | self.setBraceMatching(QsciScintilla.BraceMatch.NoBraceMatch) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5490 | self.setMatchedBraceForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5491 | Preferences.getEditorColour("MatchingBrace") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5492 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5493 | self.setMatchedBraceBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5494 | Preferences.getEditorColour("MatchingBraceBack") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5495 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5496 | self.setUnmatchedBraceForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5497 | Preferences.getEditorColour("NonmatchingBrace") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5498 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5499 | self.setUnmatchedBraceBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5500 | Preferences.getEditorColour("NonmatchingBraceBack") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5501 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5502 | if Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
5503 | self.setSelectionBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5504 | Preferences.getEditorColour("SelectionBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5505 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5506 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
5507 | self.setSelectionBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5508 | QApplication.palette().color(QPalette.ColorRole.Highlight) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5509 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5510 | if Preferences.getEditor("ColourizeSelText"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5511 | self.resetSelectionForegroundColor() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5512 | elif Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
5513 | self.setSelectionForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5514 | Preferences.getEditorColour("SelectionForeground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5515 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5516 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
5517 | self.setSelectionForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5518 | QApplication.palette().color(QPalette.ColorRole.HighlightedText) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5519 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5520 | self.setSelectionToEol(Preferences.getEditor("ExtendSelectionToEol")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5521 | self.setCaretForegroundColor(Preferences.getEditorColour("CaretForeground")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5522 | self.setCaretLineBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5523 | Preferences.getEditorColour("CaretLineBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5524 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5525 | self.setCaretLineVisible(Preferences.getEditor("CaretLineVisible")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5526 | self.setCaretLineAlwaysVisible(Preferences.getEditor("CaretLineAlwaysVisible")) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5527 | self.caretWidth = Preferences.getEditor("CaretWidth") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5528 | self.setCaretWidth(self.caretWidth) |
6843
5e1afd1577b9
Editor: added these capabilities
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6842
diff
changeset
|
5529 | self.caretLineFrameWidth = Preferences.getEditor("CaretLineFrameWidth") |
7746
12d5e1e6abd1
QScintilla: pushed required QScintilla version to 2.11.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7730
diff
changeset
|
5530 | self.setCaretLineFrameWidth(self.caretLineFrameWidth) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5531 | self.useMonospaced = Preferences.getEditor("UseMonospacedFont") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5532 | self.setMonospaced(self.useMonospaced) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5533 | edgeMode = Preferences.getEditor("EdgeMode") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5534 | edge = QsciScintilla.EdgeMode(edgeMode) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5535 | self.setEdgeMode(edge) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5536 | if edgeMode: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5537 | self.setEdgeColumn(Preferences.getEditor("EdgeColumn")) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5538 | self.setEdgeColor(Preferences.getEditorColour("Edge")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5539 | |
2262
2371836c3c45
Made some more adjustments for QScintilla 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2261
diff
changeset
|
5540 | wrapVisualFlag = Preferences.getEditor("WrapVisualFlag") |
2371836c3c45
Made some more adjustments for QScintilla 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2261
diff
changeset
|
5541 | self.setWrapMode(Preferences.getEditor("WrapLongLinesMode")) |
2371836c3c45
Made some more adjustments for QScintilla 2.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2261
diff
changeset
|
5542 | self.setWrapVisualFlags(wrapVisualFlag, wrapVisualFlag) |
6842
c83dcb7c6147
Editor, MiniEditor: added capability to configure the subline indentation for wrapped lines.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6809
diff
changeset
|
5543 | self.setWrapIndentMode(Preferences.getEditor("WrapIndentMode")) |
6843
5e1afd1577b9
Editor: added these capabilities
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6842
diff
changeset
|
5544 | self.setWrapStartIndent(Preferences.getEditor("WrapStartIndent")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5545 | |
230
2cde09c26384
Added code to configure the zoom factor a file is opened with.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
206
diff
changeset
|
5546 | self.zoomTo(Preferences.getEditor("ZoomFactor")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5547 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5548 | self.searchIndicator = QsciScintilla.INDIC_CONTAINER |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
5549 | self.indicatorDefine( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5550 | self.searchIndicator, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5551 | QsciScintilla.INDIC_BOX, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5552 | Preferences.getEditorColour("SearchMarkers"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5553 | ) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5554 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5555 | not Preferences.getEditor("SearchMarkersEnabled") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5556 | and not Preferences.getEditor("QuickSearchMarkersEnabled") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5557 | and not Preferences.getEditor("MarkOccurrencesEnabled") |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5558 | ): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5559 | self.clearAllIndicators(self.searchIndicator) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5560 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5561 | self.spellingIndicator = QsciScintilla.INDIC_CONTAINER + 1 |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5562 | self.indicatorDefine( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5563 | self.spellingIndicator, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5564 | QsciScintilla.INDIC_SQUIGGLE, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5565 | Preferences.getEditorColour("SpellingMarkers"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5566 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5567 | self.__setSpelling() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5568 | |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
5569 | self.highlightIndicator = QsciScintilla.INDIC_CONTAINER + 2 |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6930
diff
changeset
|
5570 | self.indicatorDefine( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5571 | self.highlightIndicator, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5572 | QsciScintilla.INDIC_FULLBOX, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5573 | Preferences.getEditorColour("HighlightMarker"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5574 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5575 | |
9938
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
5576 | self.searchSelectionIndicator = QsciScintilla.INDIC_CONTAINER + 3 |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
5577 | self.indicatorDefine( |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
5578 | self.searchSelectionIndicator, |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
5579 | QsciScintilla.INDIC_FULLBOX, |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
5580 | Preferences.getEditorColour("SearchSelectionMarker"), |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
5581 | ) |
b8005dd4fc9b
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9926
diff
changeset
|
5582 | |
404
44a541bea034
Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
342
diff
changeset
|
5583 | self.setCursorFlashTime(QApplication.cursorFlashTime()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5584 | |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
5585 | with contextlib.suppress(AttributeError): |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
5586 | if Preferences.getEditor("AnnotationsEnabled"): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5587 | self.setAnnotationDisplay( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5588 | QsciScintilla.AnnotationDisplay.AnnotationBoxed |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5589 | ) |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
5590 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5591 | self.setAnnotationDisplay( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5592 | QsciScintilla.AnnotationDisplay.AnnotationHidden |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5593 | ) |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
5594 | self.__setAnnotationStyles() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5595 | |
1566
0cb791cc631a
Fixed the issue where a non matching background was shown in the editor for lines below the end of the text, if a lexer with a non-standard background was set.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1518
diff
changeset
|
5596 | if Preferences.getEditor("OverrideEditAreaColours"): |
0cb791cc631a
Fixed the issue where a non matching background was shown in the editor for lines below the end of the text, if a lexer with a non-standard background was set.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1518
diff
changeset
|
5597 | self.setColor(Preferences.getEditorColour("EditAreaForeground")) |
0cb791cc631a
Fixed the issue where a non matching background was shown in the editor for lines below the end of the text, if a lexer with a non-standard background was set.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1518
diff
changeset
|
5598 | self.setPaper(Preferences.getEditorColour("EditAreaBackground")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5599 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5600 | self.setVirtualSpaceOptions(Preferences.getEditor("VirtualSpaceOptions")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5601 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
5602 | if Preferences.getEditor("MouseHoverHelp"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5603 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5604 | QsciScintilla.SCI_SETMOUSEDWELLTIME, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5605 | Preferences.getEditor("MouseHoverTimeout"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5606 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5607 | else: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5608 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5609 | QsciScintilla.SCI_SETMOUSEDWELLTIME, QsciScintilla.SC_TIME_FOREVER |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5610 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5611 | |
10257
904c71a0e37f
Modified some preferences default values to better reflect common user expectations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10244
diff
changeset
|
5612 | self.setRectangularSelectionModifier( |
904c71a0e37f
Modified some preferences default values to better reflect common user expectations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10244
diff
changeset
|
5613 | Preferences.getEditor("RectangularSelectionModifier") |
904c71a0e37f
Modified some preferences default values to better reflect common user expectations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10244
diff
changeset
|
5614 | ) |
904c71a0e37f
Modified some preferences default values to better reflect common user expectations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10244
diff
changeset
|
5615 | |
8165 | 5616 | # to avoid errors due to line endings by pasting |
5617 | self.SendScintilla(QsciScintilla.SCI_SETPASTECONVERTENDINGS, True) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5618 | |
10244 | 5619 | self.setPrintColorMode(Preferences.getEditor("PrintColorMode")) |
5620 | ||
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
5621 | self.__markerMap.setEnabled(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5622 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5623 | def __setEolMode(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5624 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5625 | Private method to configure the eol mode of the editor. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5626 | """ |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5627 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5628 | self.fileName |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5629 | and self.project.isOpen() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5630 | and self.project.isProjectFile(self.fileName) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5631 | ): |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5632 | eolMode = self.__getEditorConfig("EOLMode", nodefault=True) |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
5633 | if eolMode is None: |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5634 | eolStr = self.project.getEolString() |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5635 | self.setEolModeByEolString(eolStr) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5636 | else: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
5637 | self.setEolMode(eolMode) |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
5638 | else: |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
5639 | eolMode = self.__getEditorConfig("EOLMode") |
253
3ccdf551bde7
Changed code to improve development on multiple platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
252
diff
changeset
|
5640 | self.setEolMode(eolMode) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5641 | self.__eolChanged() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5642 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5643 | def __setAutoCompletion(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5644 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5645 | Private method to configure the autocompletion function. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5646 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5647 | if self.lexer_: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5648 | self.setAutoCompletionFillupsEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5649 | Preferences.getEditor("AutoCompletionFillups") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5650 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5651 | self.setAutoCompletionCaseSensitivity( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5652 | Preferences.getEditor("AutoCompletionCaseSensitivity") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5653 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5654 | self.setAutoCompletionReplaceWord( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5655 | Preferences.getEditor("AutoCompletionReplaceWord") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5656 | ) |
6306
af71f34a0cfb
Enable resizing of auto complete list box for also for QScintilla own completers.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6305
diff
changeset
|
5657 | self.setAutoCompletionThreshold(0) |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
5658 | if Preferences.getEditor("AutoCompletionShowSingle"): |
971
1243c600ba57
Added a compatibilitiy fix for QScintilla 2.5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
954
diff
changeset
|
5659 | self.setAutoCompletionUseSingle( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5660 | QsciScintilla.AutoCompletionUseSingle.AcusAlways |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5661 | ) |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
5662 | else: |
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
5663 | self.setAutoCompletionUseSingle( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5664 | QsciScintilla.AutoCompletionUseSingle.AcusNever |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5665 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5666 | autoCompletionSource = Preferences.getEditor("AutoCompletionSource") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5667 | if autoCompletionSource == QsciScintilla.AutoCompletionSource.AcsDocument: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5668 | self.setAutoCompletionSource(QsciScintilla.AutoCompletionSource.AcsDocument) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5669 | elif autoCompletionSource == QsciScintilla.AutoCompletionSource.AcsAPIs: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5670 | self.setAutoCompletionSource(QsciScintilla.AutoCompletionSource.AcsAPIs) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5671 | else: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5672 | self.setAutoCompletionSource(QsciScintilla.AutoCompletionSource.AcsAll) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5673 | |
8481
02865597d820
QsciScintillaCompat: fixed an issue causing completion lists to go off-screen.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8471
diff
changeset
|
5674 | self.setAutoCompletionWidgetSize( |
02865597d820
QsciScintillaCompat: fixed an issue causing completion lists to go off-screen.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8471
diff
changeset
|
5675 | Preferences.getEditor("AutoCompletionMaxChars"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5676 | Preferences.getEditor("AutoCompletionMaxLines"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5677 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5678 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5679 | def __setCallTips(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5680 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5681 | Private method to configure the calltips function. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5682 | """ |
4201
2a9316cb3fad
Fixed an issue causing wrong display of manually invoked calltips when auto-caltips were disabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4176
diff
changeset
|
5683 | self.setCallTipsBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5684 | Preferences.getEditorColour("CallTipsBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5685 | ) |
7536
861e46f99d65
Editor, Shell: added configuration option for the calltips foreground and highlight color.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
5686 | self.setCallTipsForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5687 | Preferences.getEditorColour("CallTipsForeground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5688 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5689 | self.setCallTipsHighlightColor(Preferences.getEditorColour("CallTipsHighlight")) |
4201
2a9316cb3fad
Fixed an issue causing wrong display of manually invoked calltips when auto-caltips were disabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4176
diff
changeset
|
5690 | self.setCallTipsVisible(Preferences.getEditor("CallTipsVisible")) |
2a9316cb3fad
Fixed an issue causing wrong display of manually invoked calltips when auto-caltips were disabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4176
diff
changeset
|
5691 | calltipsStyle = Preferences.getEditor("CallTipsStyle") |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
5692 | with contextlib.suppress(AttributeError): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5693 | self.setCallTipsPosition(Preferences.getEditor("CallTipsPosition")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5694 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5695 | if Preferences.getEditor("CallTipsEnabled"): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5696 | if calltipsStyle == QsciScintilla.CallTipsStyle.CallTipsNoContext: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5697 | self.setCallTipsStyle(QsciScintilla.CallTipsStyle.CallTipsNoContext) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5698 | elif ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5699 | calltipsStyle |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5700 | == QsciScintilla.CallTipsStyle.CallTipsNoAutoCompletionContext |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5701 | ): |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5702 | self.setCallTipsStyle( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5703 | QsciScintilla.CallTipsStyle.CallTipsNoAutoCompletionContext |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5704 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5705 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5706 | self.setCallTipsStyle(QsciScintilla.CallTipsStyle.CallTipsContext) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5707 | else: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5708 | self.setCallTipsStyle(QsciScintilla.CallTipsStyle.CallTipsNone) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5709 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5710 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5711 | ## Autocompletion handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5712 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5713 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5714 | def canAutoCompleteFromAPIs(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5715 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5716 | Public method to check for API availablity. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5717 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5718 | @return flag indicating autocompletion from APIs is available |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5719 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5720 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5721 | return self.acAPI |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5722 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5723 | def autoCompleteQScintilla(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5724 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5725 | Public method to perform an autocompletion using QScintilla methods. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5726 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5727 | self.__acText = " " # Prevent long running ACs to add results |
5932
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
5728 | self.__acWatchdog.stop() |
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
5729 | if self.__acCompletions: |
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
5730 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5731 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5732 | acs = Preferences.getEditor("AutoCompletionSource") |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5733 | if acs == QsciScintilla.AutoCompletionSource.AcsDocument: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5734 | self.autoCompleteFromDocument() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5735 | elif acs == QsciScintilla.AutoCompletionSource.AcsAPIs: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5736 | self.autoCompleteFromAPIs() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5737 | elif acs == QsciScintilla.AutoCompletionSource.AcsAll: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5738 | self.autoCompleteFromAll() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5739 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
5740 | EricMessageBox.information( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
5741 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
5742 | self.tr("Autocompletion"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
5743 | self.tr( |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
5744 | """Autocompletion is not available because""" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5745 | """ there is no autocompletion source set.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5746 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5747 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5748 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5749 | def setAutoCompletionEnabled(self, enable): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5750 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5751 | Public method to enable/disable autocompletion. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5752 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5753 | @param enable flag indicating the desired autocompletion status |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5754 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5755 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5756 | if enable: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5757 | autoCompletionSource = Preferences.getEditor("AutoCompletionSource") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5758 | if autoCompletionSource == QsciScintilla.AutoCompletionSource.AcsDocument: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5759 | self.setAutoCompletionSource( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5760 | QsciScintilla.AutoCompletionSource.AcsDocument |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5761 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5762 | elif autoCompletionSource == QsciScintilla.AutoCompletionSource.AcsAPIs: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5763 | self.setAutoCompletionSource(QsciScintilla.AutoCompletionSource.AcsAPIs) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5764 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5765 | self.setAutoCompletionSource(QsciScintilla.AutoCompletionSource.AcsAll) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5766 | |
10279 | 5767 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5768 | def __toggleAutoCompletionEnable(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5769 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5770 | Private slot to handle the Enable Autocompletion context menu entry. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5771 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5772 | if self.menuActs["AutoCompletionEnable"].isChecked(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5773 | self.setAutoCompletionEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5774 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5775 | self.setAutoCompletionEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5776 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5777 | ################################################################# |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5778 | ## Support for autocompletion hook methods |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5779 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5780 | |
10279 | 5781 | @pyqtSlot(int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5782 | def __charAdded(self, charNumber): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5783 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
5784 | Private slot called to handle the user entering a character. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5785 | |
10279 | 5786 | @param charNumber value of the character entered |
5787 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5788 | """ |
6306
af71f34a0cfb
Enable resizing of auto complete list box for also for QScintilla own completers.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6305
diff
changeset
|
5789 | char = chr(charNumber) |
af71f34a0cfb
Enable resizing of auto complete list box for also for QScintilla own completers.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6305
diff
changeset
|
5790 | # update code documentation viewer |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5791 | if char == "(" and Preferences.getDocuViewer("ShowInfoOnOpenParenthesis"): |
6306
af71f34a0cfb
Enable resizing of auto complete list box for also for QScintilla own completers.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6305
diff
changeset
|
5792 | self.vm.showEditorInfo(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5793 | |
7998 | 5794 | self.__delayedDocstringMenuPopup(self.getCursorPosition()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5795 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5796 | if self.isListActive(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5797 | if self.__isStartChar(char): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5798 | self.cancelList() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5799 | self.autoComplete(auto=True, context=True) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5800 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5801 | elif char == "(": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5802 | self.cancelList() |
6030
63d1c50b637d
Little fix for an auto-completion issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6025
diff
changeset
|
5803 | else: |
63d1c50b637d
Little fix for an auto-completion issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6025
diff
changeset
|
5804 | self.__acTimer.stop() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5805 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5806 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5807 | self.callTipsStyle() != QsciScintilla.CallTipsStyle.CallTipsNone |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5808 | and self.lexer_ is not None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5809 | and chr(charNumber) in "()" |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5810 | ): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5811 | self.callTip() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5812 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5813 | if not self.isCallTipActive(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5814 | char = chr(charNumber) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5815 | if self.__isStartChar(char): |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5816 | self.autoComplete(auto=True, context=True) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5817 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5818 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5819 | line, col = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5820 | txt = self.getWordLeft(line, col) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5821 | if len(txt) >= Preferences.getEditor("AutoCompletionThreshold"): |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5822 | self.autoComplete(auto=True, context=False) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5823 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5824 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5825 | def __isStartChar(self, ch): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5826 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5827 | Private method to check, if a character is an autocompletion start |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
5828 | character. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5829 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5830 | @param ch character to be checked |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5831 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5832 | @return flag indicating the result |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5833 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5834 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5835 | if self.lexer_ is None: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5836 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5837 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5838 | wseps = self.lexer_.autoCompletionWordSeparators() |
8221
0572a215bd2f
Applied some more code simplifications suggested by the new Simplify checker (Y110, Y111: use any() or all()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8220
diff
changeset
|
5839 | return any(wsep.endswith(ch) for wsep in wseps) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5840 | |
10279 | 5841 | @pyqtSlot() |
6033
967b3e3e5b4d
Fixed cancellation of auto-completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6030
diff
changeset
|
5842 | def __autocompletionCancelled(self): |
967b3e3e5b4d
Fixed cancellation of auto-completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6030
diff
changeset
|
5843 | """ |
967b3e3e5b4d
Fixed cancellation of auto-completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6030
diff
changeset
|
5844 | Private slot to handle the cancellation of an auto-completion list. |
967b3e3e5b4d
Fixed cancellation of auto-completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6030
diff
changeset
|
5845 | """ |
967b3e3e5b4d
Fixed cancellation of auto-completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6030
diff
changeset
|
5846 | self.__acWatchdog.stop() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5847 | |
6033
967b3e3e5b4d
Fixed cancellation of auto-completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6030
diff
changeset
|
5848 | self.__acText = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5849 | |
5881
13381dbbb81e
Removed the pre 6.1.0 auto-completion and call-tip hook interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
5850 | ################################################################# |
13381dbbb81e
Removed the pre 6.1.0 auto-completion and call-tip hook interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
5851 | ## auto-completion hook interfaces |
13381dbbb81e
Removed the pre 6.1.0 auto-completion and call-tip hook interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
5852 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5853 | |
6247
5c677a7f7d51
Corrected some code style issues detected by the new pycodestyle version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6210
diff
changeset
|
5854 | def addCompletionListHook(self, key, func, asynchroneous=False): |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5855 | """ |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5856 | Public method to set an auto-completion list provider. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5857 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5858 | @param key name of the provider |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5859 | @type str |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5860 | @param func function providing completion list. func |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5861 | should be a function taking a reference to the editor and |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5862 | a boolean indicating to complete a context. It should return |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5863 | the possible completions as a list of strings. |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5864 | @type function(editor, bool) -> list of str in case async is False |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5865 | and function(editor, bool, str) returning nothing in case async |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5866 | is True |
6247
5c677a7f7d51
Corrected some code style issues detected by the new pycodestyle version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6210
diff
changeset
|
5867 | @param asynchroneous flag indicating an asynchroneous function |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5868 | @type bool |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5869 | """ |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5870 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5871 | key in self.__completionListHookFunctions |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5872 | or key in self.__completionListAsyncHookFunctions |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5873 | ): |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5874 | # it was already registered |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
5875 | EricMessageBox.warning( |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5876 | self, |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5877 | self.tr("Auto-Completion Provider"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5878 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5879 | """The completion list provider '{0}' was already""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5880 | """ registered. Ignoring duplicate request.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5881 | ).format(key), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5882 | ) |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5883 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5884 | |
6247
5c677a7f7d51
Corrected some code style issues detected by the new pycodestyle version.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6210
diff
changeset
|
5885 | if asynchroneous: |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5886 | self.__completionListAsyncHookFunctions[key] = func |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5887 | else: |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5888 | self.__completionListHookFunctions[key] = func |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5889 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5890 | def removeCompletionListHook(self, key): |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5891 | """ |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5892 | Public method to remove a previously registered completion list |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5893 | provider. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5894 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5895 | @param key name of the provider |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5896 | @type str |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5897 | """ |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5898 | if key in self.__completionListHookFunctions: |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5899 | del self.__completionListHookFunctions[key] |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5900 | elif key in self.__completionListAsyncHookFunctions: |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5901 | del self.__completionListAsyncHookFunctions[key] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5902 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5903 | def getCompletionListHook(self, key): |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5904 | """ |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5905 | Public method to get the registered completion list provider. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5906 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5907 | @param key name of the provider |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5908 | @type str |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5909 | @return function providing completion list |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5910 | @rtype function or None |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5911 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5912 | return self.__completionListHookFunctions.get( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5913 | key |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5914 | ) or self.__completionListAsyncHookFunctions.get(key) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5915 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
5916 | def autoComplete(self, auto=False, context=True): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5917 | """ |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5918 | Public method to start auto-completion. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5919 | |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
5920 | @param auto flag indicating a call from the __charAdded method |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5921 | @type bool |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5922 | @param context flag indicating to complete a context |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5923 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5924 | """ |
6306
af71f34a0cfb
Enable resizing of auto complete list box for also for QScintilla own completers.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6305
diff
changeset
|
5925 | if auto and not Preferences.getEditor("AutoCompletionEnabled"): |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5926 | # auto-completion is disabled |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5927 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5928 | |
6025
9dfb5a421a56
Little fix for the editor completion list handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5987
diff
changeset
|
5929 | if self.isListActive(): |
9dfb5a421a56
Little fix for the editor completion list handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5987
diff
changeset
|
5930 | self.cancelList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5931 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5932 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5933 | self.__completionListHookFunctions |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5934 | or self.__completionListAsyncHookFunctions |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
5935 | ): |
6809
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5936 | # Avoid delayed auto-completion after cursor repositioning |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5937 | self.__acText = self.__getAcText() |
5916
26a37798aa75
Suppress empty completions. No delay time if auto completion is requested by hotkey.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5913
diff
changeset
|
5938 | if auto and Preferences.getEditor("AutoCompletionTimeout"): |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5939 | self.__acTimer.stop() |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5940 | self.__acContext = context |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5941 | self.__acTimer.start() |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
5942 | else: |
5916
26a37798aa75
Suppress empty completions. No delay time if auto completion is requested by hotkey.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5913
diff
changeset
|
5943 | self.__autoComplete(auto, context) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5944 | elif not auto or ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5945 | self.autoCompletionSource() != QsciScintilla.AutoCompletionSource.AcsNone |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
5946 | ): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
5947 | self.autoCompleteQScintilla() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5948 | |
6809
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5949 | def __getAcText(self): |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5950 | """ |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5951 | Private method to get the text from cursor position for autocompleting. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5952 | |
6809
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5953 | @return text left of cursor position |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5954 | @rtype str |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5955 | """ |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5956 | line, col = self.getCursorPosition() |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5957 | text = self.text(line) |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5958 | try: |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
5959 | acText = ( |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
5960 | self.getWordLeft(line, col - 1) + text[col - 1] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5961 | if self.__isStartChar(text[col - 1]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5962 | else self.getWordLeft(line, col) |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
5963 | ) |
6809
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5964 | except IndexError: |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5965 | acText = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5966 | |
6809
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
5967 | return acText |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5968 | |
5916
26a37798aa75
Suppress empty completions. No delay time if auto completion is requested by hotkey.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5913
diff
changeset
|
5969 | def __autoComplete(self, auto=True, context=None): |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5970 | """ |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5971 | Private method to start auto-completion via plug-ins. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5972 | |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
5973 | @param auto flag indicating a call from the __charAdded method |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
5974 | @type bool |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
5975 | @param context flag indicating to complete a context |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5976 | @type bool or None |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5977 | """ |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
5978 | self.__acCompletions.clear() |
5932
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
5979 | self.__acCompletionsFinished = 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5980 | |
5916
26a37798aa75
Suppress empty completions. No delay time if auto completion is requested by hotkey.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5913
diff
changeset
|
5981 | # Suppress empty completions |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5982 | if auto and self.__acText == "": |
5916
26a37798aa75
Suppress empty completions. No delay time if auto completion is requested by hotkey.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5913
diff
changeset
|
5983 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5984 | |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
5985 | completions = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5986 | self.__acCache.get(self.__acText) if self.__acCacheEnabled else None |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
5987 | ) |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5988 | if completions is not None: |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5989 | # show list with cached entries |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5990 | if self.isListActive(): |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5991 | self.cancelList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5992 | |
5890
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
5993 | self.__showCompletionsList(completions) |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5994 | else: |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5995 | if context is None: |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5996 | context = self.__acContext |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
5997 | |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5998 | for key in self.__completionListAsyncHookFunctions: |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
5999 | self.__completionListAsyncHookFunctions[key]( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6000 | self, context, self.__acText |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6001 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6002 | |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6003 | for key in self.__completionListHookFunctions: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6004 | completions = self.__completionListHookFunctions[key](self, context) |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6005 | self.completionsListReady(completions, self.__acText) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6006 | |
5932
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
6007 | if Preferences.getEditor("AutoCompletionScintillaOnFail"): |
af9aa23e12ec
Fallback option for using QScintilla if no auto completion found by plug-ins.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5919
diff
changeset
|
6008 | self.__acWatchdog.start() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6009 | |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6010 | def completionsListReady(self, completions, acText): |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6011 | """ |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6012 | Public method to show the completions determined by a completions |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6013 | provider. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6014 | |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6015 | @param completions list of possible completions |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6016 | @type list of str or set of str |
5886
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6017 | @param acText text to be completed |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6018 | @type str |
ba6d27371e25
Implemented support for asynchroneous completion lists in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5881
diff
changeset
|
6019 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6020 | currentWord = self.__getAcText() or " " |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6021 | # process the list only, if not already obsolete ... |
6809
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
6022 | if acText != self.__acText or not self.__acText.endswith(currentWord): |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
6023 | # Suppress auto-completion done by QScintilla as fallback |
d1048e6db7f5
Suppress auto-completions in various circumstances.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6755
diff
changeset
|
6024 | self.__acWatchdog.stop() |
5967
da72832f7c22
Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5935
diff
changeset
|
6025 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6026 | |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6027 | self.__acCompletions.update(set(completions)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6028 | |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6029 | self.__acCompletionsFinished += 1 |
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6030 | # Got all results from auto completer? |
6498
674ac2051e8a
Editor: fixed an issue related to auto completion.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6493
diff
changeset
|
6031 | if self.__acCompletionsFinished >= ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6032 | len(self.__completionListAsyncHookFunctions) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6033 | + len(self.__completionListHookFunctions) |
6498
674ac2051e8a
Editor: fixed an issue related to auto completion.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6493
diff
changeset
|
6034 | ): |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6035 | self.__acWatchdog.stop() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6036 | |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6037 | # Autocomplete with QScintilla if no results present |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6038 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6039 | Preferences.getEditor("AutoCompletionScintillaOnFail") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6040 | and not self.__acCompletions |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6041 | ): |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6042 | self.autoCompleteQScintilla() |
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6043 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6044 | |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6045 | # ... or completions are not empty |
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6046 | if not bool(completions): |
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6047 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6048 | |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6049 | if self.isListActive(): |
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6050 | self.cancelList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6051 | |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6052 | if self.__acCompletions: |
6755
009812744917
Editor: added an option to disable the caching of completion results.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6735
diff
changeset
|
6053 | if self.__acCacheEnabled: |
009812744917
Editor: added an option to disable the caching of completion results.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6735
diff
changeset
|
6054 | self.__acCache.add(acText, set(self.__acCompletions)) |
5935
1fac1b80b440
Finetuning QScintilla fallback.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5932
diff
changeset
|
6055 | self.__showCompletionsList(self.__acCompletions) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6056 | |
5890
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6057 | def __showCompletionsList(self, completions): |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6058 | """ |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6059 | Private method to show the completions list. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6060 | |
5890
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6061 | @param completions completions to be shown |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6062 | @type list of str or set of str |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6063 | """ |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
6064 | acCompletions = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6065 | sorted(completions, key=self.__replaceLeadingUnderscores) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6066 | if Preferences.getEditor("AutoCompletionReversedList") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6067 | else sorted(completions) |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
6068 | ) |
5890
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6069 | self.showUserList(EditorAutoCompletionListID, acCompletions) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6070 | |
5890
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6071 | def __replaceLeadingUnderscores(self, txt): |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6072 | """ |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6073 | Private method to replace the first two underlines for invers sorting. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6074 | |
5890
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6075 | @param txt completion text |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6076 | @type str |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6077 | @return modified completion text |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6078 | @rtype str |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6079 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6080 | if txt.startswith("_"): |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6081 | return txt[:2].replace("_", "~") + txt[2:] |
5890
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6082 | else: |
22ec89341f5e
Made the completions list more intuitive when showing in 'reversed' order.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5888
diff
changeset
|
6083 | return txt |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6084 | |
5888
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6085 | def __clearCompletionsCache(self): |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6086 | """ |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6087 | Private method to clear the auto-completions cache. |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6088 | """ |
f23f3d2b7516
Added a cache for the already determined completion lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5887
diff
changeset
|
6089 | self.__acCache.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6090 | |
10279 | 6091 | @pyqtSlot(int, str) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
6092 | def __completionListSelected(self, listId, txt): |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6093 | """ |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6094 | Private slot to handle the selection from the completion list. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6095 | |
10279 | 6096 | @param listId the ID of the user list (should be 1 or 2) |
6097 | @type int | |
6098 | @param txt the selected text | |
6099 | @type str | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6100 | """ |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
6101 | # custom completions via plug-ins |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
6102 | if listId == EditorAutoCompletionListID: |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6103 | lst = txt.split() |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6104 | if len(lst) > 1: |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6105 | txt = lst[0] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6106 | |
10344
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6107 | self.beginUndoAction() |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6108 | if Preferences.getEditor("AutoCompletionReplaceWord"): |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6109 | self.selectCurrentWord() |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6110 | self.removeSelectedText() |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6111 | line, col = self.getCursorPosition() |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6112 | else: |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6113 | line, col = self.getCursorPosition() |
10345
175e6f023126
Fixed an issue related to 'jedi' completions being inserted twice.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10344
diff
changeset
|
6114 | wLeft = self.getWord(line, col, 1, forCompletion=True) # word left |
10344
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6115 | if not txt.startswith(wLeft): |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6116 | self.selectCurrentWord() |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6117 | self.removeSelectedText() |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6118 | line, col = self.getCursorPosition() |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6119 | elif wLeft: |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6120 | txt = txt[len(wLeft) :] |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6121 | |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6122 | if txt and txt[0] in "'\"": |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6123 | # New in jedi 0.16: AC of dict keys |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6124 | txt = txt[1:] |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6125 | self.insert(txt) |
2f2e3294186d
Re-fixed the last issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10343
diff
changeset
|
6126 | self.endUndoAction() |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6127 | self.setCursorPosition(line, col + len(txt)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6128 | |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
6129 | # template completions |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
6130 | elif listId == TemplateCompletionListID: |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6131 | self.__applyTemplate(txt, self.getLanguage()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6132 | |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
6133 | # 'goto reference' completions |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
6134 | elif listId == ReferencesListID: |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
6135 | with contextlib.suppress(ValueError, IndexError): |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
6136 | index = self.__referencesList.index(txt) |
8497
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
6137 | filename, line, column = self.__referencesPositionsList[index] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6138 | self.vm.openSourceFile(filename, lineno=line, pos=column, addNext=True) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6139 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6140 | def canProvideDynamicAutoCompletion(self): |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6141 | """ |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6142 | Public method to test the dynamic auto-completion availability. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6143 | |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6144 | @return flag indicating the availability of dynamic auto-completion |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6145 | @rtype bool |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6146 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6147 | return ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6148 | self.acAPI |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6149 | or bool(self.__completionListHookFunctions) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6150 | or bool(self.__completionListAsyncHookFunctions) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6151 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6152 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6153 | ################################################################# |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6154 | ## call-tip hook interfaces |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6155 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6156 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6157 | def addCallTipHook(self, key, func): |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6158 | """ |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6159 | Public method to set a calltip provider. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6160 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6161 | @param key name of the provider |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6162 | @type str |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6163 | @param func function providing calltips. func |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6164 | should be a function taking a reference to the editor, |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6165 | a position into the text and the amount of commas to the |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6166 | left of the cursor. It should return the possible |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6167 | calltips as a list of strings. |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6168 | @type function(editor, int, int) -> list of str |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6169 | """ |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6170 | if key in self.__ctHookFunctions: |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6171 | # it was already registered |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
6172 | EricMessageBox.warning( |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6173 | self, |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6174 | self.tr("Call-Tips Provider"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6175 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6176 | """The call-tips provider '{0}' was already""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6177 | """ registered. Ignoring duplicate request.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6178 | ).format(key), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6179 | ) |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6180 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6181 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6182 | self.__ctHookFunctions[key] = func |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6183 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6184 | def removeCallTipHook(self, key): |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6185 | """ |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6186 | Public method to remove a previously registered calltip provider. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6187 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6188 | @param key name of the provider |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6189 | @type str |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6190 | """ |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6191 | if key in self.__ctHookFunctions: |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6192 | del self.__ctHookFunctions[key] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6193 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6194 | def getCallTipHook(self, key): |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6195 | """ |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6196 | Public method to get the registered calltip provider. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6197 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6198 | @param key name of the provider |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6199 | @type str |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6200 | @return function providing calltips |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6201 | @rtype function or None |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6202 | """ |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6203 | if key in self.__ctHookFunctions: |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6204 | return self.__ctHookFunctions[key] |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6205 | else: |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6206 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6207 | |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6208 | def canProvideCallTipps(self): |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6209 | """ |
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6210 | Public method to test the calltips availability. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6211 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6212 | @return flag indicating the availability of calltips |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6213 | @rtype bool |
5905
f31960634997
Continued implementing a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5900
diff
changeset
|
6214 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6215 | return self.acAPI or bool(self.__ctHookFunctions) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6216 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6217 | def callTip(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6218 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6219 | Public method to show calltips. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6220 | """ |
5881
13381dbbb81e
Removed the pre 6.1.0 auto-completion and call-tip hook interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
6221 | if bool(self.__ctHookFunctions): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6222 | self.__callTip() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6223 | else: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
6224 | super().callTip() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6225 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6226 | def __callTip(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6227 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6228 | Private method to show call tips provided by a plugin. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6229 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6230 | pos = self.currentPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6231 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6232 | # move backward to the start of the current calltip working out |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6233 | # which argument to highlight |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6234 | commas = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6235 | found = False |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6236 | ch, pos = self.__getCharacter(pos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6237 | while ch: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6238 | if ch == ",": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6239 | commas += 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6240 | elif ch == ")": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6241 | depth = 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6242 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6243 | # ignore everything back to the start of the corresponding |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6244 | # parenthesis |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6245 | ch, pos = self.__getCharacter(pos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6246 | while ch: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6247 | if ch == ")": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6248 | depth += 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6249 | elif ch == "(": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6250 | depth -= 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6251 | if depth == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6252 | break |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
6253 | ch, pos = self.__getCharacter(pos) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6254 | elif ch == "(": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6255 | found = True |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6256 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6257 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6258 | ch, pos = self.__getCharacter(pos) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6259 | |
8581
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
6260 | self.cancelCallTips() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6261 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6262 | if not found: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6263 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6264 | |
8231
377c24760c37
Editor: fixed an issue providing calltips if no calltip provider is installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
6265 | callTips = [] |
4271
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6266 | if self.__ctHookFunctions: |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6267 | for key in self.__ctHookFunctions: |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6268 | callTips.extend(self.__ctHookFunctions[key](self, pos, commas)) |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6269 | callTips = list(set(callTips)) |
480434472ac1
Added capability to the editor to ask multiple completion list and call-tip providers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4227
diff
changeset
|
6270 | callTips.sort() |
8231
377c24760c37
Editor: fixed an issue providing calltips if no calltip provider is installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
6271 | else: |
377c24760c37
Editor: fixed an issue providing calltips if no calltip provider is installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
6272 | # try QScintilla calltips |
377c24760c37
Editor: fixed an issue providing calltips if no calltip provider is installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
6273 | super().callTip() |
377c24760c37
Editor: fixed an issue providing calltips if no calltip provider is installed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8228
diff
changeset
|
6274 | return |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6275 | if len(callTips) == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6276 | if Preferences.getEditor("CallTipsScintillaOnFail"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6277 | # try QScintilla calltips |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
6278 | super().callTip() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6279 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6280 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6281 | ctshift = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6282 | for ct in callTips: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6283 | shift = ct.index("(") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6284 | if ctshift < shift: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6285 | ctshift = shift |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6286 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6287 | cv = self.callTipsVisible() |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
6288 | ct = ( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6289 | # this is just a safe guard |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
6290 | self._encodeString("\n".join(callTips[:cv])) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6291 | if cv > 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6292 | else |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6293 | # until here and unindent below |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
6294 | self._encodeString("\n".join(callTips)) |
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8258
diff
changeset
|
6295 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6296 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6297 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6298 | QsciScintilla.SCI_CALLTIPSHOW, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6299 | self.__adjustedCallTipPosition(ctshift, pos), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6300 | ct, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6301 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6302 | if b"\n" in ct: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6303 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6304 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6305 | # Highlight the current argument |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6306 | if commas == 0: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6307 | astart = ct.find(b"(") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6308 | else: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6309 | astart = ct.find(b",") |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6310 | commas -= 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6311 | while astart != -1 and commas > 0: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6312 | astart = ct.find(b",", astart + 1) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6313 | commas -= 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6314 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6315 | if astart == -1: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6316 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6317 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6318 | depth = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6319 | for aend in range(astart + 1, len(ct)): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6320 | ch = ct[aend : aend + 1] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6321 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6322 | if ch == b"," and depth == 0: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6323 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6324 | elif ch == b"(": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6325 | depth += 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6326 | elif ch == b")": |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6327 | if depth == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6328 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6329 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6330 | depth -= 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6331 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6332 | if astart != aend: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6333 | self.SendScintilla(QsciScintilla.SCI_CALLTIPSETHLT, astart + 1, aend) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6334 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6335 | def __adjustedCallTipPosition(self, ctshift, pos): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6336 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6337 | Private method to calculate an adjusted position for showing calltips. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6338 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6339 | @param ctshift amount the calltip shall be shifted |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6340 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6341 | @param pos position into the text |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6342 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6343 | @return new position for the calltip |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6344 | @rtype int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6345 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6346 | ct = pos |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6347 | if ctshift: |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
6348 | ctmin = self.SendScintilla( |
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
6349 | QsciScintilla.SCI_POSITIONFROMLINE, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6350 | self.SendScintilla(QsciScintilla.SCI_LINEFROMPOSITION, ct), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6351 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6352 | if ct - ctshift < ctmin: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6353 | ct = ctmin |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6354 | else: |
8217
385f60c94548
Applied some more code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
6355 | ct -= ctshift |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6356 | return ct |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6357 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6358 | ################################################################# |
5900
cd90bfdc1247
Started to implement a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5897
diff
changeset
|
6359 | ## Methods needed by the code documentation viewer |
cd90bfdc1247
Started to implement a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5897
diff
changeset
|
6360 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6361 | |
10279 | 6362 | @pyqtSlot() |
5907
c928af9fce32
Added some code info actions to the editor context menu and the Edit main menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5905
diff
changeset
|
6363 | def __showCodeInfo(self): |
c928af9fce32
Added some code info actions to the editor context menu and the Edit main menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5905
diff
changeset
|
6364 | """ |
c928af9fce32
Added some code info actions to the editor context menu and the Edit main menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5905
diff
changeset
|
6365 | Private slot to handle the context menu action to show code info. |
c928af9fce32
Added some code info actions to the editor context menu and the Edit main menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5905
diff
changeset
|
6366 | """ |
c928af9fce32
Added some code info actions to the editor context menu and the Edit main menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5905
diff
changeset
|
6367 | self.vm.showEditorInfo(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6368 | |
5900
cd90bfdc1247
Started to implement a viewer for source code documentation extracted by providers to be implemented by plug-ins (like rope and jedi).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5897
diff
changeset
|
6369 | ################################################################# |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6370 | ## Methods needed by the context menu |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6371 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6372 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6373 | def __marginNumber(self, xPos): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6374 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6375 | Private method to calculate the margin number based on a x position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6376 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6377 | @param xPos x position |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6378 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6379 | @return margin number (integer, -1 for no margin) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6380 | @rtype int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6381 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6382 | width = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6383 | for margin in range(5): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6384 | width += self.marginWidth(margin) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6385 | if xPos <= width: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6386 | return margin |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6387 | return -1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6388 | |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6389 | @pyqtSlot(QPoint) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6390 | def __showContextMenu(self, pos): |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6391 | """ |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6392 | Private slot to show a context menu. |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6393 | |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6394 | @param pos position for the context menu |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6395 | @type QPoint |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6396 | """ |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6397 | if self.__marginNumber(pos.x()) == -1: |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6398 | self.spellingMenuPos = self.positionFromPoint(pos) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6399 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6400 | self.spellingMenuPos >= 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6401 | and self.spell is not None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6402 | and self.hasIndicator(self.spellingIndicator, self.spellingMenuPos) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6403 | ): |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6404 | self.spellingMenu.popup(self.mapToGlobal(pos)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6405 | else: |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6406 | self.menu.popup(self.mapToGlobal(pos)) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6407 | else: |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6408 | self.line = self.lineAt(pos) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6409 | if self.__marginNumber(pos.x()) in [self.__bmMargin, self.__linenoMargin]: |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6410 | self.bmMarginMenu.popup(self.mapToGlobal(pos)) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6411 | elif self.__marginNumber(pos.x()) == self.__bpMargin: |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6412 | self.bpMarginMenu.popup(self.mapToGlobal(pos)) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6413 | elif self.__marginNumber(pos.x()) == self.__indicMargin: |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6414 | self.indicMarginMenu.popup(self.mapToGlobal(pos)) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6415 | elif self.__marginNumber(pos.x()) == self.__foldMargin: |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6416 | self.foldMarginMenu.popup(self.mapToGlobal(pos)) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6417 | |
10279 | 6418 | @pyqtSlot() |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
6419 | def __aboutToShowContextMenu(self): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6420 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6421 | Private slot handling the aboutToShow signal of the context menu. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6422 | """ |
3395
7e923cf9918f
Made the reopen with encoding editor context menu react upon file modification status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3394
diff
changeset
|
6423 | self.menuActs["Reopen"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6424 | not self.isModified() and bool(self.fileName) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6425 | ) |
10674 | 6426 | self.menuActs["Reload"].setEnabled(bool(self.fileName)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6427 | self.menuActs["Save"].setEnabled(self.isModified()) |
10550
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6428 | self.menuActs["SaveAsRemote"].setEnabled( |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6429 | ericApp().getObject("EricServer").isServerConnected() |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6430 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6431 | self.menuActs["Undo"].setEnabled(self.isUndoAvailable()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6432 | self.menuActs["Redo"].setEnabled(self.isRedoAvailable()) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6433 | self.menuActs["Revert"].setEnabled(self.isModified()) |
6059
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
6434 | self.menuActs["Cut"].setEnabled(self.hasSelectedText()) |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
6435 | self.menuActs["Copy"].setEnabled(self.hasSelectedText()) |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
6436 | if self.menuActs["ExecuteSelection"] is not None: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6437 | self.menuActs["ExecuteSelection"].setEnabled(self.hasSelectedText()) |
6059
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
6438 | self.menuActs["Paste"].setEnabled(self.canPaste()) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6439 | if not self.isResourcesFile: |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3441
diff
changeset
|
6440 | if self.fileName and self.isPyFile(): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6441 | self.menuActs["Show"].setEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6442 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6443 | self.menuActs["Show"].setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6444 | if self.fileName and (self.isPyFile() or self.isRubyFile()): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6445 | self.menuActs["Diagrams"].setEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6446 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6447 | self.menuActs["Diagrams"].setEnabled(False) |
10587
670f234271d8
Made some fine tuning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10585
diff
changeset
|
6448 | self.menuActs["Formatting"].setEnabled( |
670f234271d8
Made some fine tuning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10585
diff
changeset
|
6449 | not FileSystemUtilities.isRemoteFileName(self.fileName) |
670f234271d8
Made some fine tuning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10585
diff
changeset
|
6450 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6451 | if not self.miniMenu: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6452 | if self.lexer_ is not None: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6453 | self.menuActs["Comment"].setEnabled(self.lexer_.canBlockComment()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6454 | self.menuActs["Uncomment"].setEnabled(self.lexer_.canBlockComment()) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6455 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6456 | self.menuActs["Comment"].setEnabled(False) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6457 | self.menuActs["Uncomment"].setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6458 | |
8245
dce55f623991
Editor: fixed an issue related to using the 'mini menu'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
6459 | cline = self.getCursorPosition()[0] |
dce55f623991
Editor: fixed an issue related to using the 'mini menu'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
6460 | line = self.text(cline) |
dce55f623991
Editor: fixed an issue related to using the 'mini menu'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
6461 | self.menuActs["Docstring"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6462 | self.getDocstringGenerator().isFunctionStart(line) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6463 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6464 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6465 | self.menuActs["TypingAidsEnabled"].setEnabled(self.completer is not None) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
6466 | self.menuActs["TypingAidsEnabled"].setChecked( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6467 | self.completer is not None and self.completer.isEnabled() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6468 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6469 | |
4718
9fcb469d81ae
Fixed a few little issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
6470 | if not self.isResourcesFile: |
5897
ae17b1ae12bb
Fixed an issue related to enabling the 'Calltips' action of the editor context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5894
diff
changeset
|
6471 | self.menuActs["calltip"].setEnabled(self.canProvideCallTipps()) |
5911
0c7bcba51391
Added functionality to enable the code info actions only, if the currently selected provider supports the editor language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5909
diff
changeset
|
6472 | self.menuActs["codeInfo"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6473 | self.vm.isEditorInfoSupported(self.getLanguage()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6474 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6475 | |
3087
fdbce259929f
Changed the handling of the monospace font usage in the editor, mini editor and shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3069
diff
changeset
|
6476 | self.menuActs["MonospacedFont"].setEnabled(self.lexer_ is None) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6477 | |
3100
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3095
diff
changeset
|
6478 | splitOrientation = self.vm.getSplitOrientation() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
6479 | if splitOrientation == Qt.Orientation.Horizontal: |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
6480 | self.menuActs["NewSplit"].setIcon( |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
6481 | EricPixmapCache.getIcon("splitHorizontal") |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
6482 | ) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
6483 | else: |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
6484 | self.menuActs["NewSplit"].setIcon(EricPixmapCache.getIcon("splitVertical")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6485 | |
4376
7847a37ee71d
Little enhancement to the editor context menu to enable the Tools submenu only, if it contains some entries (populated by plug-ins).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4304
diff
changeset
|
6486 | self.menuActs["Tools"].setEnabled(not self.toolsMenu.isEmpty()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6487 | |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
6488 | self.showMenu.emit("Main", self.menu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6489 | |
10279 | 6490 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6491 | def __showContextMenuAutocompletion(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6492 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6493 | Private slot called before the autocompletion menu is shown. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6494 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6495 | self.menuActs["acDynamic"].setEnabled(self.canProvideDynamicAutoCompletion()) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6496 | self.menuActs["acClearCache"].setEnabled(self.canProvideDynamicAutoCompletion()) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6497 | self.menuActs["acAPI"].setEnabled(self.acAPI) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6498 | self.menuActs["acAPIDocument"].setEnabled(self.acAPI) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6499 | |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
6500 | self.showMenu.emit("Autocompletion", self.autocompletionMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6501 | |
10279 | 6502 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6503 | def __showContextMenuShow(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6504 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6505 | Private slot called before the show menu is shown. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6506 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6507 | prEnable = False |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6508 | coEnable = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6509 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6510 | # first check if the file belongs to a project |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
6511 | if self.project.isOpen() and self.project.isProjectCategory( |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
6512 | self.fileName, "SOURCES" |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
6513 | ): |
252
05692e3d37bf
Some code cleanup in Editor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
245
diff
changeset
|
6514 | fn = self.project.getMainScript(True) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6515 | if fn is not None: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6516 | prEnable = self.project.isPy3Project() and bool( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6517 | Utilities.getProfileFileNames(fn) |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
6518 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6519 | coEnable = self.project.isPy3Project() and bool( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6520 | Utilities.getCoverageFileNames(fn) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6521 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6522 | |
6285
045dc4c38701
Corrected a typo in several files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6278
diff
changeset
|
6523 | # now check ourselves |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6524 | fn = self.getFileName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6525 | if fn is not None: |
10570
ae53b96eedbb
Fixed an issue in the editor determining which entries to enable in the "Show" context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10517
diff
changeset
|
6526 | prEnable |= self.isPyFile() and bool(Utilities.getProfileFileName(fn)) |
ae53b96eedbb
Fixed an issue in the editor determining which entries to enable in the "Show" context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10517
diff
changeset
|
6527 | coEnable |= self.isPyFile() and bool(Utilities.getCoverageFileName(fn)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6528 | |
9070
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
6529 | coEnable |= bool(self.__coverageFile) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6530 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6531 | # now check for syntax errors |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6532 | if self.hasSyntaxErrors(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6533 | coEnable = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6534 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6535 | self.profileMenuAct.setEnabled(prEnable) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6536 | self.coverageMenuAct.setEnabled(coEnable) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
6537 | self.coverageShowAnnotationMenuAct.setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6538 | coEnable and len(self.notcoveredMarkers) == 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6539 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6540 | self.coverageHideAnnotationMenuAct.setEnabled(len(self.notcoveredMarkers) > 0) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6541 | |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
6542 | self.showMenu.emit("Show", self.menuShow, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6543 | |
10279 | 6544 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6545 | def __showContextMenuGraphics(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6546 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6547 | Private slot handling the aboutToShow signal of the diagrams context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6548 | menu. |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6549 | """ |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
6550 | if self.project.isOpen() and self.project.isProjectCategory( |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
6551 | self.fileName, "SOURCES" |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
6552 | ): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6553 | self.applicationDiagramMenuAct.setEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6554 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6555 | self.applicationDiagramMenuAct.setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6556 | |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
6557 | self.showMenu.emit("Graphics", self.graphicsMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6558 | |
10279 | 6559 | @pyqtSlot(QMenu) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6560 | def __showContextMenuMargin(self, menu): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6561 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6562 | Private slot handling the aboutToShow signal of the margins context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6563 | menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6564 | |
6116
f3d3c996c193
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6111
diff
changeset
|
6565 | @param menu reference to the menu to be shown |
f3d3c996c193
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6111
diff
changeset
|
6566 | @type QMenu |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6567 | """ |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6568 | if menu is self.bpMarginMenu: |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6569 | supportsDebugger = bool(self.fileName and self.isPyFile()) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6570 | hasBreakpoints = bool(self.breaks) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6571 | hasBreakpoint = bool(self.markersAtLine(self.line) & self.breakpointMask) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6572 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6573 | self.marginMenuActs["Breakpoint"].setEnabled(supportsDebugger) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6574 | self.marginMenuActs["TempBreakpoint"].setEnabled(supportsDebugger) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6575 | self.marginMenuActs["NextBreakpoint"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6576 | supportsDebugger and hasBreakpoints |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6577 | ) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6578 | self.marginMenuActs["PreviousBreakpoint"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6579 | supportsDebugger and hasBreakpoints |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6580 | ) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6581 | self.marginMenuActs["ClearBreakpoint"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6582 | supportsDebugger and hasBreakpoints |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6583 | ) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6584 | self.marginMenuActs["EditBreakpoint"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6585 | supportsDebugger and hasBreakpoint |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6586 | ) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6587 | self.marginMenuActs["EnableBreakpoint"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6588 | supportsDebugger and hasBreakpoint |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6589 | ) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6590 | if supportsDebugger: |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
6591 | if self.markersAtLine(self.line) & (1 << self.dbreakpoint): |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
6592 | self.marginMenuActs["EnableBreakpoint"].setText( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6593 | self.tr("Enable breakpoint") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6594 | ) |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
6595 | else: |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
6596 | self.marginMenuActs["EnableBreakpoint"].setText( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6597 | self.tr("Disable breakpoint") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6598 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6599 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6600 | if menu is self.bmMarginMenu: |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6601 | hasBookmarks = bool(self.bookmarks) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6602 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6603 | self.marginMenuActs["NextBookmark"].setEnabled(hasBookmarks) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6604 | self.marginMenuActs["PreviousBookmark"].setEnabled(hasBookmarks) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6605 | self.marginMenuActs["ClearBookmark"].setEnabled(hasBookmarks) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6606 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6607 | if menu is self.foldMarginMenu: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6608 | isFoldHeader = bool( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6609 | self.SendScintilla(QsciScintilla.SCI_GETFOLDLEVEL, self.line) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6610 | & QsciScintilla.SC_FOLDLEVELHEADERFLAG |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6611 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6612 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6613 | self.marginMenuActs["ExpandChildren"].setEnabled(isFoldHeader) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6614 | self.marginMenuActs["CollapseChildren"].setEnabled(isFoldHeader) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6615 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6616 | if menu is self.indicMarginMenu: |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6617 | hasSyntaxErrors = bool(self.syntaxerrors) |
10279 | 6618 | hasWarnings = bool(self._warnings) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6619 | hasNotCoveredMarkers = bool(self.notcoveredMarkers) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6620 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6621 | self.marginMenuActs["GotoSyntaxError"].setEnabled(hasSyntaxErrors) |
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6622 | self.marginMenuActs["ClearSyntaxError"].setEnabled(hasSyntaxErrors) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6623 | if hasSyntaxErrors and self.markersAtLine(self.line) & ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6624 | 1 << self.syntaxerror |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6625 | ): |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6626 | self.marginMenuActs["ShowSyntaxError"].setEnabled(True) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6627 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6628 | self.marginMenuActs["ShowSyntaxError"].setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6629 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6630 | self.marginMenuActs["NextWarningMarker"].setEnabled(hasWarnings) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6631 | self.marginMenuActs["PreviousWarningMarker"].setEnabled(hasWarnings) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6632 | self.marginMenuActs["ClearWarnings"].setEnabled(hasWarnings) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6633 | if hasWarnings and self.markersAtLine(self.line) & (1 << self.warning): |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6634 | self.marginMenuActs["ShowWarning"].setEnabled(True) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6635 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6636 | self.marginMenuActs["ShowWarning"].setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6637 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6638 | self.marginMenuActs["NextCoverageMarker"].setEnabled(hasNotCoveredMarkers) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6639 | self.marginMenuActs["PreviousCoverageMarker"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6640 | hasNotCoveredMarkers |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6641 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6642 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6643 | self.marginMenuActs["PreviousTaskMarker"].setEnabled(self.__hasTaskMarkers) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6644 | self.marginMenuActs["NextTaskMarker"].setEnabled(self.__hasTaskMarkers) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6645 | |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6646 | self.marginMenuActs["PreviousChangeMarker"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6647 | self.__hasChangeMarkers |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6648 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6649 | self.marginMenuActs["NextChangeMarker"].setEnabled(self.__hasChangeMarkers) |
6299
feb3cf2cbde3
Editor: removed the unified margins menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6297
diff
changeset
|
6650 | self.marginMenuActs["ClearChangeMarkers"].setEnabled( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6651 | self.__hasChangeMarkers |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6652 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6653 | |
6116
f3d3c996c193
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6111
diff
changeset
|
6654 | self.showMenu.emit("Margin", menu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6655 | |
10279 | 6656 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6657 | def __showContextMenuChecks(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6658 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6659 | Private slot handling the aboutToShow signal of the checks context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6660 | menu. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6661 | """ |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
6662 | self.showMenu.emit("Checks", self.checksMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6663 | |
10279 | 6664 | @pyqtSlot() |
3155
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
6665 | def __showContextMenuTools(self): |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
6666 | """ |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
6667 | Private slot handling the aboutToShow signal of the tools context |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
6668 | menu. |
7e10d00e27ca
Added a 'Tools' submenu to be populated by plug-ins and updated the plug-in document.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3152
diff
changeset
|
6669 | """ |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
6670 | self.showMenu.emit("Tools", self.toolsMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6671 | |
10279 | 6672 | @pyqtSlot() |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
6673 | def __showContextMenuFormatting(self): |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
6674 | """ |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
6675 | Private slot handling the aboutToShow signal of the code formatting context |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
6676 | menu. |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
6677 | """ |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
6678 | self.showMenu.emit("Formatting", self.codeFormattingMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6679 | |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
6680 | def __reopenWithEncodingMenuTriggered(self, act): |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
6681 | """ |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
6682 | Private method to handle the rereading of the file with a selected |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
6683 | encoding. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6684 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6685 | @param act reference to the action that was triggered |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6686 | @type QAction |
3394
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
6687 | """ |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
6688 | encoding = act.data() |
d1d4d79b4f11
Added a context menu entry to reload a file with a given encoding.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3393
diff
changeset
|
6689 | self.readFile(self.fileName, encoding=encoding) |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
6690 | self.__convertTabs() |
4418
32f721a2fdc6
Fixed an issue in the editor causing the encodings menu not being synchronized after a re-open operation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4411
diff
changeset
|
6691 | self.__checkEncoding() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6692 | |
10279 | 6693 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6694 | def __contextSave(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6695 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6696 | Private slot handling the save context menu entry. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6697 | """ |
548
ac7af05dd54a
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
547
diff
changeset
|
6698 | ok = self.saveFile() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6699 | if ok: |
548
ac7af05dd54a
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
547
diff
changeset
|
6700 | self.vm.setEditorName(self, self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6701 | |
10279 | 6702 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6703 | def __contextSaveAs(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6704 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6705 | Private slot handling the save as context menu entry. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6706 | """ |
559
ee695ebbd6e0
Fixed an issue introduced by the E5MessageBox job.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
6707 | ok = self.saveFileAs() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6708 | if ok: |
559
ee695ebbd6e0
Fixed an issue introduced by the E5MessageBox job.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
6709 | self.vm.setEditorName(self, self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6710 | |
10279 | 6711 | @pyqtSlot() |
10550
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6712 | def __contextSaveAsRemote(self): |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6713 | """ |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6714 | Private slot handling the save as (remote) context menu entry. |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6715 | """ |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6716 | ok = self.saveFileAs(remote=True) |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6717 | if ok: |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6718 | self.vm.setEditorName(self, self.fileName) |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6719 | |
fd862db1f936
Added an editor context menu action to save a file to an eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10546
diff
changeset
|
6720 | @pyqtSlot() |
4402
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
6721 | def __contextSaveCopy(self): |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
6722 | """ |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
6723 | Private slot handling the save copy context menu entry. |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
6724 | """ |
ad524553e765
Added capability to save a copy of the editor contents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4385
diff
changeset
|
6725 | self.saveFileCopy() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6726 | |
10279 | 6727 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6728 | def __contextClose(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6729 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6730 | Private slot handling the close context menu entry. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6731 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6732 | self.vm.closeEditor(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6733 | |
10279 | 6734 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6735 | def __newView(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6736 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6737 | Private slot to create a new view to an open document. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6738 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6739 | self.vm.newEditorView(self.fileName, self, self.filetype) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6740 | |
10279 | 6741 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6742 | def __newViewNewSplit(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6743 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6744 | Private slot to create a new view to an open document. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6745 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6746 | self.vm.addSplit() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6747 | self.vm.newEditorView(self.fileName, self, self.filetype) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6748 | |
10279 | 6749 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6750 | def __selectAll(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6751 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6752 | Private slot handling the select all context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6753 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6754 | self.selectAll(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6755 | |
10279 | 6756 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6757 | def __deselectAll(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6758 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6759 | Private slot handling the deselect all context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6760 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6761 | self.selectAll(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6762 | |
10279 | 6763 | @pyqtSlot() |
478
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6764 | def joinLines(self): |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6765 | """ |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6766 | Public slot to join the current line with the next one. |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6767 | """ |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6768 | curLine = self.getCursorPosition()[0] |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6769 | if curLine == self.lines() - 1: |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6770 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6771 | |
478
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6772 | line0Text = self.text(curLine) |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6773 | line1Text = self.text(curLine + 1) |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6774 | if line1Text in ["", "\r", "\n", "\r\n"]: |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6775 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6776 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6777 | if line0Text.rstrip("\r\n\\ \t").endswith( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6778 | ("'", '"') |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6779 | ) and line1Text.lstrip().startswith(("'", '"')): |
2994
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6780 | # merging multi line strings |
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6781 | startChars = "\r\n\\ \t'\"" |
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6782 | endChars = " \t'\"" |
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6783 | else: |
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6784 | startChars = "\r\n\\ \t" |
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6785 | endChars = " \t" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6786 | |
478
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6787 | # determine start index |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6788 | startIndex = len(line0Text) |
2994
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6789 | while startIndex > 0 and line0Text[startIndex - 1] in startChars: |
478
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6790 | startIndex -= 1 |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6791 | if startIndex == 0: |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6792 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6793 | |
478
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6794 | # determine end index |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6795 | endIndex = 0 |
2994
5ae1349b8fb4
A little enhancement to the editors line joining function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2980
diff
changeset
|
6796 | while line1Text[endIndex] in endChars: |
478
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6797 | endIndex += 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6798 | |
478
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6799 | self.setSelection(curLine, startIndex, curLine + 1, endIndex) |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6800 | self.beginUndoAction() |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6801 | self.removeSelectedText() |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6802 | self.insertAt(" ", curLine, startIndex) |
e7d778ea21d6
Added an editor action to join the current line with the next one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
6803 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6804 | |
10279 | 6805 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6806 | def shortenEmptyLines(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6807 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6808 | Public slot to compress lines consisting solely of whitespace |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6809 | characters. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6810 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6811 | searchRE = r"^[ \t]+$" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6812 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6813 | ok = self.findFirstTarget(searchRE, True, False, False, 0, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6814 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6815 | while ok: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6816 | self.replaceTarget("") |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6817 | ok = self.findNextTarget() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6818 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6819 | |
10279 | 6820 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6821 | def __autosaveEnable(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6822 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6823 | Private slot handling the autosave enable context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6824 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6825 | if self.menuActs["AutosaveEnable"].isChecked(): |
10307 | 6826 | self.__autosaveManuallyDisabled = False |
6827 | else: | |
6828 | self.__autosaveManuallyDisabled = True | |
6829 | ||
6830 | def __shouldAutosave(self): | |
6831 | """ | |
6832 | Private method to check the autosave flags. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6833 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6834 | @return flag indicating this editor should be saved |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
6835 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6836 | """ |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6837 | return ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6838 | bool(self.fileName) |
10307 | 6839 | and not self.__autosaveManuallyDisabled |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6840 | and not self.isReadOnly() |
10307 | 6841 | and self.isModified() |
6842 | ) | |
6843 | ||
6844 | def __autosave(self): | |
6845 | """ | |
6846 | Private slot to save the contents of the editor automatically. | |
6847 | ||
6848 | It is only saved by the autosave timer after an initial save (i.e. it already | |
6849 | has a name). | |
6850 | """ | |
6851 | if self.__shouldAutosave(): | |
6852 | self.saveFile() | |
2571
e6bb19eb87ea
Fixes for autocodecheck with pyflakes and update of py2flakes to 0.6.1.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2526
diff
changeset
|
6853 | |
3579
eccd12461319
BackgroundService: Restart of the client in different situations handled.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3576
diff
changeset
|
6854 | def checkSyntax(self): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6855 | """ |
3581
03b351be4436
Einige kleinere Korrekturen.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3579
diff
changeset
|
6856 | Public method to perform an automatic syntax check of the file. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6857 | """ |
7164
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
6858 | fileType = self.filetype |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
6859 | if fileType == "MicroPython": |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
6860 | # adjustment for MicroPython |
6da6a0a5a448
Made "MicroPython" a selectable programming language in order to not mess with the normal API selections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6996
diff
changeset
|
6861 | fileType = "Python3" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6862 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6863 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6864 | self.syntaxCheckService is None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6865 | or fileType not in self.syntaxCheckService.getLanguages() |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
6866 | ): |
2571
e6bb19eb87ea
Fixes for autocodecheck with pyflakes and update of py2flakes to 0.6.1.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2526
diff
changeset
|
6867 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6868 | |
10499 | 6869 | if Preferences.getEditor("OnlineSyntaxCheck"): |
9926
6222ddc7e1bd
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9925
diff
changeset
|
6870 | self.__onlineSyntaxCheckTimer.stop() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6871 | |
9925
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6872 | if self.isPy3File(): |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6873 | additionalBuiltins = ( |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6874 | self.project.getData("CHECKERSPARMS", "SyntaxChecker", {}).get( |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6875 | "AdditionalBuiltins", [] |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6876 | ) |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6877 | if self.isProjectFile() |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6878 | else Preferences.getFlakes("AdditionalBuiltins") |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6879 | ) |
3241
957673fc463a
Interface for adding different languages to the syntax check, background service
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3177
diff
changeset
|
6880 | self.syntaxCheckService.syntaxCheck( |
9925
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6881 | fileType, |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6882 | self.fileName or "(Unnamed)", |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6883 | self.text(), |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6884 | additionalBuiltins, |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6885 | ) |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6886 | else: |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6887 | self.syntaxCheckService.syntaxCheck( |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6888 | fileType, |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6889 | self.fileName or "(Unnamed)", |
a267ac36dd69
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9853
diff
changeset
|
6890 | self.text(), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6891 | ) |
2571
e6bb19eb87ea
Fixes for autocodecheck with pyflakes and update of py2flakes to 0.6.1.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2526
diff
changeset
|
6892 | |
10279 | 6893 | @pyqtSlot(str, str) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6894 | def __processSyntaxCheckError(self, fn, msg): |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6895 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6896 | Private slot to report an error message of a syntax check. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6897 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6898 | @param fn filename of the file |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6899 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6900 | @param msg error message |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6901 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6902 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6903 | if fn != self.fileName and (bool(self.fileName) or fn != "(Unnamed)"): |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6904 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6905 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6906 | self.clearSyntaxError() |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6907 | self.clearFlakesWarnings() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6908 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6909 | self.toggleWarning(0, 0, True, msg) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6910 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6911 | self.updateVerticalScrollBar() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6912 | |
10279 | 6913 | @pyqtSlot(str, dict) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6914 | def __processSyntaxCheckResult(self, fn, problems): |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6915 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4498
diff
changeset
|
6916 | Private slot to report the resulting messages of a syntax check. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6917 | |
10279 | 6918 | @param fn filename of the checked file |
6919 | @type str | |
3412
9364dab2d472
Plug-in docu updated, now the return values of the syntax checker is a dictionary
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3241
diff
changeset
|
6920 | @param problems dictionary with the keys 'error' and 'warnings' which |
9364dab2d472
Plug-in docu updated, now the return values of the syntax checker is a dictionary
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3241
diff
changeset
|
6921 | hold a list containing details about the error/ warnings |
9364dab2d472
Plug-in docu updated, now the return values of the syntax checker is a dictionary
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3241
diff
changeset
|
6922 | (file name, line number, column, codestring (only at syntax |
10279 | 6923 | errors), the message) |
6924 | @type dict | |
3173
1fb284abe46e
Interface to add user-defined services, e.g. in plugins. Auto syntax check working. Little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
6925 | """ |
1fb284abe46e
Interface to add user-defined services, e.g. in plugins. Auto syntax check working. Little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
6926 | # Check if it's the requested file, otherwise ignore signal |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6927 | if fn != self.fileName and (bool(self.fileName) or fn != "(Unnamed)"): |
3173
1fb284abe46e
Interface to add user-defined services, e.g. in plugins. Auto syntax check working. Little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
6928 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6929 | |
3173
1fb284abe46e
Interface to add user-defined services, e.g. in plugins. Auto syntax check working. Little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
6930 | self.clearSyntaxError() |
1fb284abe46e
Interface to add user-defined services, e.g. in plugins. Auto syntax check working. Little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
6931 | self.clearFlakesWarnings() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6932 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6933 | error = problems.get("error") |
3412
9364dab2d472
Plug-in docu updated, now the return values of the syntax checker is a dictionary
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3241
diff
changeset
|
6934 | if error: |
10692
9becf9ca115c
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
6935 | _fn, lineno, col, _code, msg = error |
3412
9364dab2d472
Plug-in docu updated, now the return values of the syntax checker is a dictionary
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3241
diff
changeset
|
6936 | self.toggleSyntaxError(lineno, col, True, msg) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6937 | |
10279 | 6938 | for _fn, lineno, col, _code, msg in problems.get("py_warnings", []): |
10474 | 6939 | self.toggleWarning( |
6940 | lineno, col, True, msg, warningType=EditorWarningKind.Python | |
6941 | ) | |
10188
0f873791d67e
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10180
diff
changeset
|
6942 | |
10279 | 6943 | for _fn, lineno, col, _code, msg in problems.get("warnings", []): |
10474 | 6944 | self.toggleWarning( |
6945 | lineno, col, True, msg, warningType=EditorWarningKind.Code | |
6946 | ) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6947 | |
4433
7ab862396a8a
Workaround for missing lines at vertical scroll bar caused by annotations.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4418
diff
changeset
|
6948 | self.updateVerticalScrollBar() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6949 | |
10279 | 6950 | @pyqtSlot() |
1353
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6951 | def __initOnlineSyntaxCheck(self): |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6952 | """ |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6953 | Private slot to initialize the online syntax check. |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6954 | """ |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6955 | self.__onlineSyntaxCheckTimer = QTimer(self) |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6956 | self.__onlineSyntaxCheckTimer.setSingleShot(True) |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6957 | self.__onlineSyntaxCheckTimer.setInterval( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6958 | Preferences.getEditor("OnlineSyntaxCheckInterval") * 1000 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6959 | ) |
3579
eccd12461319
BackgroundService: Restart of the client in different situations handled.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3576
diff
changeset
|
6960 | self.__onlineSyntaxCheckTimer.timeout.connect(self.checkSyntax) |
1353
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6961 | self.textChanged.connect(self.__resetOnlineSyntaxCheckTimer) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6962 | |
1353
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6963 | def __resetOnlineSyntaxCheckTimer(self): |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6964 | """ |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6965 | Private method to reset the online syntax check timer. |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6966 | """ |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6967 | if Preferences.getEditor("OnlineSyntaxCheck"): |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6968 | self.__onlineSyntaxCheckTimer.stop() |
e1c0af081a8e
Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1308
diff
changeset
|
6969 | self.__onlineSyntaxCheckTimer.start() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6970 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6971 | def __showCodeMetrics(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6972 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6973 | Private method to handle the code metrics context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6974 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
6975 | from eric7.DataViews.CodeMetricsDialog import CodeMetricsDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
6976 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6977 | if not self.checkDirty(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6978 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6979 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6980 | self.codemetrics = CodeMetricsDialog() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6981 | self.codemetrics.show() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6982 | self.codemetrics.start(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6983 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6984 | def __getCodeCoverageFile(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6985 | """ |
5051
3586ebd9fac8
Updated coverage.py to version 4.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4917
diff
changeset
|
6986 | Private method to get the file name of the file containing coverage |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
6987 | info. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6988 | |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
6989 | @return file name of the coverage file |
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
6990 | @rtype str |
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
6991 | """ |
9535
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
6992 | files = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6993 | |
9070
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
6994 | if bool(self.__coverageFile): |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
6995 | # return the path of a previously used coverage file |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
6996 | return self.__coverageFile |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
6997 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6998 | # first check if the file belongs to a project and there is |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
6999 | # a project coverage file |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
7000 | if self.project.isOpen() and self.project.isProjectCategory( |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
7001 | self.fileName, "SOURCES" |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
7002 | ): |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7003 | pfn = self.project.getMainScript(True) |
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7004 | if pfn is not None: |
9535
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7005 | files.extend( |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7006 | [f for f in Utilities.getCoverageFileNames(pfn) if f not in files] |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7007 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7008 | |
6285
045dc4c38701
Corrected a typo in several files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6278
diff
changeset
|
7009 | # now check, if there are coverage files belonging to ourselves |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7010 | fn = self.getFileName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7011 | if fn is not None: |
9535
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7012 | files.extend( |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7013 | [f for f in Utilities.getCoverageFileNames(fn) if f not in files] |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7014 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7015 | |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7016 | files = list(files) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7017 | if files: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7018 | if len(files) > 1: |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7019 | cfn, ok = QInputDialog.getItem( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7020 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7021 | self.tr("Code Coverage"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7022 | self.tr("Please select a coverage file"), |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7023 | files, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7024 | 0, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7025 | False, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7026 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7027 | if not ok: |
6891
93f82da09f22
Fixed some code style issues detected by the new 'return' checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6858
diff
changeset
|
7028 | return "" |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7029 | else: |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7030 | cfn = files[0] |
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7031 | else: |
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7032 | cfn = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7033 | |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7034 | return cfn |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7035 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7036 | def __showCodeCoverage(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7037 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7038 | Private method to handle the code coverage context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7039 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
7040 | from eric7.DataViews.PyCoverageDialog import PyCoverageDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
7041 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7042 | fn = self.__getCodeCoverageFile() |
9070
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7043 | self.__coverageFile = fn |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7044 | if fn: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7045 | self.codecoverage = PyCoverageDialog() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7046 | self.codecoverage.show() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7047 | self.codecoverage.start(fn, self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7048 | |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7049 | def refreshCoverageAnnotations(self): |
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7050 | """ |
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7051 | Public method to refresh the code coverage annotations. |
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7052 | """ |
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7053 | if self.showingNotcoveredMarkers: |
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7054 | self.codeCoverageShowAnnotations(silent=True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7055 | |
9070
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7056 | def codeCoverageShowAnnotations(self, silent=False, coverageFile=None): |
2163
2b02339f52bf
Enhanced the code coverage dialog functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2162
diff
changeset
|
7057 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7058 | Public method to handle the show code coverage annotations context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7059 | menu action. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7060 | |
9070
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7061 | @param silent flag indicating to not show any dialog (defaults to |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7062 | False) |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7063 | @type bool (optional) |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7064 | @param coverageFile path of the file containing the code coverage data |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7065 | (defaults to None) |
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7066 | @type str (optional) |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7067 | """ |
9690
2dc33116df50
Debug Client - Python
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
7068 | from coverage import Coverage # __IGNORE_WARNING_I102__ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
7069 | |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7070 | self.__codeCoverageHideAnnotations() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7071 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7072 | fn = coverageFile if bool(coverageFile) else self.__getCodeCoverageFile() |
9070
eab09a1ab8ce
Implemented the "Show Coverage" functionality and corrected the coverage related code in UnittestRunner.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
7073 | self.__coverageFile = fn |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7074 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7075 | if fn: |
10575
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7076 | if FileSystemUtilities.isRemoteFileName(fn): |
10576
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
7077 | coverageInterface = ( |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
7078 | ericApp().getObject("EricServer").getServiceInterface("Coverage") |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
7079 | ) |
10575
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7080 | ok, error = coverageInterface.loadCoverageData(fn) |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7081 | if not ok and not silent: |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7082 | EricMessageBox.critical( |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7083 | self, |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7084 | self.tr("Load Coverage Data"), |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7085 | self.tr( |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7086 | "<p>The coverage data could not be loaded from file" |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7087 | " <b>{0}</b>.</p><p>Reason: {1}</p>" |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7088 | ).format(self.cfn, error), |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7089 | ) |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7090 | return |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7091 | missing = coverageInterface.analyzeFile(self.fileName)[3] |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7092 | else: |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7093 | cover = Coverage(data_file=fn) |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7094 | cover.load() |
abde60847db6
Adapted the editors 'Show coverage annotations' functionality to the eric-ide server.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10574
diff
changeset
|
7095 | missing = cover.analysis2(self.fileName)[3] |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7096 | if missing: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7097 | for line in missing: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7098 | handle = self.markerAdd(line - 1, self.notcovered) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7099 | self.notcoveredMarkers.append(handle) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
7100 | self.coverageMarkersShown.emit(True) |
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
7101 | self.__markerMap.update() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7102 | else: |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7103 | if not silent: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7104 | EricMessageBox.information( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7105 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7106 | self.tr("Show Code Coverage Annotations"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7107 | self.tr("""All lines have been covered."""), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7108 | ) |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7109 | self.showingNotcoveredMarkers = True |
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7110 | else: |
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7111 | if not silent: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7112 | EricMessageBox.warning( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7113 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7114 | self.tr("Show Code Coverage Annotations"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7115 | self.tr("""There is no coverage file available."""), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7116 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7117 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7118 | def __codeCoverageHideAnnotations(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7119 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7120 | Private method to handle the hide code coverage annotations context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7121 | menu action. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7122 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7123 | for handle in self.notcoveredMarkers: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7124 | self.markerDeleteHandle(handle) |
8106
81bf8fe10735
Editor: fixed an issue handling breakpoints (and other stuff) in a cloned editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8004
diff
changeset
|
7125 | self.notcoveredMarkers.clear() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
7126 | self.coverageMarkersShown.emit(False) |
2391
f9a6a512bc1e
Added functionality to refresh the coverage markers of an editor if such are shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7127 | self.showingNotcoveredMarkers = False |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
7128 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7129 | |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7130 | def getCoverageLines(self): |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7131 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7132 | Public method to get the lines containing a coverage marker. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7133 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7134 | @return list of lines containing a coverage marker |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7135 | @rtype list of int |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7136 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7137 | lines = [] |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7138 | line = -1 |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7139 | while True: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7140 | line = self.markerFindNext(line + 1, 1 << self.notcovered) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7141 | if line < 0: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7142 | break |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7143 | else: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7144 | lines.append(line) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7145 | return lines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7146 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7147 | def hasCoverageMarkers(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7148 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7149 | Public method to test, if there are coverage markers. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7150 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7151 | @return flag indicating the presence of coverage markers |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7152 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7153 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7154 | return len(self.notcoveredMarkers) > 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7155 | |
10279 | 7156 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7157 | def nextUncovered(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7158 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7159 | Public slot to handle the 'Next uncovered' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7160 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7161 | line, index = self.getCursorPosition() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
7162 | if line == self.lines() - 1: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7163 | line = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7164 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7165 | line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7166 | ucline = self.markerFindNext(line, 1 << self.notcovered) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7167 | if ucline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7168 | # wrap around |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7169 | ucline = self.markerFindNext(0, 1 << self.notcovered) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7170 | if ucline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7171 | self.setCursorPosition(ucline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7172 | self.ensureLineVisible(ucline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7173 | |
10279 | 7174 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7175 | def previousUncovered(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7176 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7177 | Public slot to handle the 'Previous uncovered' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7178 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7179 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7180 | if line == 0: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
7181 | line = self.lines() - 1 |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7182 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7183 | line -= 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7184 | ucline = self.markerFindPrevious(line, 1 << self.notcovered) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7185 | if ucline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7186 | # wrap around |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7187 | ucline = self.markerFindPrevious(self.lines() - 1, 1 << self.notcovered) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7188 | if ucline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7189 | self.setCursorPosition(ucline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7190 | self.ensureLineVisible(ucline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7191 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7192 | def __showProfileData(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7193 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7194 | Private method to handle the show profile data context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7195 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
7196 | from eric7.DataViews.PyProfileDialog import PyProfileDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
7197 | |
9535
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7198 | files = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7199 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7200 | # first check if the file belongs to a project and there is |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7201 | # a project profile file |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
7202 | if self.project.isOpen() and self.project.isProjectCategory( |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
7203 | self.fileName, "SOURCES" |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
7204 | ): |
252
05692e3d37bf
Some code cleanup in Editor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
245
diff
changeset
|
7205 | fn = self.project.getMainScript(True) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7206 | if fn is not None: |
9535
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7207 | files.extend( |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7208 | [f for f in Utilities.getProfileFileNames(fn) if f not in files] |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7209 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7210 | |
6285
045dc4c38701
Corrected a typo in several files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6278
diff
changeset
|
7211 | # now check, if there are profile files belonging to ourselves |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7212 | fn = self.getFileName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7213 | if fn is not None: |
9535
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7214 | files.extend( |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7215 | [f for f in Utilities.getProfileFileNames(fn) if f not in files] |
8b5402794fb6
Fixed an issue in ProjectSourcesBrowser.py and Editor.py causing profile or coverage data not to be shown.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
7216 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7217 | |
9092
043848f65726
Changed logic creating the coverage and profile data file names.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9072
diff
changeset
|
7218 | files = list(files) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7219 | if files: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7220 | if len(files) > 1: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
7221 | fn, ok = QInputDialog.getItem( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7222 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7223 | self.tr("Profile Data"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7224 | self.tr("Please select a profile file"), |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7225 | files, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7226 | 0, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7227 | False, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7228 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7229 | if not ok: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7230 | return |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7231 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7232 | fn = files[0] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7233 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7234 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7235 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7236 | self.profiledata = PyProfileDialog() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7237 | self.profiledata.show() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7238 | self.profiledata.start(fn, self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7239 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7240 | def __lmBbookmarks(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7241 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7242 | Private method to handle the 'LMB toggles bookmark' context menu |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7243 | action. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7244 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7245 | self.marginMenuActs["LMBbookmarks"].setChecked(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7246 | self.marginMenuActs["LMBbreakpoints"].setChecked(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7247 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7248 | def __lmBbreakpoints(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7249 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7250 | Private method to handle the 'LMB toggles breakpoint' context menu |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7251 | action. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7252 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7253 | self.marginMenuActs["LMBbookmarks"].setChecked(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7254 | self.marginMenuActs["LMBbreakpoints"].setChecked(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7255 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7256 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7257 | ## Syntax error handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7258 | ########################################################################### |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7259 | |
10286
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7260 | def toggleSyntaxError(self, line, index, setError, msg="", show=False): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7261 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7262 | Public method to toggle a syntax error indicator. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7263 | |
10286
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7264 | @param line line number of the syntax error |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7265 | @type int |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7266 | @param index index number of the syntax error |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7267 | @type int |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7268 | @param setError flag indicating if the error marker should be |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7269 | set or deleted |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7270 | @type bool |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7271 | @param msg error message |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7272 | @type str |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7864
diff
changeset
|
7273 | @param show flag indicating to set the cursor to the error position |
10286
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7274 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7275 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7276 | if line == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7277 | line = 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7278 | # hack to show a syntax error marker, if line is reported to be 0 |
10341
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7279 | |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7280 | line = min(line, self.lines()) |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7281 | # Limit the line number to the ones we really have to ensure proper display |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7282 | # of the error annotation. |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7283 | |
10286
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7284 | if setError: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7285 | # set a new syntax error marker |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7286 | markers = self.markersAtLine(line - 1) |
3441
1b07f996e9ee
Continued improving JavaScript support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3438
diff
changeset
|
7287 | index += self.indentation(line - 1) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7288 | if not (markers & (1 << self.syntaxerror)): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7289 | handle = self.markerAdd(line - 1, self.syntaxerror) |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7290 | self.syntaxerrors[handle] = [(msg, index)] |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
7291 | self.syntaxerrorToggled.emit(self) |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7292 | else: |
10279 | 7293 | for handle in self.syntaxerrors: |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
7294 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7295 | self.markerLine(handle) == line - 1 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7296 | and (msg, index) not in self.syntaxerrors[handle] |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
7297 | ): |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7298 | self.syntaxerrors[handle].append((msg, index)) |
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7299 | if show: |
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7300 | self.setCursorPosition(line - 1, index) |
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7301 | self.ensureLineVisible(line - 1) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7302 | else: |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10345
diff
changeset
|
7303 | for handle in list(self.syntaxerrors): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7304 | if self.markerLine(handle) == line - 1: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7305 | del self.syntaxerrors[handle] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7306 | self.markerDeleteHandle(handle) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
7307 | self.syntaxerrorToggled.emit(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7308 | |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7309 | self.__setAnnotation(line - 1) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
7310 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7311 | |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7312 | def getSyntaxErrorLines(self): |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7313 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7314 | Public method to get the lines containing a syntax error. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7315 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7316 | @return list of lines containing a syntax error |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7317 | @rtype list of int |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7318 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7319 | lines = [] |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7320 | line = -1 |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7321 | while True: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7322 | line = self.markerFindNext(line + 1, 1 << self.syntaxerror) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7323 | if line < 0: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7324 | break |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7325 | else: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7326 | lines.append(line) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7327 | return lines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7328 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7329 | def hasSyntaxErrors(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7330 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7331 | Public method to check for the presence of syntax errors. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7332 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7333 | @return flag indicating the presence of syntax errors |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7334 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7335 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7336 | return len(self.syntaxerrors) > 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7337 | |
10279 | 7338 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7339 | def gotoSyntaxError(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7340 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7341 | Public slot to handle the 'Goto syntax error' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7342 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7343 | seline = self.markerFindNext(0, 1 << self.syntaxerror) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7344 | if seline >= 0: |
915
c1e052773c08
Changed syntax check to report error position within the line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
7345 | index = 0 |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8193
diff
changeset
|
7346 | for handle in self.syntaxerrors: |
915
c1e052773c08
Changed syntax check to report error position within the line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
7347 | if self.markerLine(handle) == seline: |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7348 | index = self.syntaxerrors[handle][0][1] |
915
c1e052773c08
Changed syntax check to report error position within the line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
7349 | self.setCursorPosition(seline, index) |
c1e052773c08
Changed syntax check to report error position within the line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
7350 | self.ensureLineVisible(seline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7351 | |
10279 | 7352 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7353 | def clearSyntaxError(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7354 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7355 | Public slot to handle the 'Clear all syntax error' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7356 | """ |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10345
diff
changeset
|
7357 | for handle in list(self.syntaxerrors): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7358 | line = self.markerLine(handle) + 1 |
915
c1e052773c08
Changed syntax check to report error position within the line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
7359 | self.toggleSyntaxError(line, 0, False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7360 | |
8106
81bf8fe10735
Editor: fixed an issue handling breakpoints (and other stuff) in a cloned editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8004
diff
changeset
|
7361 | self.syntaxerrors.clear() |
3149
e98100461710
Fixed an issue in the editor related to resetting a syntax error marker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3100
diff
changeset
|
7362 | self.syntaxerrorToggled.emit(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7363 | |
10279 | 7364 | @pyqtSlot() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
7365 | def __showSyntaxError(self, line=-1): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7366 | """ |
915
c1e052773c08
Changed syntax check to report error position within the line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
7367 | Private slot to handle the 'Show syntax error message' |
c1e052773c08
Changed syntax check to report error position within the line.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
7368 | context menu action. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7369 | |
10279 | 7370 | @param line line number to show the syntax error for |
7371 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7372 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7373 | if line == -1: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7374 | line = self.line |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7375 | |
10279 | 7376 | for handle in self.syntaxerrors: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7377 | if self.markerLine(handle) == line: |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7378 | errors = [e[0] for e in self.syntaxerrors[handle]] |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7379 | EricMessageBox.critical( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7380 | self, self.tr("Syntax Error"), "\n".join(errors) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7381 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7382 | break |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7383 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7384 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7385 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7386 | self.tr("Syntax Error"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7387 | self.tr("No syntax error message available."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7388 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7389 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7390 | ########################################################################### |
6111
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7391 | ## VCS conflict marker handling methods below |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7392 | ########################################################################### |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7393 | |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7394 | def getVcsConflictMarkerLines(self): |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7395 | """ |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7396 | Public method to determine the lines containing a VCS conflict marker. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7397 | |
6111
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7398 | @return list of line numbers containg a VCS conflict marker |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7399 | @rtype list of int |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7400 | """ |
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7401 | conflictMarkerLines = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7402 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7403 | regExp = re.compile( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7404 | "|".join(Editor.VcsConflictMarkerLineRegExpList), re.MULTILINE |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7405 | ) |
10908
ef1b3cd9a6ca
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10895
diff
changeset
|
7406 | matches = list(regExp.finditer(self.text())) |
6571
feb72cfc7807
Editor: fixed am issue related to replacing found text using a match and fixed some typos in some help text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6498
diff
changeset
|
7407 | for match in matches: |
feb72cfc7807
Editor: fixed am issue related to replacing found text using a match and fixed some typos in some help text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6498
diff
changeset
|
7408 | line, _ = self.lineIndexFromPosition(match.start()) |
feb72cfc7807
Editor: fixed am issue related to replacing found text using a match and fixed some typos in some help text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6498
diff
changeset
|
7409 | conflictMarkerLines.append(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7410 | |
6111
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7411 | return conflictMarkerLines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7412 | |
6111
d38b38117d83
Added VCS conflict markers to the types shown on the marker map.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6105
diff
changeset
|
7413 | ########################################################################### |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7414 | ## Warning handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7415 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7416 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
7417 | def toggleWarning( |
10474 | 7418 | self, |
7419 | line, | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
7420 | _col, |
10474 | 7421 | setWarning, |
7422 | msg="", | |
7423 | warningType=EditorWarningKind.Code, | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
7424 | ): |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7425 | """ |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7426 | Public method to toggle a warning indicator. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7427 | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7428 | Note: This method is used to set pyflakes and code style warnings. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7429 | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7430 | @param line line number of the warning |
10286
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7431 | @type int |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10679
diff
changeset
|
7432 | @param _col column of the warning (unused) |
10286
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7433 | @type int |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7434 | @param setWarning flag indicating if the warning marker should be |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7435 | set or deleted |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7436 | @type bool |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7437 | @param msg warning message |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7438 | @type str |
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7439 | @param warningType type of warning message |
10474 | 7440 | @type EditorWarningKind |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7441 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7442 | if line == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7443 | line = 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7444 | # hack to show a warning marker, if line is reported to be 0 |
10341
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7445 | |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7446 | line = min(line, self.lines()) |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7447 | # Limit the line number to the ones we really have to ensure proper display |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7448 | # of the warning annotation. |
3fdffd9cc21d
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10331
diff
changeset
|
7449 | |
10286
612ce5e79d08
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10282
diff
changeset
|
7450 | if setWarning: |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7451 | # set/amend a new warning marker |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7452 | warn = (msg, warningType) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7453 | markers = self.markersAtLine(line - 1) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7454 | if not (markers & (1 << self.warning)): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7455 | handle = self.markerAdd(line - 1, self.warning) |
10279 | 7456 | self._warnings[handle] = [warn] |
10307 | 7457 | self.syntaxerrorToggled.emit(self) |
7458 | # signal is also used for warnings | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7459 | else: |
10279 | 7460 | for handle in self._warnings: |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
7461 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7462 | self.markerLine(handle) == line - 1 |
10279 | 7463 | and warn not in self._warnings[handle] |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
7464 | ): |
10279 | 7465 | self._warnings[handle].append(warn) |
7466 | else: | |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10345
diff
changeset
|
7467 | for handle in list(self._warnings): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7468 | if self.markerLine(handle) == line - 1: |
10279 | 7469 | del self._warnings[handle] |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7470 | self.markerDeleteHandle(handle) |
10307 | 7471 | self.syntaxerrorToggled.emit(self) |
7472 | # signal is also used for warnings | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7473 | |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7474 | self.__setAnnotation(line - 1) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
7475 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7476 | |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7477 | def getWarningLines(self): |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7478 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7479 | Public method to get the lines containing a warning. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7480 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7481 | @return list of lines containing a warning |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7482 | @rtype list of int |
3325
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7483 | """ |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7484 | lines = [] |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7485 | line = -1 |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7486 | while True: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7487 | line = self.markerFindNext(line + 1, 1 << self.warning) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7488 | if line < 0: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7489 | break |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7490 | else: |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7491 | lines.append(line) |
d2d6dda86d32
Added methods to extract the line numbers of the various marker types to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3261
diff
changeset
|
7492 | return lines |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7493 | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7494 | def hasWarnings(self): |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7495 | """ |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7496 | Public method to check for the presence of warnings. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7497 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7498 | @return flag indicating the presence of warnings |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7499 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7500 | """ |
10279 | 7501 | return len(self._warnings) > 0 |
7502 | ||
7503 | @pyqtSlot() | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7504 | def nextWarning(self): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7505 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7506 | Public slot to handle the 'Next warning' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7507 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7508 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7509 | if line == self.lines() - 1: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7510 | line = 0 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7511 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7512 | line += 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7513 | fwline = self.markerFindNext(line, 1 << self.warning) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7514 | if fwline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7515 | # wrap around |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7516 | fwline = self.markerFindNext(0, 1 << self.warning) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7517 | if fwline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7518 | self.setCursorPosition(fwline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7519 | self.ensureLineVisible(fwline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7520 | |
10279 | 7521 | @pyqtSlot() |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7522 | def previousWarning(self): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7523 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7524 | Public slot to handle the 'Previous warning' context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7525 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7526 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7527 | if line == 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7528 | line = self.lines() - 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7529 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7530 | line -= 1 |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7531 | fwline = self.markerFindPrevious(line, 1 << self.warning) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7532 | if fwline < 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7533 | # wrap around |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7534 | fwline = self.markerFindPrevious(self.lines() - 1, 1 << self.warning) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7535 | if fwline >= 0: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7536 | self.setCursorPosition(fwline, 0) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7537 | self.ensureLineVisible(fwline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7538 | |
10279 | 7539 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7540 | def clearFlakesWarnings(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7541 | """ |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7542 | Public slot to clear all pyflakes warnings. |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7543 | """ |
10474 | 7544 | self.__clearTypedWarning(EditorWarningKind.Code) |
7545 | self.__clearTypedWarning(EditorWarningKind.Python) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7546 | |
10279 | 7547 | @pyqtSlot() |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7548 | def clearStyleWarnings(self): |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7549 | """ |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7550 | Public slot to clear all style warnings. |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7551 | """ |
10474 | 7552 | self.__clearTypedWarning(EditorWarningKind.Style) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7553 | |
10279 | 7554 | @pyqtSlot() |
7555 | def clearInfoWarnings(self): | |
7556 | """ | |
7557 | Public slot to clear all info warnings. | |
7558 | """ | |
10474 | 7559 | self.__clearTypedWarning(EditorWarningKind.Info) |
10279 | 7560 | |
10288 | 7561 | @pyqtSlot() |
7562 | def clearErrorWarnings(self): | |
7563 | """ | |
7564 | Public slot to clear all error warnings. | |
7565 | """ | |
10474 | 7566 | self.__clearTypedWarning(EditorWarningKind.Error) |
10288 | 7567 | |
7568 | @pyqtSlot() | |
7569 | def clearCodeWarnings(self): | |
7570 | """ | |
7571 | Public slot to clear all code warnings. | |
7572 | """ | |
10474 | 7573 | self.__clearTypedWarning(EditorWarningKind.Code) |
10288 | 7574 | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7575 | def __clearTypedWarning(self, warningKind): |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7576 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
7577 | Private method to clear warnings of a specific kind. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7578 | |
10474 | 7579 | @param warningKind kind of warning to clear |
7580 | @type EditorWarningKind | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7581 | """ |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10345
diff
changeset
|
7582 | for handle in list(self._warnings): |
10279 | 7583 | issues = [] |
7584 | for msg, warningType in self._warnings[handle]: | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7585 | if warningType == warningKind: |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7586 | continue |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7587 | |
10279 | 7588 | issues.append((msg, warningType)) |
7589 | ||
7590 | if issues: | |
7591 | self._warnings[handle] = issues | |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7592 | self.__setAnnotation(self.markerLine(handle)) |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7593 | else: |
10279 | 7594 | del self._warnings[handle] |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7595 | self.__setAnnotation(self.markerLine(handle)) |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7596 | self.markerDeleteHandle(handle) |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7597 | self.syntaxerrorToggled.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
7598 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7599 | |
10279 | 7600 | @pyqtSlot() |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7601 | def clearWarnings(self): |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7602 | """ |
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7603 | Public slot to clear all warnings. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7604 | """ |
10279 | 7605 | for handle in self._warnings: |
7606 | self._warnings[handle] = [] | |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7607 | self.__setAnnotation(self.markerLine(handle)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7608 | self.markerDeleteHandle(handle) |
10279 | 7609 | self._warnings.clear() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
7610 | self.syntaxerrorToggled.emit(self) |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
7611 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7612 | |
10279 | 7613 | @pyqtSlot() |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
7614 | def __showWarning(self, line=-1): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7615 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7616 | Private slot to handle the 'Show warning' context menu action. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7617 | |
10279 | 7618 | @param line line number to show the warning for |
7619 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7620 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7621 | if line == -1: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7622 | line = self.line |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7623 | |
10279 | 7624 | for handle in self._warnings: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7625 | if self.markerLine(handle) == line: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7626 | EricMessageBox.warning( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7627 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7628 | self.tr("Warning"), |
10279 | 7629 | "\n".join([w[0] for w in self._warnings[handle]]), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7630 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7631 | break |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7632 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7633 | EricMessageBox.warning( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7634 | self, self.tr("Warning"), self.tr("No warning messages available.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7635 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7636 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7637 | ########################################################################### |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7638 | ## Annotation handling methods below |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7639 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7640 | |
10279 | 7641 | @pyqtSlot() |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7642 | def __setAnnotationStyles(self): |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7643 | """ |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7644 | Private slot to define the style used by inline annotations. |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7645 | """ |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7646 | if hasattr(QsciScintilla, "annotate"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7647 | self.annotationWarningStyle = QsciScintilla.STYLE_LASTPREDEFINED + 1 |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7648 | self.SendScintilla( |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7649 | QsciScintilla.SCI_STYLESETFORE, |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7650 | self.annotationWarningStyle, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7651 | Preferences.getEditorColour("AnnotationsWarningForeground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7652 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7653 | self.SendScintilla( |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7654 | QsciScintilla.SCI_STYLESETBACK, |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7655 | self.annotationWarningStyle, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7656 | Preferences.getEditorColour("AnnotationsWarningBackground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7657 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7658 | |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7659 | self.annotationErrorStyle = self.annotationWarningStyle + 1 |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7660 | self.SendScintilla( |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7661 | QsciScintilla.SCI_STYLESETFORE, |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7662 | self.annotationErrorStyle, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7663 | Preferences.getEditorColour("AnnotationsErrorForeground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7664 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7665 | self.SendScintilla( |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7666 | QsciScintilla.SCI_STYLESETBACK, |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7667 | self.annotationErrorStyle, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7668 | Preferences.getEditorColour("AnnotationsErrorBackground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7669 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7670 | |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7671 | self.annotationStyleStyle = self.annotationErrorStyle + 1 |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7672 | self.SendScintilla( |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7673 | QsciScintilla.SCI_STYLESETFORE, |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7674 | self.annotationStyleStyle, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7675 | Preferences.getEditorColour("AnnotationsStyleForeground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7676 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7677 | self.SendScintilla( |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7678 | QsciScintilla.SCI_STYLESETBACK, |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7679 | self.annotationStyleStyle, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7680 | Preferences.getEditorColour("AnnotationsStyleBackground"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7681 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7682 | |
10279 | 7683 | self.annotationInfoStyle = self.annotationStyleStyle + 1 |
7684 | self.SendScintilla( | |
7685 | QsciScintilla.SCI_STYLESETFORE, | |
7686 | self.annotationInfoStyle, | |
7687 | Preferences.getEditorColour("AnnotationsInfoForeground"), | |
7688 | ) | |
7689 | self.SendScintilla( | |
7690 | QsciScintilla.SCI_STYLESETBACK, | |
7691 | self.annotationInfoStyle, | |
7692 | Preferences.getEditorColour("AnnotationsInfoBackground"), | |
7693 | ) | |
7694 | ||
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7695 | def __setAnnotation(self, line): |
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7696 | """ |
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7697 | Private method to set the annotations for the given line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7698 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7699 | @param line number of the line that needs annotation |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7700 | @type int |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7701 | """ |
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7702 | if hasattr(QsciScintilla, "annotate"): |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7703 | warningAnnotations = [] |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7704 | errorAnnotations = [] |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7705 | styleAnnotations = [] |
10279 | 7706 | infoAnnotations = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7707 | |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7708 | # step 1: do warnings |
10279 | 7709 | for handle in self._warnings: |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7710 | if self.markerLine(handle) == line: |
10279 | 7711 | for msg, warningType in self._warnings[handle]: |
10474 | 7712 | if warningType == EditorWarningKind.Info: |
10279 | 7713 | infoAnnotations.append(self.tr("Info: {0}").format(msg)) |
10474 | 7714 | elif warningType == EditorWarningKind.Error: |
10288 | 7715 | errorAnnotations.append(self.tr("Error: {0}").format(msg)) |
10474 | 7716 | elif warningType == EditorWarningKind.Style: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7717 | styleAnnotations.append(self.tr("Style: {0}").format(msg)) |
10474 | 7718 | elif warningType == EditorWarningKind.Python: |
10188
0f873791d67e
Syntax Checker
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10180
diff
changeset
|
7719 | warningAnnotations.append(msg) |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7720 | else: |
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7721 | warningAnnotations.append( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7722 | self.tr("Warning: {0}").format(msg) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7723 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7724 | |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7725 | # step 2: do syntax errors |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8193
diff
changeset
|
7726 | for handle in self.syntaxerrors: |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7727 | if self.markerLine(handle) == line: |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2900
diff
changeset
|
7728 | for msg, _ in self.syntaxerrors[handle]: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7729 | errorAnnotations.append(self.tr("Error: {0}").format(msg)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7730 | |
10288 | 7731 | # step 3: assemble the annotation |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7732 | annotations = [] |
10279 | 7733 | if infoAnnotations: |
7734 | annotationInfoTxt = "\n".join(infoAnnotations) | |
7735 | if styleAnnotations or warningAnnotations or errorAnnotations: | |
7736 | annotationInfoTxt += "\n" | |
7737 | annotations.append( | |
7738 | QsciStyledText(annotationInfoTxt, self.annotationInfoStyle) | |
7739 | ) | |
7740 | ||
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
7741 | if styleAnnotations: |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7742 | annotationStyleTxt = "\n".join(styleAnnotations) |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
7743 | if warningAnnotations or errorAnnotations: |
2905
a1ae4b297bc0
Added capability to have different warning styles to the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2904
diff
changeset
|
7744 | annotationStyleTxt += "\n" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7745 | annotations.append( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7746 | QsciStyledText(annotationStyleTxt, self.annotationStyleStyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7747 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7748 | |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
7749 | if warningAnnotations: |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7750 | annotationWarningTxt = "\n".join(warningAnnotations) |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
7751 | if errorAnnotations: |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7752 | annotationWarningTxt += "\n" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7753 | annotations.append( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7754 | QsciStyledText(annotationWarningTxt, self.annotationWarningStyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7755 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7756 | |
2959
86ad8854361b
Corrected an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2955
diff
changeset
|
7757 | if errorAnnotations: |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7758 | annotationErrorTxt = "\n".join(errorAnnotations) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7759 | annotations.append( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7760 | QsciStyledText(annotationErrorTxt, self.annotationErrorStyle) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7761 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7762 | |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7763 | if annotations: |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7764 | self.annotate(line, annotations) |
726
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7765 | else: |
57d1efea16e0
Started implementing annotations support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
723
diff
changeset
|
7766 | self.clearAnnotations(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7767 | |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7768 | def __refreshAnnotations(self): |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7769 | """ |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7770 | Private method to refresh the annotations. |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7771 | """ |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7772 | if hasattr(QsciScintilla, "annotate"): |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7773 | self.clearAnnotations() |
10279 | 7774 | for handle in self._warnings: |
7775 | line = self.markerLine(handle) | |
7776 | self.__setAnnotation(line) | |
7777 | for handle in self.syntaxerrors: | |
728
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7778 | line = self.markerLine(handle) |
3ee110082fb7
Finished implementing the display of annotations .
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
726
diff
changeset
|
7779 | self.__setAnnotation(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7780 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7781 | ################################################################# |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7782 | ## Fold handling methods |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7783 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7784 | |
10279 | 7785 | @pyqtSlot() |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7786 | def toggleCurrentFold(self): |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7787 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7788 | Public slot to toggle the fold containing the current line. |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7789 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7790 | line, index = self.getCursorPosition() |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7791 | self.foldLine(line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7792 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7793 | def expandFoldWithChildren(self, line=-1): |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7794 | """ |
10279 | 7795 | Public method to expand the current fold including its children. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7796 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7797 | @param line number of line to be expanded |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7798 | @type int |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7799 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7800 | if line == -1: |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7801 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7802 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7803 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7804 | QsciScintilla.SCI_FOLDCHILDREN, line, QsciScintilla.SC_FOLDACTION_EXPAND |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7805 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7806 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7807 | def collapseFoldWithChildren(self, line=-1): |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7808 | """ |
10279 | 7809 | Public method to collapse the current fold including its children. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7810 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7811 | @param line number of line to be expanded |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7812 | @type int |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7813 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7814 | if line == -1: |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7815 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7816 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7817 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7818 | QsciScintilla.SCI_FOLDCHILDREN, line, QsciScintilla.SC_FOLDACTION_CONTRACT |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7819 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7820 | |
10279 | 7821 | @pyqtSlot() |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7822 | def __contextMenuExpandFoldWithChildren(self): |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7823 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7824 | Private slot to handle the context menu expand with children action. |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7825 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7826 | self.expandFoldWithChildren(self.line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7827 | |
10279 | 7828 | @pyqtSlot() |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7829 | def __contextMenuCollapseFoldWithChildren(self): |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7830 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7831 | Private slot to handle the context menu collapse with children action. |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7832 | """ |
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7833 | self.collapseFoldWithChildren(self.line) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7834 | |
6297
85e20e9b4d55
Editor: added a context menu for the "fold" margin and improved the handling of folded lines when using "go to" functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
7835 | ################################################################# |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7836 | ## Macro handling methods |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7837 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7838 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7839 | def __getMacroName(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7840 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7841 | Private method to select a macro name from the list of macros. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7842 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
7843 | @return Tuple of macro name and a flag, indicating, if the user |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7844 | pressed ok or canceled the operation. |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
7845 | @rtype tuple of (str, bool) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7846 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7847 | qs = [] |
10279 | 7848 | for s in self.macros: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7849 | qs.append(s) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7850 | qs.sort() |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
7851 | return QInputDialog.getItem( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7852 | self, self.tr("Macro Name"), self.tr("Select a macro name:"), qs, 0, False |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7853 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7854 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7855 | def macroRun(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7856 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7857 | Public method to execute a macro. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7858 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7859 | name, ok = self.__getMacroName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7860 | if ok and name: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7861 | self.macros[name].play() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7862 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7863 | def macroDelete(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7864 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7865 | Public method to delete a macro. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7866 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7867 | name, ok = self.__getMacroName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7868 | if ok and name: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7869 | del self.macros[name] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7870 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7871 | def macroLoad(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7872 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7873 | Public method to load a macro from a file. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7874 | """ |
10926
9ef616cd220d
Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10908
diff
changeset
|
7875 | configDir = EricUtilities.getConfigDir() |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7876 | fname = EricFileDialog.getOpenFileName( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7877 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7878 | self.tr("Load macro file"), |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7879 | configDir, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7880 | self.tr("Macro files (*.macro)"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7881 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7882 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7883 | if not fname: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7884 | return # user aborted |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7885 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7886 | try: |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7783
diff
changeset
|
7887 | with open(fname, "r", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7783
diff
changeset
|
7888 | lines = f.readlines() |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7790
diff
changeset
|
7889 | except OSError: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7890 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7891 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7892 | self.tr("Error loading macro"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7893 | self.tr("<p>The macro file <b>{0}</b> could not be read.</p>").format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7894 | fname |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7895 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7896 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7897 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7898 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7899 | if len(lines) != 2: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7900 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7901 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7902 | self.tr("Error loading macro"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7903 | self.tr("<p>The macro file <b>{0}</b> is corrupt.</p>").format(fname), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7904 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7905 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7906 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7907 | macro = QsciMacro(lines[1], self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7908 | self.macros[lines[0].strip()] = macro |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7909 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7910 | def macroSave(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7911 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7912 | Public method to save a macro to a file. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7913 | """ |
10926
9ef616cd220d
Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10908
diff
changeset
|
7914 | configDir = EricUtilities.getConfigDir() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7915 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7916 | name, ok = self.__getMacroName() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7917 | if not ok or not name: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7918 | return # user abort |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7919 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7920 | fname, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7921 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7922 | self.tr("Save macro file"), |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7923 | configDir, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7924 | self.tr("Macro files (*.macro)"), |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7925 | "", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7926 | EricFileDialog.DontConfirmOverwrite, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7927 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7928 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7929 | if not fname: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7930 | return # user aborted |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7931 | |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
7932 | fpath = pathlib.Path(fname) |
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
7933 | if not fpath.suffix: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7934 | ex = selectedFilter.split("(*")[1].split(")")[0] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7935 | if ex: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
7936 | fpath = fpath.with_suffix(ex) |
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
7937 | if fpath.exists(): |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7938 | res = EricMessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7939 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7940 | self.tr("Save macro"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7941 | self.tr( |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9563
diff
changeset
|
7942 | "<p>The macro file <b>{0}</b> already exists. Overwrite it?</p>" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7943 | ).format(fpath), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7944 | icon=EricMessageBox.Warning, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7945 | ) |
546
c3e7bf5648be
Continued replacing QMessageBox.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
542
diff
changeset
|
7946 | if not res: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7947 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7948 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7949 | try: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
7950 | with fpath.open("w", encoding="utf-8") as f: |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7783
diff
changeset
|
7951 | f.write("{0}{1}".format(name, "\n")) |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7783
diff
changeset
|
7952 | f.write(self.macros[name].save()) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7790
diff
changeset
|
7953 | except OSError: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7954 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7955 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7956 | self.tr("Error saving macro"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7957 | self.tr( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7958 | "<p>The macro file <b>{0}</b> could not be written.</p>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7959 | ).format(fpath), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7960 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7961 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7962 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7963 | def macroRecordingStart(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7964 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7965 | Public method to start macro recording. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7966 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7967 | if self.recording: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7968 | res = EricMessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
7969 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7970 | self.tr("Start Macro Recording"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7971 | self.tr("Macro recording is already active. Start new?"), |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
7972 | icon=EricMessageBox.Warning, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7973 | yesDefault=True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7974 | ) |
541
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
539
diff
changeset
|
7975 | if res: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7976 | self.macroRecordingStop() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7977 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7978 | return |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7979 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7980 | self.recording = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7981 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7982 | self.curMacro = QsciMacro(self) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7983 | self.curMacro.startRecording() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7984 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7985 | def macroRecordingStop(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7986 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7987 | Public method to stop macro recording. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7988 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7989 | if not self.recording: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7990 | return # we are not recording |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7991 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7992 | self.curMacro.endRecording() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7993 | self.recording = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7994 | |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
7995 | name, ok = QInputDialog.getText( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
7996 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7997 | self.tr("Macro Recording"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
7998 | self.tr("Enter name of the macro:"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
7999 | QLineEdit.EchoMode.Normal, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8000 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8001 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8002 | if ok and name: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8003 | self.macros[name] = self.curMacro |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8004 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8005 | self.curMacro = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8006 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8007 | ################################################################# |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8008 | ## Overwritten methods |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8009 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8010 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8011 | def undo(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8012 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8013 | Public method to undo the last recorded change. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8014 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8015 | super().undo() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
8016 | self.undoAvailable.emit(self.isUndoAvailable()) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
8017 | self.redoAvailable.emit(self.isRedoAvailable()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8018 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8019 | def redo(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8020 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8021 | Public method to redo the last recorded change. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8022 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8023 | super().redo() |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
8024 | self.undoAvailable.emit(self.isUndoAvailable()) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
8025 | self.redoAvailable.emit(self.isRedoAvailable()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8026 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
8027 | def close(self): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8028 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8029 | Public method called when the window gets closed. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8030 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8031 | This overwritten method redirects the action to our |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8032 | ViewManager.closeEditor, which in turn calls our closeIt |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8033 | method. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8034 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8035 | @return flag indicating a successful close of the editor |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8036 | @rtype bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8037 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8038 | return self.vm.closeEditor(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8039 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8040 | def closeIt(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8041 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8042 | Public method called by the viewmanager to finally get rid of us. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8043 | """ |
1930
3ecd42f536fd
Fixed an issue related to breakpoints and cloned editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1928
diff
changeset
|
8044 | if Preferences.getEditor("ClearBreaksOnClose") and not self.__clones: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8045 | self.__menuClearBreakpoints() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8046 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8047 | for clone in self.__clones[:]: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8048 | self.removeClone(clone) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8049 | clone.removeClone(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8050 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8051 | self.breakpointModel.rowsAboutToBeRemoved.disconnect(self.__deleteBreakPoints) |
460
6a3899e91d76
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
448
diff
changeset
|
8052 | self.breakpointModel.dataAboutToBeChanged.disconnect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8053 | self.__breakPointDataAboutToBeChanged |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8054 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8055 | self.breakpointModel.dataChanged.disconnect(self.__changeBreakPoints) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8056 | self.breakpointModel.rowsInserted.disconnect(self.__addBreakPoints) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8057 | |
3972
efc9c803ebdc
Fixed an issue related to handling an inactive syntax checker in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3971
diff
changeset
|
8058 | if self.syntaxCheckService is not None: |
efc9c803ebdc
Fixed an issue related to handling an inactive syntax checker in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3971
diff
changeset
|
8059 | self.syntaxCheckService.syntaxChecked.disconnect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8060 | self.__processSyntaxCheckResult |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8061 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8062 | self.syntaxCheckService.error.disconnect(self.__processSyntaxCheckError) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8063 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8064 | if self.spell: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8065 | self.spell.stopIncrementalCheck() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8066 | |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
8067 | with contextlib.suppress(TypeError): |
507
23652b3a0533
Fixed an issue with not connected signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
502
diff
changeset
|
8068 | self.project.projectPropertiesChanged.disconnect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8069 | self.__projectPropertiesChanged |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8070 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8071 | |
1406
e2f1634cceed
Fixed an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1373
diff
changeset
|
8072 | if self.fileName: |
e2f1634cceed
Fixed an issue in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1373
diff
changeset
|
8073 | self.taskViewer.clearFileTasks(self.fileName, True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8074 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8075 | super().close() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8076 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8077 | def keyPressEvent(self, ev): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8078 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
8079 | Protected method to handle the user input a key at a time. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8080 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8081 | @param ev key event |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8082 | @type QKeyEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8083 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8084 | |
7969
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8085 | def encloseSelectedText(encString): |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8086 | """ |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8087 | Local function to enclose the current selection with some |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8088 | characters. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8089 | |
7969
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8090 | @param encString string to use to enclose the selection |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8091 | (one or two characters) |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8092 | @type str |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8093 | """ |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8094 | startChar = encString[0] |
8235
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8231
diff
changeset
|
8095 | endChar = encString[1] if len(encString) == 2 else startChar |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8096 | |
7969
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8097 | sline, sindex, eline, eindex = self.getSelection() |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8098 | replaceText = startChar + self.selectedText() + endChar |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8099 | self.beginUndoAction() |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8100 | self.replaceSelectedText(replaceText) |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8101 | self.endUndoAction() |
62eff8b34a8d
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
8102 | self.setSelection(sline, sindex + 1, eline, eindex + 1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8103 | |
10715 | 8104 | if ( |
8105 | ev.key() == Qt.Key.Key_Comma | |
8106 | and ev.modifiers() & Qt.KeyboardModifier.KeypadModifier | |
8107 | ): | |
8108 | # Change the numpad ',' to always insert a '.' because that is what | |
8109 | # is needed in programming. | |
8110 | ||
8111 | # Create a new QKeyEvent to substitute the original one | |
8112 | ev = QKeyEvent( | |
8113 | ev.type(), | |
8114 | Qt.Key.Key_Period, | |
8115 | ev.modifiers(), | |
8116 | ".", | |
8117 | ev.isAutoRepeat(), | |
8118 | ev.count(), | |
8119 | ) | |
8120 | ||
8121 | super().keyPressEvent(ev) | |
8122 | return | |
8123 | ||
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8124 | txt = ev.text() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8125 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8126 | # See it is text to insert. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8127 | if len(txt) and txt >= " ": |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8128 | if self.hasSelectedText() and txt in Editor.EncloseChars: |
8222
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
8129 | encloseSelectedText(Editor.EncloseChars[txt]) |
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
8130 | ev.accept() |
5994b80b8760
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8221
diff
changeset
|
8131 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8132 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8133 | super().keyPressEvent(ev) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8134 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8135 | ev.ignore() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8136 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8137 | def focusInEvent(self, event): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8138 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8139 | Protected method called when the editor receives focus. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8140 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8141 | This method checks for modifications of the current file and |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8142 | rereads it upon request. The cursor is placed at the current position |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8143 | assuming, that it is in the vicinity of the old position after the |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8144 | reread. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8145 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8146 | @param event the event object |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8147 | @type QFocusEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8148 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8149 | self.recolor() |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8150 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8151 | self.vm.editActGrp.setEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8152 | self.vm.editorActGrp.setEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8153 | self.vm.copyActGrp.setEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8154 | self.vm.viewActGrp.setEnabled(True) |
128
13e96bd0f5a5
Fixed an issue with handling the focus and (de-)activation of actions as it changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
115
diff
changeset
|
8155 | self.vm.searchActGrp.setEnabled(True) |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8156 | |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
8157 | with contextlib.suppress(AttributeError): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8158 | self.setCaretWidth(self.caretWidth) |
10561
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8159 | if not self.dbs.isDebugging: |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8160 | self.__updateReadOnly(False) |
404
44a541bea034
Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
342
diff
changeset
|
8161 | self.setCursorFlashTime(QApplication.cursorFlashTime()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8162 | |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8163 | if ( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8164 | self.fileName |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8165 | and FileSystemUtilities.isRemoteFileName(self.fileName) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8166 | and not self.inReopenPrompt |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8167 | ): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8168 | self.inReopenPrompt = True |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8169 | self.checkRereadFile() |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8170 | self.inReopenPrompt = False |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8171 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8172 | super().focusInEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8173 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8174 | def focusOutEvent(self, event): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8175 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
8176 | Protected method called when the editor loses focus. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8177 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8178 | @param event the event object |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8179 | @type QFocusEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8180 | """ |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8181 | if ( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8182 | Preferences.getEditor("AutosaveOnFocusLost") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8183 | and self.__shouldAutosave() |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8184 | and not self.inReopenPrompt |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8185 | ): |
10307 | 8186 | self.saveFile() |
8187 | ||
7276
25c93adb5de9
Editor: backed out changes of changeset 3ead033becb8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7267
diff
changeset
|
8188 | self.vm.editorActGrp.setEnabled(False) |
25c93adb5de9
Editor: backed out changes of changeset 3ead033becb8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7267
diff
changeset
|
8189 | self.setCaretWidth(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8190 | |
8581
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
8191 | self.cancelCallTips() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8192 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8193 | super().focusOutEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8194 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8195 | def changeEvent(self, evt): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8196 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8197 | Protected method called to process an event. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8198 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8199 | This implements special handling for the events showMaximized, |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8200 | showMinimized and showNormal. The windows caption is shortened |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8201 | for the minimized mode and reset to the full filename for the |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8202 | other modes. This is to make the editor windows work nicer |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8203 | with the QWorkspace. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8204 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8205 | @param evt the event, that was generated |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8206 | @type QEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8207 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8208 | if evt.type() == QEvent.Type.WindowStateChange and bool(self.fileName): |
8441
371cbc55badd
Fixed some issues related to non-existing flags.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8439
diff
changeset
|
8209 | cap = ( |
371cbc55badd
Fixed some issues related to non-existing flags.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8439
diff
changeset
|
8210 | os.path.basename(self.fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8211 | if self.windowState() == Qt.WindowState.WindowMinimized |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8212 | else self.fileName |
8441
371cbc55badd
Fixed some issues related to non-existing flags.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8439
diff
changeset
|
8213 | ) |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8214 | if self.checkReadOnly(): |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8215 | cap = self.tr("{0} (ro)").format(cap) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8216 | self.setWindowTitle(cap) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8217 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8218 | super().changeEvent(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8219 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8220 | def mousePressEvent(self, event): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8221 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8222 | Protected method to handle the mouse press event. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8223 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8224 | @param event the mouse press event |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8225 | @type QMouseEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8226 | """ |
8710 | 8227 | if event.button() == Qt.MouseButton.XButton1: |
8228 | self.undo() | |
8229 | event.accept() | |
8230 | elif event.button() == Qt.MouseButton.XButton2: | |
8231 | self.redo() | |
8232 | event.accept() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8233 | elif event.button() == Qt.MouseButton.LeftButton and bool( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8234 | event.modifiers() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8235 | & (Qt.KeyboardModifier.MetaModifier | Qt.KeyboardModifier.AltModifier) |
8713 | 8236 | ): |
8766
77a85cb69d47
Fixed a backward compatibility issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8761
diff
changeset
|
8237 | line, index = self.lineIndexFromPoint(event.position().toPoint()) |
8713 | 8238 | self.addCursor(line, index) |
8239 | event.accept() | |
8710 | 8240 | else: |
8241 | self.vm.eventFilter(self, event) | |
8242 | super().mousePressEvent(event) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8243 | |
7998 | 8244 | def mouseDoubleClickEvent(self, evt): |
8245 | """ | |
8246 | Protected method to handle mouse double click events. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8247 | |
7998 | 8248 | @param evt reference to the mouse event |
8249 | @type QMouseEvent | |
8250 | """ | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8251 | super().mouseDoubleClickEvent(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8252 | |
9408
e993c39097d3
Modified the double click event handling in the editor to prevent propagation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9405
diff
changeset
|
8253 | # accept all double click events even if not handled by QScintilla |
e993c39097d3
Modified the double click event handling in the editor to prevent propagation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9405
diff
changeset
|
8254 | evt.accept() |
e993c39097d3
Modified the double click event handling in the editor to prevent propagation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9405
diff
changeset
|
8255 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
8256 | self.mouseDoubleClick.emit(evt.position().toPoint(), evt.buttons()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8257 | |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8258 | def wheelEvent(self, evt): |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8259 | """ |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8260 | Protected method to handle wheel events. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8261 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8262 | @param evt reference to the wheel event |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8263 | @type QWheelEvent |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8264 | """ |
7198
684261ef2165
Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
8265 | delta = evt.angleDelta().y() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8266 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
8267 | if delta < 0: |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8268 | self.zoomOut() |
6081
7ea61bd1aa23
Fixed handling of mouse wheel events for mive with a wheel supporting horizontal tilting.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6073
diff
changeset
|
8269 | elif delta > 0: |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8270 | self.zoomIn() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8271 | evt.accept() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8272 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8273 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8274 | if evt.modifiers() & Qt.KeyboardModifier.ShiftModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
8275 | if delta < 0: |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8276 | self.gotoMethodClass(False) |
6081
7ea61bd1aa23
Fixed handling of mouse wheel events for mive with a wheel supporting horizontal tilting.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6073
diff
changeset
|
8277 | elif delta > 0: |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8278 | self.gotoMethodClass(True) |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8279 | evt.accept() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1500
diff
changeset
|
8280 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8281 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8282 | super().wheelEvent(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8283 | |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8284 | def event(self, evt): |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8285 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
8286 | Public method handling events. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8287 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8288 | @param evt reference to the event |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8289 | @type QEvent |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8290 | @return flag indicating, if the event was handled |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8291 | @rtype bool |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8292 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8293 | if evt.type() == QEvent.Type.Gesture: |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8294 | self.gestureEvent(evt) |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8295 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8296 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8297 | return super().event(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8298 | |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8299 | def gestureEvent(self, evt): |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8300 | """ |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8301 | Protected method handling gesture events. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8302 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8303 | @param evt reference to the gesture event |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8304 | @type QGestureEvent |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8305 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8306 | pinch = evt.gesture(Qt.GestureType.PinchGesture) |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8307 | if pinch: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8308 | if pinch.state() == Qt.GestureState.GestureStarted: |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8309 | zoom = (self.getZoom() + 10) / 10.0 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
8310 | pinch.setTotalScaleFactor(zoom) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8311 | elif pinch.state() == Qt.GestureState.GestureUpdated: |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
8312 | zoom = int(pinch.totalScaleFactor() * 10) - 10 |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8313 | if zoom <= -9: |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8314 | zoom = -9 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
8315 | pinch.setTotalScaleFactor(0.1) |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8316 | elif zoom >= 20: |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8317 | zoom = 20 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
8318 | pinch.setTotalScaleFactor(3.0) |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8319 | self.zoomTo(zoom) |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
8320 | evt.accept() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8321 | |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8322 | def resizeEvent(self, evt): |
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8323 | """ |
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8324 | Protected method handling resize events. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8325 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8326 | @param evt reference to the resize event |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8327 | @type QResizeEvent |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8328 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8329 | super().resizeEvent(evt) |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8330 | self.__markerMap.calculateGeometry() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8331 | |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8332 | def viewportEvent(self, evt): |
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8333 | """ |
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8334 | Protected method handling event of the viewport. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8335 | |
7864
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8336 | @param evt reference to the event |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8337 | @type QEvent |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8338 | @return flag indiating that the event was handled |
431e6816c60c
Editor, MiniEditor: added code to enclose the current selection by entering " or ' characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7836
diff
changeset
|
8339 | @rtype bool |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8340 | """ |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
8341 | with contextlib.suppress(AttributeError): |
7546
bf5f777260a6
Editor: fixed an issue in handling viewport events.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7543
diff
changeset
|
8342 | self.__markerMap.calculateGeometry() |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8343 | return super().viewportEvent(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8344 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
8345 | def __updateReadOnly(self, bForce=True): |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
8346 | """ |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
8347 | Private method to update the readOnly information for this editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8348 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8349 | If bForce is True, then updates everything regardless if |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8350 | the attributes have actually changed, such as during |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8351 | initialization time. A signal is emitted after the |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8352 | caption change. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8353 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8354 | @param bForce True to force change, False to only update and emit |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8355 | signal if there was an attribute change. |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8356 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8357 | """ |
10576
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
8358 | if self.fileName == "" or FileSystemUtilities.isDeviceFileName(self.fileName): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8359 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8360 | |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8361 | readOnly = self.checkReadOnly() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8362 | if not bForce and (readOnly == self.isReadOnly()): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8363 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8364 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8365 | cap = self.fileName |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8366 | if readOnly: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8367 | cap = self.tr("{0} (ro)".format(cap)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8368 | self.setReadOnly(readOnly) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8369 | self.setWindowTitle(cap) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
8370 | self.captionChanged.emit(cap, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8371 | |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8372 | def checkReadOnly(self): |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8373 | """ |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8374 | Public method to check the 'read only' state. |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8375 | |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8376 | @return flag indicate a 'read only' state |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8377 | @rtype bool |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8378 | """ |
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8379 | return ( |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8380 | ( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8381 | FileSystemUtilities.isPlainFileName(self.fileName) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8382 | and not os.access(self.fileName, os.W_OK) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8383 | ) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8384 | or ( |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8385 | FileSystemUtilities.isRemoteFileName(self.fileName) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8386 | and not self.__remotefsInterface.access( |
10576
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
8387 | FileSystemUtilities.plainFileName(self.fileName), "write" |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
8388 | ) |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8389 | ) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8390 | or self.isReadOnly() |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8391 | ) |
9758
6d24ab9c0404
Modified Editor and view managers to be usable with files loaded from a connected device and (potentially) remote files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9690
diff
changeset
|
8392 | |
10850
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8393 | def setCheckExternalModificationEnabled(self, enable): |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8394 | """ |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8395 | Public method to enable or disable the check for external modifications. |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8396 | |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8397 | @param enable flag indicating the new enabled state |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8398 | @type bool |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8399 | """ |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8400 | self.__checkExternalModification = enable |
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8401 | |
10279 | 8402 | @pyqtSlot() |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8403 | def checkRereadFile(self): |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8404 | """ |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8405 | Public slot to check, if the file needs to be re-read, and refresh it if |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8406 | needed. |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8407 | """ |
10850
d835f48b9908
Changed the 'jedi' refactoring process such, that the current file modified by the refactoring is automatically reloaded.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10849
diff
changeset
|
8408 | if self.__checkExternalModification and self.checkModificationTime(): |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8409 | if Preferences.getEditor("AutoReopen") and not self.isModified(): |
10878
c9f329692cf0
Changed '__refresh()' method of the editor back to 'refresh()' because the previous change broke the refactoring plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10850
diff
changeset
|
8410 | self.refresh() |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8411 | else: |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8412 | msg = self.tr( |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8413 | """<p>The file <b>{0}</b> has been changed while it""" |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8414 | """ was opened in eric. Reread it?</p>""" |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8415 | ).format(self.fileName) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8416 | yesDefault = True |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8417 | if self.isModified(): |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8418 | msg += self.tr( |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8419 | """<br><b>Warning:</b> You will lose""" |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8420 | """ your changes upon reopening it.""" |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8421 | ) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8422 | yesDefault = False |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8423 | res = EricMessageBox.yesNo( |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8424 | self, |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8425 | self.tr("File changed"), |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8426 | msg, |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8427 | icon=EricMessageBox.Warning, |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8428 | yesDefault=yesDefault, |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8429 | ) |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8430 | if res: |
10878
c9f329692cf0
Changed '__refresh()' method of the editor back to 'refresh()' because the previous change broke the refactoring plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10850
diff
changeset
|
8431 | self.refresh() |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8432 | else: |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8433 | # do not prompt for this change again... |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8434 | self.recordModificationTime() |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8435 | |
10678
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8436 | def getModificationTime(self): |
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8437 | """ |
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8438 | Public method to get the time of the latest (saved) modification. |
10679 | 8439 | |
10678
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8440 | @return time of the latest modification |
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8441 | @rtype int |
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8442 | """ |
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8443 | return self.lastModified |
665f1084ebf9
Added a method to get the last modification time to the Editor class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10676
diff
changeset
|
8444 | |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8445 | @pyqtSlot() |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8446 | def recordModificationTime(self, filename=""): |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8447 | """ |
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8448 | Public slot to record the modification time of our file. |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8449 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8450 | @param filename name of the file to record the modification tome for |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8451 | (defaults to "") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8452 | @type str (optional) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8453 | """ |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8454 | if not filename: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8455 | filename = self.fileName |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8456 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8457 | if filename: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8458 | if FileSystemUtilities.isRemoteFileName(filename): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8459 | filename = FileSystemUtilities.plainFileName(filename) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8460 | if self.__remotefsInterface.exists(filename): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8461 | mtime = self.__remotefsInterface.stat( |
10561
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8462 | FileSystemUtilities.plainFileName(filename), ["st_mtime"] |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8463 | )["st_mtime"] |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8464 | self.lastModified = mtime if mtime is not None else 0 |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8465 | else: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8466 | self.lastModified = 0 |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8467 | elif pathlib.Path(filename).exists(): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8468 | self.lastModified = pathlib.Path(filename).stat().st_mtime |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8469 | else: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8470 | self.lastModified = 0 |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8471 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8472 | else: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8473 | self.lastModified = 0 |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8474 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8475 | def checkModificationTime(self, filename=""): |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8476 | """ |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8477 | Public method to check, if the modification time of the file is different |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8478 | from the recorded one. |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8479 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8480 | @param filename name of the file to check against (defaults to "") |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8481 | @type str (optional) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8482 | @return flag indicating that the file modification time is different. For |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8483 | non-existent files a 'False' value will be reported. |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8484 | @rtype bool |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8485 | """ |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8486 | if not filename: |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8487 | filename = self.fileName |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8488 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8489 | if filename: |
10561
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8490 | if ( |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8491 | FileSystemUtilities.isRemoteFileName(filename) |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8492 | and not self.dbs.isDebugging |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8493 | ): |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8494 | plainFilename = FileSystemUtilities.plainFileName(filename) |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8495 | if self.__remotefsInterface.exists(plainFilename): |
10576
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
8496 | mtime = self.__remotefsInterface.stat(plainFilename, ["st_mtime"])[ |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
8497 | "st_mtime" |
0cf5ebf17411
Adapted the Code Metrics dialog to support remote files and directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10575
diff
changeset
|
8498 | ] |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8499 | return mtime != self.lastModified |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8500 | |
10561
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8501 | elif ( |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8502 | FileSystemUtilities.isPlainFileName(filename) |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8503 | and pathlib.Path(filename).exists() |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8504 | ): |
be23a662d709
Implemented (most) of the eric-ide server debugging functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10550
diff
changeset
|
8505 | return pathlib.Path(filename).stat().st_mtime != self.lastModified |
10546
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8506 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8507 | return False |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8508 | |
300487f5f517
eric-ide Server
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10539
diff
changeset
|
8509 | @pyqtSlot() |
10878
c9f329692cf0
Changed '__refresh()' method of the editor back to 'refresh()' because the previous change broke the refactoring plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10850
diff
changeset
|
8510 | def refresh(self): |
c9f329692cf0
Changed '__refresh()' method of the editor back to 'refresh()' because the previous change broke the refactoring plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10850
diff
changeset
|
8511 | """ |
c9f329692cf0
Changed '__refresh()' method of the editor back to 'refresh()' because the previous change broke the refactoring plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10850
diff
changeset
|
8512 | Public slot to refresh the editor contents. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8513 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8514 | # save cursor position |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8515 | cline, cindex = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8516 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8517 | # save bookmarks and breakpoints and clear them |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8518 | bmlist = self.getBookmarks() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8519 | self.clearBookmarks() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8520 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8521 | # clear syntax error markers |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8522 | self.clearSyntaxError() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8523 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8524 | # clear flakes warning markers |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3059
diff
changeset
|
8525 | self.clearWarnings() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8526 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8527 | # clear breakpoint markers |
10279 | 8528 | for handle in self.breaks: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8529 | self.markerDeleteHandle(handle) |
8106
81bf8fe10735
Editor: fixed an issue handling breakpoints (and other stuff) in a cloned editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8004
diff
changeset
|
8530 | self.breaks.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8531 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8532 | # reread the file |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8533 | try: |
10377
9f6ffcd1db54
Changed the code determining if a refresh of the editor is needed by delegating it to a file system watcher.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10376
diff
changeset
|
8534 | self.readFile(self.fileName, noempty=True) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7790
diff
changeset
|
8535 | except OSError: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8536 | # do not prompt for this change again... |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8537 | self.lastModified = QDateTime.currentDateTime() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8538 | self.setModified(False) |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
8539 | self.__convertTabs() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8540 | |
2189
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
8541 | # re-initialize the online change tracer |
5149cec53130
Fixed an issue in the editor related to not re-initializing the online change tracer after a file has been refreshed (reread after an external change).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2165
diff
changeset
|
8542 | self.__reinitOnlineChangeTrace() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8543 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8544 | # reset cursor position |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8545 | self.setCursorPosition(cline, cindex) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8546 | self.ensureCursorVisible() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8547 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8548 | # reset bookmarks and breakpoints to their old position |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8549 | if bmlist: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8550 | for bm in bmlist: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8551 | self.toggleBookmark(bm) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8552 | self.__restoreBreakpoints() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8553 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
8554 | self.editorSaved.emit(self.fileName) |
3579
eccd12461319
BackgroundService: Restart of the client in different situations handled.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3576
diff
changeset
|
8555 | self.checkSyntax() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8556 | |
3329
1ee38e29ed4f
Continued implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3327
diff
changeset
|
8557 | self.__markerMap.update() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8558 | |
1807
9898a95461f1
Added a signal to the editor showing a refresh has happend and connected the editor assembly to it.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1768
diff
changeset
|
8559 | self.refreshed.emit() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8560 | |
10674 | 8561 | @pyqtSlot() |
8562 | def reload(self): | |
8563 | """ | |
8564 | Public slot to reload the editor contents checking its modification state first. | |
8565 | """ | |
10676
d1479a4f1426
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10674
diff
changeset
|
8566 | ok = ( |
d1479a4f1426
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10674
diff
changeset
|
8567 | EricMessageBox.yesNo( |
10674 | 8568 | self, |
8569 | self.tr("Reload File"), | |
8570 | self.tr( | |
8571 | "<p>The editor contains unsaved modifications.</p>" | |
8572 | "<p><b>Warning:</b> You will lose your changes upon reloading" | |
8573 | " it.</p><p>Shall the editor really be reloaded?</p>" | |
8574 | ), | |
8575 | icon=EricMessageBox.Warning, | |
8576 | ) | |
10676
d1479a4f1426
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10674
diff
changeset
|
8577 | if self.isModified() |
d1479a4f1426
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10674
diff
changeset
|
8578 | else True |
d1479a4f1426
Corrected some code formatting and style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10674
diff
changeset
|
8579 | ) |
10674 | 8580 | if ok: |
10878
c9f329692cf0
Changed '__refresh()' method of the editor back to 'refresh()' because the previous change broke the refactoring plug-in.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10850
diff
changeset
|
8581 | self.refresh() |
10674 | 8582 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8583 | def setMonospaced(self, on): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8584 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8585 | Public method to set/reset a monospaced font. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8586 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8587 | @param on flag to indicate usage of a monospace font |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8588 | @type bool |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8589 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8590 | if on: |
3087
fdbce259929f
Changed the handling of the monospace font usage in the editor, mini editor and shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3069
diff
changeset
|
8591 | if not self.lexer_: |
fdbce259929f
Changed the handling of the monospace font usage in the editor, mini editor and shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3069
diff
changeset
|
8592 | f = Preferences.getEditorOtherFonts("MonospacedFont") |
fdbce259929f
Changed the handling of the monospace font usage in the editor, mini editor and shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3069
diff
changeset
|
8593 | self.monospacedStyles(f) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8594 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8595 | if not self.lexer_: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8596 | self.clearStyles() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8597 | self.__setMarginsDisplay() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8598 | self.setFont(Preferences.getEditorOtherFonts("DefaultFont")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8599 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8600 | self.useMonospaced = on |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8601 | |
3095
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8602 | def clearStyles(self): |
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8603 | """ |
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8604 | Public method to set the styles according the selected Qt style |
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8605 | or the selected editor colours. |
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8606 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8607 | super().clearStyles() |
3095
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8608 | if Preferences.getEditor("OverrideEditAreaColours"): |
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8609 | self.setColor(Preferences.getEditorColour("EditAreaForeground")) |
72938a6d5047
Fixed a bug preventing overriding the editor foreground and background colors, when a lexer was set to None.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3087
diff
changeset
|
8610 | self.setPaper(Preferences.getEditorColour("EditAreaBackground")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8611 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8612 | ################################################################# |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8613 | ## Drag and Drop Support |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8614 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8615 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8616 | def dragEnterEvent(self, event): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8617 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8618 | Protected method to handle the drag enter event. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8619 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8620 | @param event the drag enter event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8621 | @type QDragEnterEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8622 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8623 | self.inDragDrop = event.mimeData().hasUrls() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8624 | if self.inDragDrop: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8625 | event.acceptProposedAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8626 | else: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8627 | super().dragEnterEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8628 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8629 | def dragMoveEvent(self, event): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8630 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8631 | Protected method to handle the drag move event. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8632 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8633 | @param event the drag move event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8634 | @type QDragMoveEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8635 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8636 | if self.inDragDrop: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8637 | event.accept() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8638 | else: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8639 | super().dragMoveEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8640 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8641 | def dragLeaveEvent(self, event): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8642 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8643 | Protected method to handle the drag leave event. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8644 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8645 | @param event the drag leave event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8646 | @type QDragLeaveEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8647 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8648 | if self.inDragDrop: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8649 | self.inDragDrop = False |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8650 | event.accept() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8651 | else: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8652 | super().dragLeaveEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8653 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8654 | def dropEvent(self, event): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8655 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8656 | Protected method to handle the drop event. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8657 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8658 | @param event the drop event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8659 | @type QDropEvent |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8660 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8661 | if event.mimeData().hasUrls(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8662 | for url in event.mimeData().urls(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8663 | fname = url.toLocalFile() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8664 | if fname: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9092
diff
changeset
|
8665 | if not pathlib.Path(fname).is_dir(): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8666 | self.vm.openSourceFile(fname) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8667 | else: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8668 | EricMessageBox.information( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
8669 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8670 | self.tr("Drop Error"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8671 | self.tr("""<p><b>{0}</b> is not a file.</p>""").format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8672 | fname |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8673 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8674 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8675 | event.acceptProposedAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8676 | else: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8677 | super().dropEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8678 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8679 | self.inDragDrop = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8680 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8681 | ################################################################# |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8682 | ## Support for Qt resources files |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8683 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8684 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8685 | def __initContextMenuResources(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8686 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8687 | Private method used to setup the Resources context sub menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8688 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8689 | @return reference to the generated menu |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8690 | @rtype QMenu |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8691 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8692 | menu = QMenu(self.tr("Resources")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8693 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8694 | menu.addAction(self.tr("Add file..."), self.__addFileResource) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8695 | menu.addAction(self.tr("Add files..."), self.__addFileResources) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8696 | menu.addAction(self.tr("Add aliased file..."), self.__addFileAliasResource) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
8697 | menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8698 | self.tr("Add localized resource..."), self.__addLocalizedResource |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8699 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8700 | menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8701 | menu.addAction(self.tr("Add resource frame"), self.__addResourceFrame) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8702 | |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
460
diff
changeset
|
8703 | menu.aboutToShow.connect(self.__showContextMenuResources) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8704 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8705 | return menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8706 | |
10279 | 8707 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8708 | def __showContextMenuResources(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8709 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8710 | Private slot handling the aboutToShow signal of the resources context |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8711 | menu. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8712 | """ |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
8713 | self.showMenu.emit("Resources", self.resourcesMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8714 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8715 | def __addFileResource(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8716 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8717 | Private method to handle the Add file context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8718 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8719 | dirStr = os.path.dirname(self.fileName) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8720 | file = EricFileDialog.getOpenFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8721 | self, self.tr("Add file resource"), dirStr, "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8722 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8723 | if file: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8724 | relFile = QDir(dirStr).relativeFilePath(file) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8725 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8726 | self.insert(" <file>{0}</file>\n".format(relFile)) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8727 | self.setCursorPosition(line + 1, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8728 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8729 | def __addFileResources(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8730 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8731 | Private method to handle the Add files context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8732 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8733 | dirStr = os.path.dirname(self.fileName) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8734 | files = EricFileDialog.getOpenFileNames( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8735 | self, self.tr("Add file resources"), dirStr, "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8736 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8737 | if files: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8738 | myDir = QDir(dirStr) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8739 | filesText = "" |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8740 | for file in files: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8741 | relFile = myDir.relativeFilePath(file) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8742 | filesText += " <file>{0}</file>\n".format(relFile) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8743 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8744 | self.insert(filesText) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8745 | self.setCursorPosition(line + len(files), index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8746 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8747 | def __addFileAliasResource(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8748 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8749 | Private method to handle the Add aliased file context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8750 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8751 | dirStr = os.path.dirname(self.fileName) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8752 | file = EricFileDialog.getOpenFileName( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8753 | self, self.tr("Add aliased file resource"), dirStr, "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8754 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8755 | if file: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8756 | relFile = QDir(dirStr).relativeFilePath(file) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
559
diff
changeset
|
8757 | alias, ok = QInputDialog.getText( |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8758 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8759 | self.tr("Add aliased file resource"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8760 | self.tr("Alias for file <b>{0}</b>:").format(relFile), |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8761 | QLineEdit.EchoMode.Normal, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8762 | relFile, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8763 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8764 | if ok and alias: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8765 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8766 | self.insert(' <file alias="{1}">{0}</file>\n'.format(relFile, alias)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8767 | self.setCursorPosition(line + 1, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8768 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8769 | def __addLocalizedResource(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8770 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8771 | Private method to handle the Add localized resource context menu |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8772 | action. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8773 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
8774 | from eric7.Project.AddLanguageDialog import AddLanguageDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8775 | |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
8776 | dlg = AddLanguageDialog(parent=self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
8777 | if dlg.exec() == QDialog.DialogCode.Accepted: |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8778 | lang = dlg.getSelectedLanguage() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8779 | line, index = self.getCursorPosition() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8780 | self.insert('<qresource lang="{0}">\n</qresource>\n'.format(lang)) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8781 | self.setCursorPosition(line + 2, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8782 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8783 | def __addResourceFrame(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8784 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8785 | Private method to handle the Add resource frame context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8786 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8787 | line, index = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8788 | self.insert( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8789 | "<!DOCTYPE RCC>\n" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8790 | '<RCC version="1.0">\n' |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8791 | "<qresource>\n" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8792 | "</qresource>\n" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8793 | "</RCC>\n" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8794 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8795 | self.setCursorPosition(line + 5, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8796 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8797 | ################################################################# |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8798 | ## Support for diagrams below |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8799 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8800 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8801 | def __showClassDiagram(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8802 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8803 | Private method to handle the Class Diagram context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8804 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
8805 | from eric7.Graphics.UMLDialog import UMLDialog, UMLDialogType |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8806 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8807 | if not self.checkDirty(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8808 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8809 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8810 | self.classDiagram = UMLDialog( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8811 | UMLDialogType.CLASS_DIAGRAM, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8812 | self.project, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8813 | self.fileName, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8814 | self, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8815 | noAttrs=False, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8816 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8817 | self.classDiagram.show() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8818 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8819 | def __showPackageDiagram(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8820 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8821 | Private method to handle the Package Diagram context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8822 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
8823 | from eric7.Graphics.UMLDialog import UMLDialog, UMLDialogType |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8824 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8825 | if not self.checkDirty(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8826 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8827 | |
10596
ea35c92a3c7c
Implemented first stage of remote project support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10589
diff
changeset
|
8828 | if FileSystemUtilities.isRemoteFileName(self.fileName): # noqa: Y108 |
10585
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8829 | package = ( |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8830 | self.fileName |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8831 | if self.__remotefsInterface.isdir(self.fileName) |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8832 | else self.__remotefsInterface.dirname(self.fileName) |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8833 | ) |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8834 | else: |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8835 | package = ( |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8836 | self.fileName |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8837 | if os.path.isdir(self.fileName) |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8838 | else os.path.dirname(self.fileName) |
83e5a9a64543
Improved the remote file system interface to work with 'eric-ide' servers with a different OS than the IDE computer and adapted the code accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10583
diff
changeset
|
8839 | ) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8840 | res = EricMessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
8841 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8842 | self.tr("Package Diagram"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8843 | self.tr("""Include class attributes?"""), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8844 | yesDefault=True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8845 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8846 | self.packageDiagram = UMLDialog( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8847 | UMLDialogType.PACKAGE_DIAGRAM, self.project, package, self, noAttrs=not res |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8848 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8849 | self.packageDiagram.show() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8850 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8851 | def __showImportsDiagram(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8852 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8853 | Private method to handle the Imports Diagram context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8854 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
8855 | from eric7.Graphics.UMLDialog import UMLDialog, UMLDialogType |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8856 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8857 | if not self.checkDirty(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8858 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8859 | |
8277 | 8860 | package = os.path.dirname(self.fileName) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8861 | res = EricMessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
8862 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8863 | self.tr("Imports Diagram"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8864 | self.tr("""Include imports from external modules?"""), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8865 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8866 | self.importsDiagram = UMLDialog( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8867 | UMLDialogType.IMPORTS_DIAGRAM, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8868 | self.project, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8869 | package, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8870 | self, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8871 | showExternalImports=res, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8872 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8873 | self.importsDiagram.show() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8874 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8875 | def __showApplicationDiagram(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8876 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8877 | Private method to handle the Imports Diagram context menu action. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8878 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
8879 | from eric7.Graphics.UMLDialog import UMLDialog, UMLDialogType |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8880 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8881 | res = EricMessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
8882 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8883 | self.tr("Application Diagram"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
8884 | self.tr("""Include module names?"""), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8885 | yesDefault=True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8886 | ) |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8887 | self.applicationDiagram = UMLDialog( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8888 | UMLDialogType.APPLICATION_DIAGRAM, self.project, self, noModules=not res |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8889 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8890 | self.applicationDiagram.show() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8891 | |
10279 | 8892 | @pyqtSlot() |
2034
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8893 | def __loadDiagram(self): |
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8894 | """ |
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8895 | Private slot to load a diagram from file. |
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8896 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
8897 | from eric7.Graphics.UMLDialog import UMLDialog, UMLDialogType |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8898 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
8899 | self.loadedDiagram = UMLDialog( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8900 | UMLDialogType.NO_DIAGRAM, self.project, parent=self |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8901 | ) |
2034
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8902 | if self.loadedDiagram.load(): |
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8903 | self.loadedDiagram.show(fromFile=True) |
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8904 | else: |
8de0fc1f7fef
Implemented functions to load UML graphics from disc.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2031
diff
changeset
|
8905 | self.loadedDiagram = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8906 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8907 | ####################################################################### |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8908 | ## Typing aids related methods below |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8909 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8910 | |
10279 | 8911 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8912 | def __toggleTypingAids(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8913 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8914 | Private slot to toggle the typing aids. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8915 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8916 | if self.menuActs["TypingAidsEnabled"].isChecked(): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8917 | self.completer.setEnabled(True) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8918 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8919 | self.completer.setEnabled(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8920 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8921 | ####################################################################### |
6059
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
8922 | ## Auto-completing templates |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8923 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8924 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8925 | def editorCommand(self, cmd): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8926 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8927 | Public method to perform a simple editor command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8928 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8929 | @param cmd the scintilla command to be performed |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8930 | @type int |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8931 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8932 | if cmd == QsciScintilla.SCI_TAB: |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8933 | try: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8934 | templateViewer = ericApp().getObject("TemplateViewer") |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8935 | except KeyError: |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8936 | # template viewer is not active |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8937 | templateViewer = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8938 | |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8939 | if templateViewer is not None: |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8940 | line, index = self.getCursorPosition() |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8941 | tmplName = self.getWordLeft(line, index) |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8942 | if tmplName: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8943 | if templateViewer.hasTemplate(tmplName, self.getLanguage()): |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8944 | self.__applyTemplate(tmplName, self.getLanguage()) |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8945 | return |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8946 | else: |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8947 | templateNames = templateViewer.getTemplateNames( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8948 | tmplName, self.getLanguage() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8949 | ) |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8950 | if len(templateNames) == 1: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8951 | self.__applyTemplate(templateNames[0], self.getLanguage()) |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8952 | return |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8953 | elif len(templateNames) > 1: |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8954 | self.showUserList( |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8955 | TemplateCompletionListID, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8956 | [ |
10473 | 8957 | "{0}?{1:d}".format(t, EditorIconId.TemplateImage) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8958 | for t in templateNames |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8959 | ], |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8960 | ) |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8961 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8962 | |
8165 | 8963 | elif cmd == QsciScintilla.SCI_DELETEBACK: |
8964 | line, index = self.getCursorPosition() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8965 | text = self.text(line)[index - 1 : index + 1] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8966 | matchingPairs = ["()", "[]", "{}", "<>", "''", '""'] |
8169
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8165
diff
changeset
|
8967 | # __IGNORE_WARNING_M613__ |
8165 | 8968 | if text in matchingPairs: |
8969 | self.delete() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8970 | |
9333
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8971 | elif ( |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8972 | cmd in (QsciScintilla.SCI_LOWERCASE, QsciScintilla.SCI_UPPERCASE) |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8973 | and self.hasSelectedText() |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8974 | ): |
9619
7033f25b1462
Corrected an issue keeping the current selection when converting to upper-/lowercase (see issue452, part2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9612
diff
changeset
|
8975 | startLine, startIndex, endLine, endIndex = self.getSelection() |
9333
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8976 | selectedText = self.selectedText() |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8977 | replacementText = ( |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8978 | selectedText.upper() |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8979 | if cmd == QsciScintilla.SCI_UPPERCASE |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8980 | else selectedText.lower() |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8981 | ) |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8982 | self.replaceSelectedText(replacementText) |
9432
e2445fa08533
Corrected an issue causing a wrong selection after "Convert selection to uppercase/lowercase" (see issue452).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
8983 | self.setSelection(startLine, startIndex, endLine, endIndex) |
9333
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8984 | return |
b0541ec21e51
Editor, Mini Editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9331
diff
changeset
|
8985 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
8986 | super().editorCommand(cmd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8987 | |
1002
1151d1ea562a
Enhanced the autocompletion of templates to observe the language of the current file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
994
diff
changeset
|
8988 | def __applyTemplate(self, templateName, language): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8989 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
8990 | Private method to apply a template by name. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
8991 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8992 | @param templateName name of the template to apply |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8993 | @type str |
1002
1151d1ea562a
Enhanced the autocompletion of templates to observe the language of the current file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
994
diff
changeset
|
8994 | @param language name of the language (group) to get the template |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8995 | from |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
8996 | @type str |
1002
1151d1ea562a
Enhanced the autocompletion of templates to observe the language of the current file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
994
diff
changeset
|
8997 | """ |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
8998 | try: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
8999 | templateViewer = ericApp().getObject("TemplateViewer") |
6426
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
9000 | except KeyError: |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
9001 | # template viewer is not active |
f072dd2edb0f
UserInterface, Editor: made the activation of the symbols viewer, file browser, template viewer and numbers viewer optional.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6306
diff
changeset
|
9002 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9003 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
9004 | if templateViewer.hasTemplate(templateName, language): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9005 | self.extendSelectionWordLeft() |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10060
diff
changeset
|
9006 | templateViewer.applyNamedTemplate(templateName, language) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9007 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9008 | ####################################################################### |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9009 | ## Project related methods |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9010 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9011 | |
10279 | 9012 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9013 | def __projectPropertiesChanged(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9014 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9015 | Private slot to handle changes of the project properties. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9016 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9017 | if self.spell: |
252
05692e3d37bf
Some code cleanup in Editor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
245
diff
changeset
|
9018 | pwl, pel = self.project.getProjectDictionaries() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9019 | self.__setSpellingLanguage( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9020 | self.project.getProjectSpellLanguage(), pwl=pwl, pel=pel |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9021 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9022 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9023 | editorConfigEol = self.__getEditorConfig("EOLMode", nodefault=True) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9024 | if editorConfigEol is not None: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9025 | self.setEolMode(editorConfigEol) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9026 | else: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9027 | self.setEolModeByEolString(self.project.getEolString()) |
253
3ccdf551bde7
Changed code to improve development on multiple platforms.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
252
diff
changeset
|
9028 | self.convertEols(self.eolMode()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9029 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9030 | def addedToProject(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9031 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9032 | Public method to signal, that this editor has been added to a project. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9033 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9034 | if self.spell: |
252
05692e3d37bf
Some code cleanup in Editor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
245
diff
changeset
|
9035 | pwl, pel = self.project.getProjectDictionaries() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9036 | self.__setSpellingLanguage( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9037 | self.project.getProjectSpellLanguage(), pwl=pwl, pel=pel |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9038 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9039 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9040 | self.project.projectPropertiesChanged.connect(self.__projectPropertiesChanged) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9041 | |
10279 | 9042 | @pyqtSlot() |
1754
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9043 | def projectOpened(self): |
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9044 | """ |
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9045 | Public slot to handle the opening of a project. |
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9046 | """ |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
9047 | if self.fileName and self.project.isProjectCategory(self.fileName, "SOURCES"): |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9048 | self.project.projectPropertiesChanged.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9049 | self.__projectPropertiesChanged |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9050 | ) |
1754
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9051 | self.setSpellingForProject() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9052 | |
10279 | 9053 | @pyqtSlot() |
1754
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9054 | def projectClosed(self): |
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9055 | """ |
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9056 | Public slot to handle the closing of a project. |
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9057 | """ |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
9058 | with contextlib.suppress(TypeError): |
1754
4e2f87d03546
Fixed an issue in the editor caused by double connecting to a signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1723
diff
changeset
|
9059 | self.project.projectPropertiesChanged.disconnect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9060 | self.__projectPropertiesChanged |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9061 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9062 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9063 | ####################################################################### |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9064 | ## Spell checking related methods |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9065 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9066 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9067 | def getSpellingLanguage(self): |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9068 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9069 | Public method to get the current spelling language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9070 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9071 | @return current spelling language |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9072 | @rtype str |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9073 | """ |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9074 | if self.spell: |
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9075 | return self.spell.getLanguage() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9076 | |
7310
460a332dcc56
Editor: added a context menu to select spell check language.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7306
diff
changeset
|
9077 | return "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9078 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9079 | def __setSpellingLanguage(self, language, pwl="", pel=""): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9080 | """ |
10279 | 9081 | Private method to set the spell checking language. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9082 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9083 | @param language spell checking language to be set |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9084 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9085 | @param pwl name of the personal/project word list |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9086 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9087 | @param pel name of the personal/project exclude list |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9088 | @type str |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9089 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9090 | if self.spell and self.spell.getLanguage() != language: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9091 | self.spell.setLanguage(language, pwl=pwl, pel=pel) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9092 | self.spell.checkDocumentIncrementally() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9093 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9094 | def __setSpelling(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9095 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9096 | Private method to initialize the spell checking functionality. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9097 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9098 | if Preferences.getEditor("SpellCheckingEnabled"): |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9099 | self.__spellCheckStringsOnly = Preferences.getEditor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9100 | "SpellCheckStringsOnly" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9101 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9102 | if self.spell is None: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9103 | self.spell = SpellChecker( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9104 | self, self.spellingIndicator, checkRegion=self.isSpellCheckRegion |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9105 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9106 | self.setSpellingForProject() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9107 | self.spell.setMinimumWordSize( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9108 | Preferences.getEditor("SpellCheckingMinWordSize") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9109 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9110 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9111 | self.setAutoSpellChecking() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9112 | else: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9113 | self.spell = None |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9114 | self.clearAllIndicators(self.spellingIndicator) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9115 | |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9116 | def setSpellingForProject(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9117 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9118 | Public method to set the spell checking options for files belonging |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9119 | to the current project. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9120 | """ |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9121 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9122 | self.fileName |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9123 | and self.project.isOpen() |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
9124 | and self.project.isProjectCategory(self.fileName, "SOURCES") |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9125 | ): |
252
05692e3d37bf
Some code cleanup in Editor.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
245
diff
changeset
|
9126 | pwl, pel = self.project.getProjectDictionaries() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9127 | self.__setSpellingLanguage( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9128 | self.project.getProjectSpellLanguage(), pwl=pwl, pel=pel |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9129 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9130 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9131 | def setAutoSpellChecking(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9132 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9133 | Public method to set the automatic spell checking. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9134 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9135 | if Preferences.getEditor("AutoSpellCheckingEnabled"): |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
9136 | with contextlib.suppress(TypeError): |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9137 | self.SCN_CHARADDED.connect( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9138 | self.__spellCharAdded, Qt.ConnectionType.UniqueConnection |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9139 | ) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9140 | self.spell.checkDocumentIncrementally() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9141 | else: |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
9142 | with contextlib.suppress(TypeError): |
542
26a79c19993c
Fixed a signal/slot issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
541
diff
changeset
|
9143 | self.SCN_CHARADDED.disconnect(self.__spellCharAdded) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9144 | self.clearAllIndicators(self.spellingIndicator) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9145 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9146 | def isSpellCheckRegion(self, pos): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9147 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9148 | Public method to check, if the given position is within a region, that |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9149 | should be spell checked. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9150 | |
7306 | 9151 | For files with a configured full text file extension all regions will |
9152 | be regarded as to be checked. Depending on configuration, all unknown | |
9153 | files (i.e. those without a file extension) will be checked fully as | |
9154 | well. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9155 | |
7306 | 9156 | @param pos position to be checked |
9157 | @type int | |
9158 | @return flag indicating pos is in a spell check region | |
9159 | @rtype bool | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9160 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9161 | if self.__spellCheckStringsOnly: |
7306 | 9162 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9163 | self.__fileNameExtension |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9164 | in Preferences.getEditor("FullSpellCheckExtensions") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9165 | ) or ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9166 | not self.__fileNameExtension |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9167 | and Preferences.getEditor("FullSpellCheckUnknown") |
7306 | 9168 | ): |
9169 | return True | |
9170 | else: | |
9171 | style = self.styleAt(pos) | |
9172 | if self.lexer_ is not None: | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9173 | return self.lexer_.isCommentStyle( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9174 | style |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9175 | ) or self.lexer_.isStringStyle(style) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9176 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9177 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9178 | |
1768
8a04ce23e083
Fixed another issue with a multi-connected signal.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1762
diff
changeset
|
9179 | @pyqtSlot(int) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9180 | def __spellCharAdded(self, charNumber): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9181 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
9182 | Private slot called to handle the user entering a character. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9183 | |
10279 | 9184 | @param charNumber value of the character entered |
9185 | @type int | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9186 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9187 | if self.spell: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9188 | if not chr(charNumber).isalnum(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9189 | self.spell.checkWord(self.positionBefore(self.currentPosition()), True) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9190 | elif self.hasIndicator(self.spellingIndicator, self.currentPosition()): |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9191 | self.spell.checkWord(self.currentPosition()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9192 | |
10279 | 9193 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9194 | def checkSpelling(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9195 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9196 | Public slot to perform an interactive spell check of the document. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9197 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
9198 | from .SpellCheckingDialog import SpellCheckingDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
9199 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9200 | if self.spell: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9201 | cline, cindex = self.getCursorPosition() |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
9202 | dlg = SpellCheckingDialog(self.spell, 0, self.length(), parent=self) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7749
diff
changeset
|
9203 | dlg.exec() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9204 | self.setCursorPosition(cline, cindex) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9205 | if Preferences.getEditor("AutoSpellCheckingEnabled"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9206 | self.spell.checkDocumentIncrementally() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9207 | |
10279 | 9208 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9209 | def __checkSpellingSelection(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9210 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9211 | Private slot to spell check the current selection. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9212 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2391
diff
changeset
|
9213 | from .SpellCheckingDialog import SpellCheckingDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9214 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9215 | sline, sindex, eline, eindex = self.getSelection() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9216 | startPos = self.positionFromLineIndex(sline, sindex) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9217 | endPos = self.positionFromLineIndex(eline, eindex) |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
9218 | dlg = SpellCheckingDialog(self.spell, startPos, endPos, parent=self) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7749
diff
changeset
|
9219 | dlg.exec() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9220 | |
10279 | 9221 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9222 | def __checkSpellingWord(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9223 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9224 | Private slot to check the word below the spelling context menu. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9225 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2391
diff
changeset
|
9226 | from .SpellCheckingDialog import SpellCheckingDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9227 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9228 | line, index = self.lineIndexFromPosition(self.spellingMenuPos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9229 | wordStart, wordEnd = self.getWordBoundaries(line, index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9230 | wordStartPos = self.positionFromLineIndex(line, wordStart) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9231 | wordEndPos = self.positionFromLineIndex(line, wordEnd) |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
9232 | dlg = SpellCheckingDialog(self.spell, wordStartPos, wordEndPos, parent=self) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7749
diff
changeset
|
9233 | dlg.exec() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9234 | |
10279 | 9235 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9236 | def __showContextMenuSpelling(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9237 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9238 | Private slot to set up the spelling menu before it is shown. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9239 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9240 | self.spellingMenu.clear() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9241 | self.spellingSuggActs = [] |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9242 | line, index = self.lineIndexFromPosition(self.spellingMenuPos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9243 | word = self.getWord(line, index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9244 | suggestions = self.spell.getSuggestions(word) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9245 | for suggestion in suggestions[:5]: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9246 | self.spellingSuggActs.append(self.spellingMenu.addAction(suggestion)) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9247 | if suggestions: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9248 | self.spellingMenu.addSeparator() |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9249 | self.spellingMenu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
9250 | EricPixmapCache.getIcon("spellchecking"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9251 | self.tr("Check spelling..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9252 | self.__checkSpellingWord, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9253 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
9254 | self.spellingMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9255 | self.tr("Add to dictionary"), self.__addToSpellingDictionary |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9256 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9257 | self.spellingMenu.addAction(self.tr("Ignore All"), self.__ignoreSpellingAlways) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9258 | |
3327
1338767b5315
Started implementing support for a marker map in the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3325
diff
changeset
|
9259 | self.showMenu.emit("Spelling", self.spellingMenu, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9260 | |
10279 | 9261 | @pyqtSlot(QAction) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9262 | def __contextMenuSpellingTriggered(self, action): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9263 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9264 | Private slot to handle the selection of a suggestion of the spelling |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9265 | context menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9266 | |
10279 | 9267 | @param action reference to the action that was selected |
9268 | @type QAction | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9269 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9270 | if action in self.spellingSuggActs: |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9271 | replacement = action.text() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9272 | line, index = self.lineIndexFromPosition(self.spellingMenuPos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9273 | wordStart, wordEnd = self.getWordBoundaries(line, index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9274 | self.setSelection(line, wordStart, line, wordEnd) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9275 | self.beginUndoAction() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9276 | self.removeSelectedText() |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9277 | self.insert(replacement) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9278 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9279 | |
10279 | 9280 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9281 | def __addToSpellingDictionary(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9282 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9283 | Private slot to add the word below the spelling context menu to the |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9284 | dictionary. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9285 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9286 | line, index = self.lineIndexFromPosition(self.spellingMenuPos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9287 | word = self.getWord(line, index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9288 | self.spell.add(word) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9289 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9290 | wordStart, wordEnd = self.getWordBoundaries(line, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9291 | self.clearIndicator(self.spellingIndicator, line, wordStart, line, wordEnd) |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9292 | if Preferences.getEditor("AutoSpellCheckingEnabled"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9293 | self.spell.checkDocumentIncrementally() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9294 | |
10279 | 9295 | @pyqtSlot() |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9296 | def __removeFromSpellingDictionary(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9297 | """ |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9298 | Private slot to remove the word below the context menu to the |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9299 | dictionary. |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9300 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9301 | line, index = self.lineIndexFromPosition(self.spellingMenuPos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9302 | word = self.getWord(line, index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9303 | self.spell.remove(word) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9304 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9305 | if Preferences.getEditor("AutoSpellCheckingEnabled"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9306 | self.spell.checkDocumentIncrementally() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9307 | |
92
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9308 | def __ignoreSpellingAlways(self): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9309 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9310 | Private to always ignore the word below the spelling context menu. |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9311 | """ |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9312 | line, index = self.lineIndexFromPosition(self.spellingMenuPos) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9313 | word = self.getWord(line, index) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9314 | self.spell.ignoreAlways(word) |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9315 | if Preferences.getEditor("AutoSpellCheckingEnabled"): |
30ffedc3e418
Refined the flakes integration code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
9316 | self.spell.checkDocumentIncrementally() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9317 | |
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9318 | ####################################################################### |
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9319 | ## Cooperation related methods |
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9320 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9321 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9322 | def getSharingStatus(self): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9323 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9324 | Public method to get some share status info. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9325 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9326 | @return tuple indicating, if the editor is sharable, the sharing |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9327 | status, if it is inside a locally initiated shared edit session |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9328 | and if it is inside a remotely initiated shared edit session |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9329 | @rtype tuple of (bool, bool, bool, bool) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9330 | """ |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9331 | return ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9332 | ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9333 | bool(self.fileName) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9334 | and self.project.isOpen() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9335 | and self.project.isProjectFile(self.fileName) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9336 | ), |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9337 | self.__isShared, |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9338 | self.__inSharedEdit, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9339 | self.__inRemoteSharedEdit, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9340 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9341 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9342 | def shareConnected(self, connected): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9343 | """ |
10279 | 9344 | Public method to handle a change of the connected state. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9345 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9346 | @param connected flag indicating the connected state |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9347 | @type bool |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9348 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9349 | if not connected: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9350 | self.__inRemoteSharedEdit = False |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9351 | self.setReadOnly(False) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9352 | self.__updateReadOnly() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9353 | self.cancelSharedEdit(send=False) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9354 | self.__isSyncing = False |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9355 | self.__receivedWhileSyncing = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9356 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9357 | def shareEditor(self, share): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9358 | """ |
10279 | 9359 | Public method to set the shared status of the editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9360 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9361 | @param share flag indicating the share status |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9362 | @type bool |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9363 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9364 | self.__isShared = share |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9365 | if not share: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9366 | self.shareConnected(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9367 | |
10279 | 9368 | @pyqtSlot() |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9369 | def startSharedEdit(self): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9370 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9371 | Public slot to start a shared edit session for the editor. |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9372 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9373 | self.__inSharedEdit = True |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9374 | self.__savedText = self.text() |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
9375 | hashStr = str( |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9376 | QCryptographicHash.hash( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9377 | Utilities.encode(self.__savedText, self.encoding)[0], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9378 | QCryptographicHash.Algorithm.Sha1, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9379 | ).toHex(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9380 | encoding="utf-8", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9381 | ) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
9382 | self.__send(Editor.StartEditToken, hashStr) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9383 | |
10279 | 9384 | @pyqtSlot() |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9385 | def sendSharedEdit(self): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9386 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9387 | Public slot to end a shared edit session for the editor and |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9388 | send the changes. |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9389 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9390 | commands = self.__calculateChanges(self.__savedText, self.text()) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9391 | self.__send(Editor.EndEditToken, commands) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9392 | self.__inSharedEdit = False |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9393 | self.__savedText = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9394 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9395 | def cancelSharedEdit(self, send=True): |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9396 | """ |
10279 | 9397 | Public method to cancel a shared edit session for the editor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9398 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9399 | @param send flag indicating to send the CancelEdit command |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9400 | @type bool |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9401 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9402 | self.__inSharedEdit = False |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9403 | self.__savedText = "" |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9404 | if send: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9405 | self.__send(Editor.CancelEditToken) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9406 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9407 | def __send(self, token, args=None): |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9408 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9409 | Private method to send an editor command to remote editors. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9410 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9411 | @param token command token |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9412 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9413 | @param args arguments for the command |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9414 | @type str |
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9415 | """ |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9416 | if self.vm.isConnected(): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9417 | msg = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9418 | if token in ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9419 | Editor.StartEditToken, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9420 | Editor.EndEditToken, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9421 | Editor.RequestSyncToken, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9422 | Editor.SyncToken, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9423 | ): |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9424 | msg = "{0}{1}{2}".format(token, Editor.Separator, args) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9425 | elif token == Editor.CancelEditToken: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9426 | msg = "{0}{1}c".format(token, Editor.Separator) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9427 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9428 | self.vm.send(self.fileName, msg) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9429 | |
10279 | 9430 | @pyqtSlot(str) |
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9431 | def receive(self, command): |
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9432 | """ |
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9433 | Public slot to handle received editor commands. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9434 | |
10279 | 9435 | @param command command string |
9436 | @type str | |
155
375e3c884874
Added code to transmit selections to remote editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
9437 | """ |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9438 | if self.__isShared: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9439 | if self.__isSyncing and not command.startswith( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9440 | Editor.SyncToken + Editor.Separator |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9441 | ): |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9442 | self.__receivedWhileSyncing.append(command) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9443 | else: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9444 | self.__dispatchCommand(command) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9445 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9446 | def __dispatchCommand(self, command): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9447 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9448 | Private method to dispatch received commands. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9449 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9450 | @param command command to be processed |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9451 | @type str |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9452 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9453 | token, argsString = command.split(Editor.Separator, 1) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9454 | if token == Editor.StartEditToken: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9455 | self.__processStartEditCommand(argsString) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9456 | elif token == Editor.CancelEditToken: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9457 | self.shareConnected(False) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9458 | elif token == Editor.EndEditToken: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9459 | self.__processEndEditCommand(argsString) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9460 | elif token == Editor.RequestSyncToken: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9461 | self.__processRequestSyncCommand(argsString) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9462 | elif token == Editor.SyncToken: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9463 | self.__processSyncCommand(argsString) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9464 | |
10279 | 9465 | @pyqtSlot(str) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9466 | def __processStartEditCommand(self, argsString): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9467 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
9468 | Private slot to process a remote StartEdit command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9469 | |
10279 | 9470 | @param argsString string containing the command parameters |
9471 | @type str | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9472 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9473 | if not self.__inSharedEdit and not self.__inRemoteSharedEdit: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9474 | self.__inRemoteSharedEdit = True |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9475 | self.setReadOnly(True) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9476 | self.__updateReadOnly() |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
9477 | hashStr = str( |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9478 | QCryptographicHash.hash( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9479 | Utilities.encode(self.text(), self.encoding)[0], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9480 | QCryptographicHash.Algorithm.Sha1, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9481 | ).toHex(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9482 | encoding="utf-8", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9483 | ) |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
9484 | if hashStr != argsString: |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9485 | # text is different to the remote site, request to sync it |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9486 | self.__isSyncing = True |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9487 | self.__send(Editor.RequestSyncToken, argsString) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9488 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9489 | def __calculateChanges(self, old, new): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9490 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9491 | Private method to determine change commands to convert old text into |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9492 | new text. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9493 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9494 | @param old old text |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9495 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9496 | @param new new text |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9497 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9498 | @return commands to change old into new |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9499 | @rtype str |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9500 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9501 | oldL = old.splitlines() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9502 | newL = new.splitlines() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9503 | matcher = difflib.SequenceMatcher(None, oldL, newL) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9504 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9505 | formatStr = "@@{0} {1} {2} {3}" |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9506 | commands = [] |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9507 | for token, i1, i2, j1, j2 in matcher.get_opcodes(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9508 | if token == "insert": # secok |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9509 | commands.append(formatStr.format("i", j1, j2 - j1, -1)) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9510 | commands.extend(newL[j1:j2]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9511 | elif token == "delete": # secok |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9512 | commands.append(formatStr.format("d", j1, i2 - i1, -1)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9513 | elif token == "replace": # secok |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9514 | commands.append(formatStr.format("r", j1, i2 - i1, j2 - j1)) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9515 | commands.extend(newL[j1:j2]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9516 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9517 | return "\n".join(commands) + "\n" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9518 | |
10279 | 9519 | @pyqtSlot(str) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9520 | def __processEndEditCommand(self, argsString): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9521 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
9522 | Private slot to process a remote EndEdit command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9523 | |
10279 | 9524 | @param argsString string containing the command parameters |
9525 | @type str | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9526 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9527 | commands = argsString.splitlines() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9528 | sep = self.getLineSeparator() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9529 | cur = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9530 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9531 | self.setReadOnly(False) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9532 | self.beginUndoAction() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9533 | while commands: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9534 | commandLine = commands.pop(0) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9535 | if not commandLine.startswith("@@"): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9536 | continue |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9537 | |
2526
a91cba8291b9
Minimum modifications to start Eric5 with Py2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
9538 | args = commandLine.split() |
a91cba8291b9
Minimum modifications to start Eric5 with Py2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
9539 | command = args.pop(0) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9540 | pos, l1, l2 = [int(arg) for arg in args] |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9541 | if command == "@@i": |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9542 | txt = sep.join(commands[0:l1]) + sep |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9543 | self.insertAt(txt, pos, 0) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9544 | del commands[0:l1] |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9545 | elif command == "@@d": |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9546 | self.setSelection(pos, 0, pos + l1, 0) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9547 | self.removeSelectedText() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9548 | elif command == "@@r": |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9549 | self.setSelection(pos, 0, pos + l1, 0) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9550 | self.removeSelectedText() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9551 | txt = sep.join(commands[0:l2]) + sep |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9552 | self.insertAt(txt, pos, 0) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9553 | del commands[0:l2] |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9554 | self.endUndoAction() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9555 | self.__updateReadOnly() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9556 | self.__inRemoteSharedEdit = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9557 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9558 | self.setCursorPosition(*cur) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9559 | |
10279 | 9560 | @pyqtSlot(str) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9561 | def __processRequestSyncCommand(self, argsString): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9562 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
9563 | Private slot to process a remote RequestSync command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9564 | |
10279 | 9565 | @param argsString string containing the command parameters |
9566 | @type str | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9567 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9568 | if self.__inSharedEdit: |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
9569 | hashStr = str( |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9570 | QCryptographicHash.hash( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9571 | Utilities.encode(self.__savedText, self.encoding)[0], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9572 | QCryptographicHash.Algorithm.Sha1, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9573 | ).toHex(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9574 | encoding="utf-8", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9575 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9576 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
9577 | if hashStr == argsString: |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9578 | self.__send(Editor.SyncToken, self.__savedText) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9579 | |
10279 | 9580 | @pyqtSlot(str) |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9581 | def __processSyncCommand(self, argsString): |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9582 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2959
diff
changeset
|
9583 | Private slot to process a remote Sync command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9584 | |
10279 | 9585 | @param argsString string containing the command parameters |
9586 | @type str | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9587 | """ |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9588 | if self.__isSyncing: |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9589 | cur = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9590 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9591 | self.setReadOnly(False) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9592 | self.beginUndoAction() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9593 | self.selectAll() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9594 | self.removeSelectedText() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9595 | self.insertAt(argsString, 0, 0) |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9596 | self.endUndoAction() |
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9597 | self.setReadOnly(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9598 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9599 | self.setCursorPosition(*cur) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9600 | |
158
6a561f87bc07
Added shared editor functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
156
diff
changeset
|
9601 | while self.__receivedWhileSyncing: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
939
diff
changeset
|
9602 | command = self.__receivedWhileSyncing.pop(0) |
826
2e3e2055e715
Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
9603 | self.__dispatchCommand(command) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9604 | |
718
979d6e242404
Fixed an issue in the editor saving files without extension on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
9605 | self.__isSyncing = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9606 | |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9607 | ####################################################################### |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9608 | ## Special search related methods |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9609 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9610 | |
10279 | 9611 | @pyqtSlot() |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9612 | def searchCurrentWordForward(self): |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9613 | """ |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9614 | Public slot to search the current word forward. |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9615 | """ |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9616 | self.__searchCurrentWord(forward=True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9617 | |
10279 | 9618 | @pyqtSlot() |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9619 | def searchCurrentWordBackward(self): |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9620 | """ |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9621 | Public slot to search the current word backward. |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9622 | """ |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9623 | self.__searchCurrentWord(forward=False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9624 | |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9625 | def __searchCurrentWord(self, forward=True): |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9626 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3583
diff
changeset
|
9627 | Private slot to search the next occurrence of the current word. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9628 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9629 | @param forward flag indicating the search direction |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10417
diff
changeset
|
9630 | @type bool |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9631 | """ |
3069
8a9579bbf583
Added support for find indicators to the editor (QScintilla >= 2.8).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3067
diff
changeset
|
9632 | self.hideFindIndicator() |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9633 | line, index = self.getCursorPosition() |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9634 | word = self.getCurrentWord() |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9635 | wordStart, wordEnd = self.getCurrentWordBoundaries() |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9636 | wordStartPos = self.positionFromLineIndex(line, wordStart) |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9637 | wordEndPos = self.positionFromLineIndex(line, wordEnd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9638 | |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9639 | regExp = re.compile(r"\b{0}\b".format(word)) |
8235
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8231
diff
changeset
|
9640 | startPos = wordEndPos if forward else wordStartPos |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9641 | |
10908
ef1b3cd9a6ca
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10895
diff
changeset
|
9642 | matches = list(regExp.finditer(self.text())) |
2213
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9643 | if matches: |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9644 | if forward: |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9645 | matchesAfter = [m for m in matches if m.start() >= startPos] |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9646 | if matchesAfter: |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9647 | match = matchesAfter[0] |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9648 | else: |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9649 | # wrap around |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9650 | match = matches[0] |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9651 | else: |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9652 | matchesBefore = [m for m in matches if m.start() < startPos] |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9653 | if matchesBefore: |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9654 | match = matchesBefore[-1] |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9655 | else: |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9656 | # wrap around |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9657 | match = matches[-1] |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9658 | line, index = self.lineIndexFromPosition(match.start()) |
022f4ad3ed19
Added actions to search for the next/previous occurence of the current word (default shortcuts Ctrl+. and Ctrl+,).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2189
diff
changeset
|
9659 | self.setSelection(line, index + len(match.group(0)), line, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9660 | self.showFindIndicator(line, index, line, index + len(match.group(0))) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9661 | |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9662 | ####################################################################### |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9663 | ## Sort related methods |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9664 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9665 | |
10279 | 9666 | @pyqtSlot() |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9667 | def sortLines(self): |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9668 | """ |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9669 | Public slot to sort the lines spanned by a rectangular selection. |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9670 | """ |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
9671 | from .SortOptionsDialog import SortOptionsDialog |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
9672 | |
2590
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9673 | if not self.selectionIsRectangle(): |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9674 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9675 | |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
9676 | dlg = SortOptionsDialog(parent=self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
9677 | if dlg.exec() == QDialog.DialogCode.Accepted: |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9678 | ascending, alnum, caseSensitive = dlg.getData() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9679 | ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9680 | origStartLine, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9681 | origStartIndex, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9682 | origEndLine, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9683 | origEndIndex, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9684 | ) = self.getRectangularSelection() |
2590
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9685 | # convert to upper-left to lower-right |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9686 | startLine = min(origStartLine, origEndLine) |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9687 | startIndex = min(origStartIndex, origEndIndex) |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9688 | endLine = max(origStartLine, origEndLine) |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9689 | endIndex = max(origStartIndex, origEndIndex) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9690 | |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9691 | # step 1: extract the text of the rectangular selection and |
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9692 | # the lines |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9693 | selText = {} |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9694 | txtLines = {} |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9695 | for line in range(startLine, endLine + 1): |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9696 | txtLines[line] = self.text(line) |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9697 | txt = txtLines[line][startIndex:endIndex].strip() |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9698 | if not alnum: |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9699 | try: |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9700 | txt = float(txt) |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9701 | except ValueError: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
9702 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3011
diff
changeset
|
9703 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
9704 | self.tr("Sort Lines"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3169
diff
changeset
|
9705 | self.tr( |
3011
18292228c724
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2994
diff
changeset
|
9706 | """The selection contains illegal data for a""" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9707 | """ numerical sort.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9708 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9709 | ) |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9710 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9711 | |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9712 | if txt in selText: |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9713 | selText[txt].append(line) |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9714 | else: |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9715 | selText[txt] = [line] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9716 | |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9717 | # step 2: calculate the sort parameters |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9718 | reverse = not ascending |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9719 | if alnum and not caseSensitive: |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9720 | keyFun = str.lower |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9721 | else: |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9722 | keyFun = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9723 | |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9724 | # step 3: sort the lines |
2590
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9725 | eol = self.getLineSeparator() |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9726 | lastWithEol = True |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9727 | newLines = [] |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10345
diff
changeset
|
9728 | for txt in sorted(selText, key=keyFun, reverse=reverse): |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9729 | for line in selText[txt]: |
2590
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9730 | txt = txtLines[line] |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9731 | if not txt.endswith(eol): |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9732 | lastWithEol = False |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9733 | txt += eol |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9734 | newLines.append(txt) |
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9735 | if not lastWithEol: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9736 | newLines[-1] = newLines[-1][: -len(eol)] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9737 | |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9738 | # step 4: replace the lines by the sorted ones |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9739 | self.setSelection(startLine, 0, endLine + 1, 0) |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9740 | self.beginUndoAction() |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9741 | self.replaceSelectedText("".join(newLines)) |
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9742 | self.endUndoAction() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9743 | |
2589
a51b0c113ed7
Added the capability to sort lines spanned by a rectangular selection based on the selected text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2517
diff
changeset
|
9744 | # step 5: reset the rectangular selection |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9745 | self.setRectangularSelection( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9746 | origStartLine, origStartIndex, origEndLine, origEndIndex |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9747 | ) |
2590
abe9b3e04381
Finished the sort implementation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2589
diff
changeset
|
9748 | self.selectionChanged.emit() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9749 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9750 | ####################################################################### |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9751 | ## Mouse click handler related methods |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9752 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9753 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9754 | def mouseReleaseEvent(self, evt): |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9755 | """ |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9756 | Protected method calling a registered mouse click handler function. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9757 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9758 | @param evt event object |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9759 | @type QMouseEvent |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9760 | """ |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9761 | modifiers = evt.modifiers() |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9762 | button = evt.button() |
8376
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9763 | key = (modifiers, button) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9764 | |
4297
8ece10107224
Corrected the mouse release event handler of the editor to call the super class one first.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4292
diff
changeset
|
9765 | self.vm.eventFilter(self, evt) |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8217
diff
changeset
|
9766 | super().mouseReleaseEvent(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9767 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9768 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9769 | button != Qt.MouseButton.NoButton |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9770 | and Preferences.getEditor("MouseClickHandlersEnabled") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9771 | and key in self.__mouseClickHandlers |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7261
diff
changeset
|
9772 | ): |
4297
8ece10107224
Corrected the mouse release event handler of the editor to call the super class one first.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4292
diff
changeset
|
9773 | evt.accept() |
4302
748f4945462b
Changed the call to mouse click handlers in the editor to pass the calling editor as a parameter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4299
diff
changeset
|
9774 | self.__mouseClickHandlers[key][1](self) |
8713 | 9775 | else: |
9776 | super().mouseReleaseEvent(evt) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9777 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9778 | def setMouseClickHandler(self, name, modifiers, button, function): |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9779 | """ |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9780 | Public method to set a mouse click handler. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9781 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9782 | @param name name of the plug-in (or 'internal') setting this handler |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9783 | @type str |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9784 | @param modifiers keyboard modifiers of the handler |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9785 | @type Qt.KeyboardModifiers or int |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9786 | @param button mouse button of the handler |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9787 | @type Qt.MouseButton or int |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9788 | @param function handler function |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9789 | @type func |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9790 | @return flag indicating success |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9791 | @rtype bool |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9792 | """ |
8376
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9793 | if button and button != Qt.MouseButton.NoButton: |
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9794 | key = (modifiers, button) |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9795 | if key in self.__mouseClickHandlers: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
9796 | EricMessageBox.warning( |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9797 | self, |
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9798 | self.tr("Register Mouse Click Handler"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9799 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9800 | """A mouse click handler for "{0}" was already""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9801 | """ registered by "{1}". Aborting request by""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9802 | """ "{2}"...""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9803 | ).format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9804 | MouseUtilities.MouseButtonModifier2String(modifiers, button), |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9805 | self.__mouseClickHandlers[key][0], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9806 | name, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9807 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9808 | ) |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9809 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9810 | |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9811 | self.__mouseClickHandlers[key] = (name, function) |
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9812 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9813 | |
4299
93219cb8f66b
Small ammendment to the mouse click handler functions of the editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4297
diff
changeset
|
9814 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9815 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9816 | def getMouseClickHandler(self, modifiers, button): |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9817 | """ |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9818 | Public method to get a registered mouse click handler. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9819 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9820 | @param modifiers keyboard modifiers of the handler |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9821 | @type Qt.KeyboardModifiers |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9822 | @param button mouse button of the handler |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9823 | @type Qt.MouseButton |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9824 | @return plug-in name and registered function |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9825 | @rtype tuple of str and func |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9826 | """ |
8376
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9827 | key = (modifiers, button) |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9828 | if key in self.__mouseClickHandlers: |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9829 | return self.__mouseClickHandlers[key] |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9830 | else: |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9831 | return ("", None) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9832 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9833 | def getMouseClickHandlers(self, name): |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9834 | """ |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9835 | Public method to get all registered mouse click handlers of |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9836 | a plug-in. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9837 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9838 | @param name name of the plug-in |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9839 | @type str |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9840 | @return registered mouse click handlers as list of modifiers, |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9841 | mouse button and function |
8376
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9842 | @rtype list of tuple of (Qt.KeyboardModifiers, Qt.MouseButton, func) |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9843 | """ |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9844 | lst = [] |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9845 | for key, value in self.__mouseClickHandlers.items(): |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9846 | if value[0] == name: |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9847 | lst.append((key[0], key[1], value[1])) |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9848 | return lst |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9849 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9850 | def removeMouseClickHandler(self, modifiers, button): |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9851 | """ |
4287
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9852 | Public method to un-registered a mouse click handler. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9853 | |
4287
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9854 | @param modifiers keyboard modifiers of the handler |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9855 | @type Qt.KeyboardModifiers |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9856 | @param button mouse button of the handler |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9857 | @type Qt.MouseButton |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9858 | """ |
8376
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9859 | key = (modifiers, button) |
4287
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9860 | if key in self.__mouseClickHandlers: |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9861 | del self.__mouseClickHandlers[key] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9862 | |
4286
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9863 | def removeMouseClickHandlers(self, name): |
255f56eb7f05
Started implementing support for mouse click handlers into the Editor. This can be used by plug-ins to implement function executed by a mouse click (e.g. goto definition upon Ctrl+Left Button).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4283
diff
changeset
|
9864 | """ |
4287
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9865 | Public method to un-registered all mouse click handlers of |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9866 | a plug-in. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9867 | |
4287
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9868 | @param name name of the plug-in |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9869 | @type str |
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9870 | """ |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10345
diff
changeset
|
9871 | for key in list(self.__mouseClickHandlers): |
4287
12274edd3050
Completed the mouse click handler support.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4286
diff
changeset
|
9872 | if self.__mouseClickHandlers[key][0] == name: |
10281
b3d6208d2f33
Fixed a few issues introduced by the recent change.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10279
diff
changeset
|
9873 | del self.__mouseClickHandlers[key] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9874 | |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9875 | def gotoReferenceHandler(self, referencesList): |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9876 | """ |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9877 | Public method to handle a list of references to perform a goto. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9878 | |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9879 | @param referencesList list of references for a 'goto' action |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9880 | @type ReferenceItem |
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9881 | """ |
8497
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9882 | references = [] |
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9883 | referencePositions = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9884 | |
8497
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9885 | for reference in referencesList: |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9886 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9887 | reference.modulePath != self.getFileName() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9888 | or self.getCursorPosition()[0] + 1 != reference.line |
8488
b9168b90f830
Editor: added support for 'goto reference' via the mouse click handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8487
diff
changeset
|
9889 | ): |
8498
3d3b31f16846
Editor: fine tuned the presentation of the 'goto references' list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8497
diff
changeset
|
9890 | if reference.modulePath == self.getFileName(): |
3d3b31f16846
Editor: fine tuned the presentation of the 'goto references' list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8497
diff
changeset
|
9891 | references.append( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9892 | self.tr("{0:4d} {1}", "line number, source code").format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9893 | reference.line, reference.codeLine.strip() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9894 | ) |
8498
3d3b31f16846
Editor: fine tuned the presentation of the 'goto references' list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8497
diff
changeset
|
9895 | ) |
3d3b31f16846
Editor: fine tuned the presentation of the 'goto references' list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8497
diff
changeset
|
9896 | else: |
3d3b31f16846
Editor: fine tuned the presentation of the 'goto references' list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8497
diff
changeset
|
9897 | references.append( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9898 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9899 | "{0:4d} {1}\n => {2}", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9900 | "line number, source code, file name", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9901 | ).format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9902 | reference.line, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9903 | reference.codeLine.strip(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9904 | self.project.getRelativePath(reference.modulePath), |
8522
4f263b89a293
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8519
diff
changeset
|
9905 | ) |
8498
3d3b31f16846
Editor: fine tuned the presentation of the 'goto references' list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8497
diff
changeset
|
9906 | ) |
8497
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9907 | referencePositions.append( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9908 | (reference.modulePath, reference.line, reference.column) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9909 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9910 | |
8497
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9911 | if references: |
8581
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
9912 | if self.isCallTipActive(): |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
9913 | self.cancelCallTips() |
8497
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9914 | self.__referencesList = references |
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9915 | self.__referencesPositionsList = referencePositions |
be6e6d321ba7
Editor: corrected the code dealing with 'Goto References'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8488
diff
changeset
|
9916 | self.showUserList(ReferencesListID, references) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9917 | |
8376
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9918 | ####################################################################### |
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9919 | ## Methods implementing a Shell interface |
43caa4cc9bd1
Modified the mouse click handler support code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
9920 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9921 | |
10279 | 9922 | @pyqtSlot() |
6059
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
9923 | def __executeSelection(self): |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
9924 | """ |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
9925 | Private slot to execute the selected text in the shell window. |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
9926 | """ |
8f7c66c53c27
Added a context menu entry to "Execute Selection In Console".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
9927 | txt = self.selectedText() |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
9928 | ericApp().getObject("Shell").executeLines(txt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9929 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9930 | ####################################################################### |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9931 | ## Methods implementing the interface to EditorConfig |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9932 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9933 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9934 | def __loadEditorConfig(self, fileName=""): |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9935 | """ |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9936 | Private method to load the EditorConfig properties. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9937 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9938 | @param fileName name of the file |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9939 | @type str |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9940 | """ |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9941 | if not fileName: |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9942 | fileName = self.fileName |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9943 | |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9944 | self.__editorConfig = self.__loadEditorConfigObject(fileName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9945 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9946 | if fileName: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
9947 | self.__setTabAndIndent() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9948 | |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9949 | def __loadEditorConfigObject(self, fileName): |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9950 | """ |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9951 | Private method to load the EditorConfig properties for the given |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9952 | file name. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9953 | |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9954 | @param fileName name of the file |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9955 | @type str |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9956 | @return EditorConfig dictionary |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9957 | @rtype dict |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9958 | """ |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9959 | editorConfig = {} |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9960 | |
10774
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9961 | if fileName: |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9962 | try: |
10774
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9963 | if FileSystemUtilities.isRemoteFileName(fileName): |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9964 | if ericApp().getObject("EricServer").isServerConnected(): |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9965 | editorConfigInterface = ( |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9966 | ericApp() |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9967 | .getObject("EricServer") |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9968 | .getServiceInterface("EditorConfig") |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9969 | ) |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9970 | editorConfig = editorConfigInterface.loadEditorConfig(fileName) |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9971 | elif FileSystemUtilities.isPlainFileName(fileName): |
7f7ff7456904
Created a handler and interface for remote handling 'editor config' files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10763
diff
changeset
|
9972 | editorConfig = editorconfig.get_properties(fileName) |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9973 | except editorconfig.EditorConfigError: |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8354
diff
changeset
|
9974 | EricMessageBox.warning( |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9975 | self, |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9976 | self.tr("EditorConfig Properties"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9977 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9978 | """<p>The EditorConfig properties for file""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9979 | """ <b>{0}</b> could not be loaded.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9980 | ).format(fileName), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9981 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9982 | |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9983 | return editorConfig |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9984 | |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9985 | def __getEditorConfig(self, option, nodefault=False, config=None): |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9986 | """ |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9987 | Private method to get the requested option via EditorConfig. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9988 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9989 | If there is no EditorConfig defined, the equivalent built-in option |
6996
7d5a103bdb76
EditorConfig: updated to version 0.12.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6954
diff
changeset
|
9990 | will be used (Preferences.getEditor() ). The option must be given as |
7d5a103bdb76
EditorConfig: updated to version 0.12.2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6954
diff
changeset
|
9991 | the Preferences option key. The mapping to the EditorConfig option name |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9992 | will be done within this method. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
9993 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9994 | @param option Preferences option key |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9995 | @type str |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9996 | @param nodefault flag indicating to not get the default value from |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9997 | Preferences but return None instead |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
9998 | @type bool |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
9999 | @param config reference to an EditorConfig object or None |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
10000 | @type dict |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10001 | @return value of requested setting or None if nothing was found and |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10002 | nodefault parameter was True |
10417
c6011e501282
Modernized some code and converted Debug Client and Debugger source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10388
diff
changeset
|
10003 | @rtype Any |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10004 | """ |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
10005 | if config is None: |
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
10006 | config = self.__editorConfig |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10007 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10008 | try: |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10009 | if option == "EOLMode": |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
10010 | value = config["end_of_line"] |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10011 | if value == "lf": |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
10012 | value = QsciScintilla.EolMode.EolUnix |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10013 | elif value == "crlf": |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
10014 | value = QsciScintilla.EolMode.EolWindows |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10015 | elif value == "cr": |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8131
diff
changeset
|
10016 | value = QsciScintilla.EolMode.EolMac |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10017 | else: |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10018 | value = None |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10019 | elif option == "DefaultEncoding": |
6101
b854a825d483
Continued implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6099
diff
changeset
|
10020 | value = config["charset"] |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10021 | elif option == "InsertFinalNewline": |
10806
2f6df822e3b9
Moved some functions to the EricUtilities package for consistency and adapted the code base accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10774
diff
changeset
|
10022 | value = EricUtilities.toBool(config["insert_final_newline"]) |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10023 | elif option == "StripTrailingWhitespace": |
10806
2f6df822e3b9
Moved some functions to the EricUtilities package for consistency and adapted the code base accordingly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10774
diff
changeset
|
10024 | value = EricUtilities.toBool(config["trim_trailing_whitespace"]) |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10025 | elif option == "TabWidth": |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10026 | value = int(config["tab_width"]) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10027 | elif option == "IndentWidth": |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10028 | value = config["indent_size"] |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10029 | if value == "tab": |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10030 | value = self.__getEditorConfig("TabWidth", config=config) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10031 | else: |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10032 | value = int(value) |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10033 | elif option == "TabForIndentation": |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10034 | value = config["indent_style"] == "tab" |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10035 | except KeyError: |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10036 | value = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10037 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10038 | if value is None and not nodefault: |
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10039 | # use Preferences in case of error |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10040 | value = self.__getOverrideValue(option) |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10041 | if value is None: |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10042 | # no override |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10043 | value = Preferences.getEditor(option) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10044 | |
6099
a7fecbc392d7
Started implementing support for EditorConfig.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6092
diff
changeset
|
10045 | return value |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10046 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10047 | def getEditorConfig(self, option): |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10048 | """ |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10049 | Public method to get the requested option via EditorConfig. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10050 | |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10051 | @param option Preferences option key |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10052 | @type str |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10053 | @return value of requested setting |
10417
c6011e501282
Modernized some code and converted Debug Client and Debugger source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10388
diff
changeset
|
10054 | @rtype Any |
6105
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10055 | """ |
cbd34d558bd9
Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6101
diff
changeset
|
10056 | return self.__getEditorConfig(option) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10057 | |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10058 | def __getOverrideValue(self, option): |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10059 | """ |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10060 | Private method to get an override value for the current file type. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10061 | |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10062 | @param option Preferences option key |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10063 | @type str |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10064 | @return override value; None in case nothing is defined |
10417
c6011e501282
Modernized some code and converted Debug Client and Debugger source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10388
diff
changeset
|
10065 | @rtype Any |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10066 | """ |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10067 | if option in ("TabWidth", "IndentWidth"): |
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10068 | overrides = Preferences.getEditor("TabIndentOverride") |
7293
4738aac944e6
Editor: fixed an issue determining the tab and indentation width override.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7278
diff
changeset
|
10069 | language = self.filetype or self.apiLanguage |
4738aac944e6
Editor: fixed an issue determining the tab and indentation width override.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7278
diff
changeset
|
10070 | if language in overrides: |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10071 | if option == "TabWidth": |
7293
4738aac944e6
Editor: fixed an issue determining the tab and indentation width override.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7278
diff
changeset
|
10072 | return overrides[language][0] |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10073 | elif option == "IndentWidth": |
7293
4738aac944e6
Editor: fixed an issue determining the tab and indentation width override.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7278
diff
changeset
|
10074 | return overrides[language][1] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10075 | |
7278
1820a0344b62
Editor: added configuration option to set the tab and indentation width for each languages separately (as an override to the global ones).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7276
diff
changeset
|
10076 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10077 | |
7998 | 10078 | ####################################################################### |
10079 | ## Methods implementing the docstring generator interface | |
10080 | ####################################################################### | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10081 | |
10665
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
10082 | def resetDocstringGenerator(self): |
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
10083 | """ |
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
10084 | Public method to reset the current docstring generator. |
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
10085 | """ |
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
10086 | self.__docstringGenerator = None |
66564661c3b5
Fixed a type in the docstring generator causing 'googledoc' type to fail.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
10087 | |
7998 | 10088 | def getDocstringGenerator(self): |
10089 | """ | |
10090 | Public method to get a reference to the docstring generator. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10091 | |
7998 | 10092 | @return reference to the docstring generator |
10093 | @rtype BaseDocstringGenerator | |
10094 | """ | |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
10095 | from . import DocstringGenerator |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
10096 | |
7998 | 10097 | if self.__docstringGenerator is None: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10098 | self.__docstringGenerator = DocstringGenerator.getDocstringGenerator(self) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10099 | |
7998 | 10100 | return self.__docstringGenerator |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10101 | |
8000
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10102 | def insertDocstring(self): |
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10103 | """ |
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10104 | Public method to generate and insert a docstring for the function under |
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10105 | the cursor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10106 | |
8000
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10107 | Note: This method is called via a keyboard shortcut or through the |
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10108 | global 'Edit' menu. |
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10109 | """ |
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10110 | generator = self.getDocstringGenerator() |
47b15df088e4
Editor: extended the docstring functionality to be invocable via a keyboard shortcut (Ctrl+Alt+D).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7998
diff
changeset
|
10111 | generator.insertDocstringFromShortcut(self.getCursorPosition()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10112 | |
7998 | 10113 | @pyqtSlot() |
10114 | def __insertDocstring(self): | |
10115 | """ | |
10116 | Private slot to generate and insert a docstring for the function under | |
10117 | the cursor. | |
10118 | """ | |
10119 | generator = self.getDocstringGenerator() | |
10120 | generator.insertDocstring(self.getCursorPosition(), fromStart=True) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10121 | |
7998 | 10122 | def __delayedDocstringMenuPopup(self, cursorPosition): |
10123 | """ | |
10124 | Private method to test, if the user might want to insert a docstring. | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10125 | |
7998 | 10126 | @param cursorPosition current cursor position (line and column) |
10127 | @type tuple of (int, int) | |
10128 | """ | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10129 | if Preferences.getEditor( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10130 | "DocstringAutoGenerate" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10131 | ) and self.getDocstringGenerator().isDocstringIntro(cursorPosition): |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10132 | lineText2Cursor = self.text(cursorPosition[0])[: cursorPosition[1]] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10133 | |
7998 | 10134 | QTimer.singleShot( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10135 | 300, lambda: self.__popupDocstringMenu(lineText2Cursor, cursorPosition) |
7998 | 10136 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10137 | |
7998 | 10138 | def __popupDocstringMenu(self, lastLineText, lastCursorPosition): |
10139 | """ | |
10279 | 10140 | Private method to pop up a menu asking the user, if a docstring should be |
7998 | 10141 | inserted. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10142 | |
7998 | 10143 | @param lastLineText line contents when the delay timer was started |
10144 | @type str | |
10145 | @param lastCursorPosition position of the cursor when the delay timer | |
10146 | was started (line and index) | |
10147 | @type tuple of (int, int) | |
10148 | """ | |
10331
c1a2ff7e3575
Modernized some code and corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10307
diff
changeset
|
10149 | from .DocstringGenerator.BaseDocstringGenerator import DocstringMenuForEnterOnly |
c1a2ff7e3575
Modernized some code and corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10307
diff
changeset
|
10150 | |
7998 | 10151 | cursorPosition = self.getCursorPosition() |
10152 | if lastCursorPosition != cursorPosition: | |
10153 | return | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10154 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10155 | if self.text(cursorPosition[0])[: cursorPosition[1]] != lastLineText: |
7998 | 10156 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10157 | |
7998 | 10158 | generator = self.getDocstringGenerator() |
10159 | if generator.hasFunctionDefinition(cursorPosition): | |
10160 | docstringMenu = DocstringMenuForEnterOnly(self) | |
10161 | act = docstringMenu.addAction( | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
10162 | EricPixmapCache.getIcon("fileText"), |
7998 | 10163 | self.tr("Generate Docstring"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10164 | lambda: generator.insertDocstring(cursorPosition, fromStart=False), |
7998 | 10165 | ) |
10166 | docstringMenu.setActiveAction(act) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10167 | docstringMenu.popup(self.mapToGlobal(self.getGlobalCursorPosition())) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10168 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10169 | ####################################################################### |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10170 | ## Methods implementing the mouse hover help interface |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10171 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10172 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10173 | @pyqtSlot(int, int, int) |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10174 | def __showMouseHoverHelp(self, pos, x, y): |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10175 | """ |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10176 | Private slot showing code information about the symbol under the |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10177 | cursor. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10178 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10179 | @param pos mouse position into the document |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10180 | @type int |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10181 | @param x x-value of mouse screen position |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10182 | @type int |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10183 | @param y y-value of mouse screen position |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10184 | @type int |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10185 | """ |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10186 | if ( |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10187 | not self.isCallTipActive() |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10188 | and not self.isListActive() |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10189 | and not self.menu.isVisible() |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10190 | and not self.spellingMenu.isVisible() |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10191 | ): |
8581
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10192 | if self.__mouseHoverHelp is not None and pos > 0 and y > 0: |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10193 | line, index = self.lineIndexFromPosition(pos) |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10194 | if index > 0: |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10195 | self.__mouseHoverHelp(self, line, index) |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10196 | else: |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10197 | self.__cancelMouseHoverHelp() |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10198 | else: |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10199 | self.__cancelMouseHoverHelp() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10200 | |
10279 | 10201 | @pyqtSlot() |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10202 | def __cancelMouseHoverHelp(self): |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10203 | """ |
8522
4f263b89a293
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8519
diff
changeset
|
10204 | Private slot cancelling the display of mouse hover help. |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10205 | """ |
8581
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10206 | if self.__showingMouseHoverHelp: |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10207 | self.cancelCallTips() |
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10208 | self.__showingMouseHoverHelp = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10209 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10210 | def registerMouseHoverHelpFunction(self, func): |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10211 | """ |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10212 | Public method to register a mouse hover help function. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10213 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10214 | Note: Only one plugin should provide this function. Otherwise |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10215 | the last one wins. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10216 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10217 | @param func function accepting a reference to the calling editor and |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10218 | the line and column position (zero based each) |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10219 | @type func |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10220 | """ |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10221 | self.__mouseHoverHelp = func |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10222 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10223 | def unregisterMouseHoverHelpFunction(self, func): |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10224 | """ |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10225 | Public method to unregister a mouse hover help function. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10226 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10227 | @param func function accepting a reference to the calling editor and |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10228 | the line and column position (zero based each) |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10229 | @type func |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10230 | """ |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10231 | if self.__mouseHoverHelp is func: |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10232 | self.__mouseHoverHelp = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10233 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10234 | def showMouseHoverHelpData(self, line, index, data): |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10235 | """ |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10236 | Public method to show the mouse hover help data. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10237 | |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10238 | @param line line of mouse cursor position |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10239 | @type int |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10240 | @param index column of mouse cursor position |
8515
7e7bebfb21e8
Editor: corrected the mouse hover help code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8507
diff
changeset
|
10241 | @type int |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10242 | @param data information text to be shown |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10243 | @type str |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10244 | """ |
8607
80dd37c65e91
Editor: fine tuned the mouse hover help functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8581
diff
changeset
|
10245 | if data and self.hasFocus() and not self.isListActive(): |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10246 | pos = self.positionFromLineIndex(line, index) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10247 | self.SendScintilla( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10248 | QsciScintilla.SCI_CALLTIPSHOW, pos, self._encodeString(data) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10249 | ) |
8581
a6c893c8b7af
Editor: some fine tuning in handling of mouse hover help and goto lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8539
diff
changeset
|
10250 | self.__showingMouseHoverHelp = True |
8506
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10251 | else: |
c64ee71cf27b
Editor: prepared the editor to support mouse hover help.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8500
diff
changeset
|
10252 | self.__cancelMouseHoverHelp() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10253 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10254 | ####################################################################### |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10255 | ## Methods implementing the code formatting interface |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10256 | ####################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10257 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10258 | def __performFormatWithBlack(self, action): |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10259 | """ |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10260 | Private method to format the source code using the 'Black' tool. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10261 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10262 | Following actions are supported. |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10263 | <ul> |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10264 | <li>BlackFormattingAction.Format - the code reformatting is performed</li> |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10265 | <li>BlackFormattingAction.Check - a check is performed, if code formatting |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10266 | is necessary</li> |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10267 | <li>BlackFormattingAction.Diff - a unified diff of potential code formatting |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10268 | changes is generated</li> |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10269 | </ul> |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10270 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10271 | @param action formatting operation to be performed |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10272 | @type BlackFormattingAction |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10273 | """ |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
10274 | from eric7.CodeFormatting.BlackConfigurationDialog import ( |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
10275 | BlackConfigurationDialog, |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
10276 | ) |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9408
diff
changeset
|
10277 | from eric7.CodeFormatting.BlackFormattingDialog import BlackFormattingDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10278 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10279 | if not self.isModified() or self.saveFile(): |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10280 | withProject = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10281 | self.fileName |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10282 | and self.project.isOpen() |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
10283 | and self.project.isProjectCategory(self.fileName, "SOURCES") |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10284 | ) |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10285 | dlg = BlackConfigurationDialog(withProject=withProject, parent=self) |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10286 | if dlg.exec() == QDialog.DialogCode.Accepted: |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10287 | config = dlg.getConfiguration() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9214
diff
changeset
|
10288 | |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10289 | formattingDialog = BlackFormattingDialog( |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10290 | config, |
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10291 | [self.fileName], |
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10292 | project=self.project, |
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10293 | action=action, |
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10294 | parent=self, |
9214
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10295 | ) |
bd28e56047d7
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
10296 | formattingDialog.exec() |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10297 | |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10298 | def __performImportSortingWithIsort(self, action): |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10299 | """ |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10300 | Private method to sort the import statements using the 'isort' tool. |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10301 | |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10302 | Following actions are supported. |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10303 | <ul> |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10304 | <li>IsortFormattingAction.Sort - the import statement sorting is performed</li> |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10305 | <li>IsortFormattingAction.Check - a check is performed, if import statement |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10306 | resorting is necessary</li> |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10307 | <li>IsortFormattingAction.Diff - a unified diff of potential import statement |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10308 | changes is generated</li> |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10309 | </ul> |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10310 | |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10311 | @param action sorting operation to be performed |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10312 | @type IsortFormattingAction |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10313 | """ |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10314 | from eric7.CodeFormatting.IsortConfigurationDialog import ( |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10315 | IsortConfigurationDialog, |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10316 | ) |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10317 | from eric7.CodeFormatting.IsortFormattingDialog import IsortFormattingDialog |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10318 | |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10319 | if not self.isModified() or self.saveFile(): |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10320 | withProject = ( |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10321 | self.fileName |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10322 | and self.project.isOpen() |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
10323 | and self.project.isProjectCategory(self.fileName, "SOURCES") |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10324 | ) |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10325 | dlg = IsortConfigurationDialog(withProject=withProject, parent=self) |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10326 | if dlg.exec() == QDialog.DialogCode.Accepted: |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10327 | config = dlg.getConfiguration() |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10328 | |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10329 | formattingDialog = IsortFormattingDialog( |
9465
8a020c34dce2
Fine tuned the isort support so the configuration will default to project specific config files overwritten by data entered via the dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
10330 | config, |
8a020c34dce2
Fine tuned the isort support so the configuration will default to project specific config files overwritten by data entered via the dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
10331 | [self.fileName], |
8a020c34dce2
Fine tuned the isort support so the configuration will default to project specific config files overwritten by data entered via the dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
10332 | project=self.project if withProject else None, |
8a020c34dce2
Fine tuned the isort support so the configuration will default to project specific config files overwritten by data entered via the dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9453
diff
changeset
|
10333 | action=action, |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10952
diff
changeset
|
10334 | parent=self, |
9453
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10335 | ) |
e5065dde905d
Code Formatting
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9436
diff
changeset
|
10336 | formattingDialog.exec() |