Tue, 23 Apr 2024 11:26:04 +0200
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10432
diff
changeset
|
3 | # Copyright (c) 2002 - 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a graphical Python shell. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
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:
8235
diff
changeset
|
10 | import contextlib |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
11 | import enum |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
12 | import pathlib |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
13 | import re |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
14 | import sys |
10554
cfcfba945421
Modified Shell.py slightly to get rid of some redundant code and to guard a code segment against a potential endless loop situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
15 | import time |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
16 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
17 | from PyQt6.Qsci import QsciScintilla |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
18 | from PyQt6.QtCore import QEvent, QPoint, Qt, pyqtSignal, pyqtSlot |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
19 | from PyQt6.QtGui import QClipboard, QFont, QPalette, QShortcut |
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
|
20 | from PyQt6.QtWidgets import ( |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
21 | QApplication, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
22 | QDialog, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
23 | QHBoxLayout, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
24 | QInputDialog, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
25 | QMenu, |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
26 | QSizePolicy, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
27 | QVBoxLayout, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
28 | QWidget, |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
29 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
31 | from eric7 import Preferences, Utilities |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
32 | from eric7.Debugger.DebugClientCapabilities import HasCompleter |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
33 | from eric7.EricGui import EricPixmapCache |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
34 | from eric7.EricWidgets import EricFileDialog, EricMessageBox |
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:
9332
diff
changeset
|
35 | from eric7.EricWidgets.EricApplication import ericApp |
10191 | 36 | from eric7.EricWidgets.EricSimpleHelpDialog import EricSimpleHelpDialog |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
37 | from eric7.UI.SearchWidget import SearchWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
39 | from . import Lexers |
97
c4086afea02b
Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
40 | from .QsciScintillaCompat import QsciScintillaCompat |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
42 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
43 | class ShellAssembly(QWidget): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
44 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
45 | Class implementing the containing widget for the shell. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
46 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
47 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
48 | def __init__(self, dbs, vm, project, horizontal=True, parent=None): |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
49 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
50 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
51 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
52 | @param dbs reference to the debug server object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
53 | @type DebugServer |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
54 | @param vm reference to the viewmanager object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
55 | @type ViewManager |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
56 | @param project reference to the project object |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
57 | @type Project |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
58 | @param horizontal flag indicating a horizontal layout |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
59 | @type bool |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
60 | @param parent parent widget |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
61 | @type QWidget |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
62 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
63 | super().__init__(parent) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
64 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
65 | self.__shell = Shell(dbs, vm, project, False, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
66 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
67 | self.__searchWidget = SearchWidget(self.__shell, self, horizontal) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
68 | self.__searchWidget.setSizePolicy( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
69 | QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Preferred |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
70 | ) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
71 | self.__searchWidget.hide() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
72 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
73 | if horizontal: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
74 | self.__layout = QHBoxLayout(self) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
75 | else: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
76 | self.__layout = QVBoxLayout(self) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
77 | self.__layout.setContentsMargins(1, 1, 1, 1) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
78 | self.__layout.addWidget(self.__shell) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
79 | self.__layout.addWidget(self.__searchWidget) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
80 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
81 | self.__searchWidget.searchNext.connect(self.__shell.searchNext) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
82 | self.__searchWidget.searchPrevious.connect(self.__shell.searchPrev) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
83 | self.__shell.searchStringFound.connect(self.__searchWidget.searchStringFound) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
84 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
85 | def showFind(self, txt=""): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
86 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
87 | Public method to display the search widget. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
88 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
89 | @param txt text to be shown in the combo |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
90 | @type str |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
91 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
92 | self.__searchWidget.showFind(txt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
93 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
94 | def shell(self): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
95 | """ |
6987
3371a03ed0a7
Performed some interface cleanups.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
96 | Public method to get a reference to the shell widget. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
97 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
98 | @return reference to the shell widget |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
99 | @rtype Shell |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
100 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
101 | return self.__shell |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
102 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
103 | |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
104 | class ShellHistoryStyle(enum.Enum): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
105 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
106 | Class defining the shell history styles. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
107 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
108 | |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
109 | DISABLED = 0 |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
110 | LINUXSTYLE = 1 |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
111 | WINDOWSSTYLE = 2 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
112 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
113 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | class Shell(QsciScintillaCompat): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | Class implementing a graphical Python shell. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
117 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
118 | A user can enter commands that are executed in the remote |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
119 | Python interpreter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
120 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
121 | @signal searchStringFound(bool) emitted to indicate the search |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
122 | result |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
123 | @signal historyStyleChanged(ShellHistoryStyle) emitted to indicate a |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
124 | change of the history style |
6335
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
125 | @signal queueText(str) emitted to queue some text for processing |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
126 | @signal virtualEnvironmentChanged(str) emitted to signal the new virtual |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
127 | environment of the shell |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
129 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
130 | searchStringFound = pyqtSignal(bool) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
131 | historyStyleChanged = pyqtSignal(ShellHistoryStyle) |
6335
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
132 | queueText = pyqtSignal(str) |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
133 | virtualEnvironmentChanged = pyqtSignal(str) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
134 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
135 | def __init__(self, dbs, vm, project, windowedVariant, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
138 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | @param dbs reference to the debug server object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
140 | @type DebugServer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | @param vm reference to the viewmanager object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
142 | @type ViewManager |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
143 | @param project reference to the project object |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
144 | @type Project |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
145 | @param windowedVariant flag indicating the shell window variant |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
146 | @type bool |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
147 | @param parent parent widget |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
148 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
150 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | self.setUtf8(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
152 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | self.vm = vm |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
154 | self.__mainWindow = parent |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
155 | self.__lastSearch = () |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
156 | self.__windowed = windowedVariant |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
157 | self.__currentVenv = "" |
6633
c5aab2ede19a
Debugger, Shell: start the shell in the project directory if one is open ([issue290]).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6581
diff
changeset
|
158 | self.__currentWorkingDirectory = "" |
10191 | 159 | self.__helpDialog = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
160 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | self.linesepRegExp = r"\r\n|\n|\r" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
162 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
163 | self.passive = (not self.__windowed) and Preferences.getDebugger( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
164 | "PassiveDbgEnabled" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
165 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | if self.passive: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
167 | self.setWindowTitle(self.tr("Shell - Passive")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
169 | self.setWindowTitle(self.tr("Shell")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
170 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
171 | if self.__windowed: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
172 | self.setWhatsThis( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
173 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
174 | """<b>The Shell Window</b>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
175 | """<p>You can use the cursor keys while entering commands.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
176 | """ There is also a history of commands that can be recalled""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
177 | """ using the up and down cursor keys while holding down the""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
178 | """ Ctrl-key. This can be switched to just the up and down""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
179 | """ cursor keys on the Shell page of the configuration""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
180 | """ dialog. Pressing these keys after some text has been""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
181 | """ entered will start an incremental search.</p>""" |
10191 | 182 | """<p>The shell has some special commands. Type '%help' to get""" |
183 | """ a list of these commands.</p>""" | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
184 | """<p>Pressing the Tab key after some text has been entered""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
185 | """ will show a list of possible completions. The relevant""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
186 | """ entry may be selected from this list. If only one entry""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
187 | """ is available, this will be inserted automatically.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
188 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
189 | ) |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
190 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
191 | self.setWhatsThis( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
192 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
193 | """<b>The Shell Window</b>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
194 | """<p>This is simply an interpreter running in a window. The""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
195 | """ interpreter is the one that is used to run the program""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
196 | """ being debugged. This means that you can execute any""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
197 | """ command while the program being debugged is running.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
198 | """<p>You can use the cursor keys while entering commands.""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
199 | """ There is also a history of commands that can be recalled""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
200 | """ using the up and down cursor keys while holding down the""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
201 | """ Ctrl-key. This can be switched to just the up and down""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
202 | """ cursor keys on the Shell page of the configuration""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
203 | """ dialog. Pressing these keys after some text has been""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
204 | """ entered will start an incremental search.</p>""" |
10191 | 205 | """<p>The shell has some special commands. Type '%help' to get""" |
206 | """ a list of these commands.</p>""" | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
207 | """<p>Pressing the Tab key after some text has been entered""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
208 | """ will show a list of possible completions. The relevant""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
209 | """ entry may be selected from this list. If only one entry""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
210 | """ is available, this will be inserted automatically.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
211 | """<p>In passive debugging mode the shell is only available""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
212 | """ after the program to be debugged has connected to the""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
213 | """ IDE until it has finished. This is indicated by a""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
214 | """ different prompt and by an indication in the window""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
215 | """ caption.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
216 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
217 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
218 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
219 | self.userListActivated.connect(self.__completionListSelected) |
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:
2474
diff
changeset
|
220 | self.linesChanged.connect(self.__resizeLinenoMargin) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
221 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
222 | if self.__windowed: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
223 | self.__showStdOutErr = True |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
224 | else: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
225 | self.__showStdOutErr = Preferences.getShell("ShowStdOutErr") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | if self.__showStdOutErr: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
227 | dbs.clientProcessStdout.connect(self.__writeStdOut) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
228 | dbs.clientProcessStderr.connect(self.__writeStdErr) |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
229 | dbs.clientOutput.connect(self.__writeQueued) |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
230 | dbs.clientStatement.connect(self.__clientStatement) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
231 | dbs.clientGone.connect(self.__initialise) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
232 | dbs.clientRawInput.connect(self.__raw_input) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
233 | dbs.clientBanner.connect(self.__writeBanner) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
234 | dbs.clientCompletionList.connect(self.__showCompletions) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
235 | dbs.clientCapabilities.connect(self.__clientCapabilities) |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
236 | dbs.clientException.connect(self.__clientException) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
237 | dbs.clientSyntaxError.connect(self.__clientSyntaxError) |
4366
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
238 | dbs.clientSignal.connect(self.__clientSignal) |
8138
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
239 | dbs.mainClientExit.connect(self.__writePrompt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | self.dbs = dbs |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
241 | |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
242 | # will register a method to get the debugger ID to work with |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
243 | self.__getSelectedDebuggerId = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
244 | |
8138
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
245 | # Make sure we have prompts. |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
246 | if self.passive: |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
247 | sys.ps1 = self.tr("Passive >>> ") |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
248 | else: |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
249 | try: |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
250 | sys.ps1 |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
251 | except AttributeError: |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
252 | sys.ps1 = ">>> " |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
253 | try: |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
254 | sys.ps2 |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
255 | except AttributeError: |
169e65a6787c
Shell: added functionality to show a prompt when the main client process has exited (e.g. a script ended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7990
diff
changeset
|
256 | sys.ps2 = "... " |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
257 | |
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:
2474
diff
changeset
|
258 | # Initialize instance variables. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | self.__initialise() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | self.prline = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | self.prcol = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | self.inDragDrop = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | self.lexer_ = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | self.completionText = "" |
10276
a9a0cb9c9d0c
Rearranged the shutdown sequence to improve the shutdown behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10232
diff
changeset
|
265 | self.__shuttingDown = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
266 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
267 | self.clientType = "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
268 | |
10556
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
269 | self.__commandExecutionTimeout = Preferences.getShell("CommandExecutionTimeout") |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
270 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | # Initialize history |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
272 | self.__historyLists = {} |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
273 | self.__maxHistoryEntries = Preferences.getShell("MaxHistoryEntries") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
274 | self.__historyStyle = Preferences.getShell("HistoryStyle") |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
275 | self.__historyWrap = Preferences.getShell("HistoryWrap") |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
276 | self.__history = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
277 | self.__setHistoryIndex() |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
278 | # remove obsolete shell histories (Python and Ruby) |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
279 | for clientType in ["Python", "Ruby"]: |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
280 | Preferences.getSettings().remove("Shell/Histories/" + clientType) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
281 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | # clear QScintilla defined keyboard commands |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | # we do our own handling through the view manager |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | self.clearAlternateKeys() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | self.clearKeys() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | self.__actionsAdded = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
287 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | if self.passive: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | self.__getBanner() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
290 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
291 | if not self.__windowed: |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
292 | # Create a little language context menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
293 | self.lmenu = QMenu(self.tr("Start")) |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
294 | self.lmenu.aboutToShow.connect(self.__showStartMenu) |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
295 | self.lmenu.triggered.connect(self.__startDebugClient) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
296 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
297 | # Create the history context menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
298 | self.hmenu = QMenu(self.tr("History")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
299 | self.hmenu.addAction(self.tr("Select entry"), self.selectHistory) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
300 | self.hmenu.addAction(self.tr("Show"), self.showHistory) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
301 | self.hmenu.addAction(self.tr("Clear"), self.clearHistory) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
302 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
303 | # Create a little context menu |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
304 | self.menu = QMenu(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
305 | self.menu.addAction(self.tr("Cut"), self.cut) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
306 | self.menu.addAction(self.tr("Copy"), self.copy) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
307 | self.menu.addAction(self.tr("Paste"), self.paste) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
308 | self.menu.addMenu(self.hmenu).setEnabled(self.isHistoryEnabled()) |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
309 | self.menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
310 | self.menu.addAction(self.tr("Find"), self.__find) |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
311 | self.menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
312 | self.menu.addAction(self.tr("Clear"), self.clear) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
313 | self.menu.addAction(self.tr("Restart"), self.doRestart) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
314 | self.menu.addAction(self.tr("Restart and Clear"), self.doClearRestart) |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
315 | self.menu.addSeparator() |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
316 | self.menu.addMenu(self.lmenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
317 | self.menu.addAction(self.tr("Active Name"), self.__showVenvName) |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
318 | self.menu.addSeparator() |
8521
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
319 | self.menu.addAction(self.tr("Save Contents..."), self.saveContents) |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
320 | self.menu.addSeparator() |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
321 | self.menu.addAction(self.tr("Configure..."), self.__configure) |
10191 | 322 | self.menu.addSeparator() |
323 | self.menu.addAction(self.tr("Special Commands Help"), self.__showHelp) | |
10619 | 324 | self.menu.addSeparator() |
325 | self.__showSourceAct = self.menu.addAction( | |
326 | self.tr("Show Source"), self.__showSource | |
327 | ) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
328 | |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
329 | self.customContextMenuRequested.connect(self.__showContextMenu) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
330 | 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:
9576
diff
changeset
|
331 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | self.__bindLexer() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | self.__setTextDisplay() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | self.__setMargin0() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
335 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | # set the autocompletion and calltips function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | self.__setAutoCompletion() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | self.__setCallTips() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
339 | |
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:
9332
diff
changeset
|
340 | self.setWindowIcon(EricPixmapCache.getIcon("eric")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
341 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | self.incrementalSearchString = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | self.incrementalSearchActive = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
344 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | self.supportedEditorCommands = { |
9332 | 346 | QsciScintilla.SCI_CANCEL: self.__QScintillaCancel, |
347 | QsciScintilla.SCI_CHARLEFT: self.__QScintillaCharLeft, | |
348 | QsciScintilla.SCI_CHARLEFTEXTEND: self.__QScintillaCharLeftExtend, | |
349 | QsciScintilla.SCI_CHARRIGHT: self.__QScintillaCharRight, | |
350 | QsciScintilla.SCI_CHARRIGHTEXTEND: self.extendSelectionRight, | |
351 | QsciScintilla.SCI_CLEAR: self.__QScintillaDelete, | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
352 | QsciScintilla.SCI_DELETEBACK: self.__QScintillaDeleteBack, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
353 | QsciScintilla.SCI_DELLINELEFT: self.__QScintillaDeleteLineLeft, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
354 | QsciScintilla.SCI_DELLINERIGHT: self.__QScintillaDeleteLineRight, |
9332 | 355 | QsciScintilla.SCI_DELWORDLEFT: self.__QScintillaDeleteWordLeft, |
356 | QsciScintilla.SCI_DELWORDRIGHT: self.__QScintillaDeleteWordRight, | |
357 | QsciScintilla.SCI_LINEDELETE: self.__clearCurrentLine, | |
358 | QsciScintilla.SCI_LINEDOWN: self.__QScintillaCursorCommand, | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
359 | QsciScintilla.SCI_LINEEND: self.__QScintillaLineEnd, |
9332 | 360 | QsciScintilla.SCI_LINEENDEXTEND: self.extendSelectionToEOL, |
6037
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
361 | QsciScintilla.SCI_LINESCROLLDOWN: self.__QScintillaCursorCommand, |
9332 | 362 | QsciScintilla.SCI_LINESCROLLUP: self.__QScintillaCursorCommand, |
363 | QsciScintilla.SCI_LINEUP: self.__QScintillaCursorCommand, | |
364 | QsciScintilla.SCI_NEWLINE: self.__QScintillaNewline, | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
365 | QsciScintilla.SCI_PAGEDOWN: self.__QScintillaAutoCompletionCommand, |
9332 | 366 | QsciScintilla.SCI_PAGEUP: self.__QScintillaAutoCompletionCommand, |
367 | QsciScintilla.SCI_TAB: self.__QScintillaTab, | |
368 | QsciScintilla.SCI_VCHOME: self.__QScintillaVCHome, | |
369 | QsciScintilla.SCI_VCHOMEEXTEND: self.__QScintillaVCHomeExtend, | |
370 | QsciScintilla.SCI_WORDLEFT: self.__QScintillaWordLeft, | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
371 | QsciScintilla.SCI_WORDLEFTEXTEND: self.__QScintillaWordLeftExtend, |
9332 | 372 | QsciScintilla.SCI_WORDRIGHT: self.__QScintillaWordRight, |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
373 | QsciScintilla.SCI_WORDRIGHTEXTEND: self.extendSelectionWordRight, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
375 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
376 | self.__historyNavigateByCursor = Preferences.getShell("HistoryNavigateByCursor") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
377 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
378 | self.__queuedText = "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
379 | self.__blockTextProcessing = False |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
380 | self.queueText.connect( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
381 | self.__concatenateText, Qt.ConnectionType.QueuedConnection |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
382 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
383 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
384 | self.__project = project |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
385 | if self.__project: |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
386 | self.__project.projectOpened.connect(self.__projectOpened) |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
387 | self.__project.projectClosed.connect(self.__projectClosed) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
388 | |
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:
8138
diff
changeset
|
389 | self.grabGesture(Qt.GestureType.PinchGesture) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
390 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
391 | def __showStartMenu(self): |
4479
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
392 | """ |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
393 | Private slot to prepare the start submenu. |
4479
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
394 | """ |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
395 | self.lmenu.clear() |
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:
8318
diff
changeset
|
396 | venvManager = ericApp().getObject("VirtualEnvManager") |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
397 | for venvName in sorted(venvManager.getVirtualenvNames()): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
398 | self.lmenu.addAction(venvName) |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
399 | if self.__project.isOpen(): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
400 | self.lmenu.addSeparator() |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
401 | self.lmenu.addAction(self.tr("Project")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
402 | |
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:
2474
diff
changeset
|
403 | 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:
2474
diff
changeset
|
404 | """ |
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2474
diff
changeset
|
405 | 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:
2474
diff
changeset
|
406 | """ |
dedcd4f987e0
Changed the line numbers margin to adjust themselves to the size needed (Editor, Mini Editor, Shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2474
diff
changeset
|
407 | linenoMargin = Preferences.getShell("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:
2474
diff
changeset
|
408 | if linenoMargin: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
409 | self.setMarginWidth(0, "8" * (len(str(self.lines())) + 1)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
410 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | def closeShell(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
413 | Public method to shutdown the shell. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
415 | for clientType in self.__historyLists: |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
416 | self.saveHistory(clientType) |
10276
a9a0cb9c9d0c
Rearranged the shutdown sequence to improve the shutdown behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10232
diff
changeset
|
417 | self.__shuttingDown = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
418 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
419 | def __bindLexer(self, language="Python3"): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | Private slot to set the lexer. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
422 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
423 | @param language lexer language to set |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
424 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | self.language = language |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | if Preferences.getShell("SyntaxHighlightingEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | self.lexer_ = Lexers.getLexer(self.language, self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | self.lexer_ = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
431 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | if self.lexer_ is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | self.setLexer(None) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | font = Preferences.getShell("MonospacedFont") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | self.monospacedStyles(font) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
437 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | # get the font for style 0 and set it as the default font |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
439 | key = "Scintilla/{0}/style0/font".format(self.lexer_.language()) |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
440 | fdesc = Preferences.getSettings().value(key) |
7
c679fb30c8f3
Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
441 | 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
|
442 | font = QFont([fdesc[0]], int(fdesc[1])) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | self.lexer_.setDefaultFont(font) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | self.setLexer(self.lexer_) |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
445 | 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
|
446 | if self.lexer_.hasSubstyles(): |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6841
diff
changeset
|
447 | self.lexer_.readSubstyles(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
448 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | # initialize the lexer APIs settings |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | api = self.vm.getAPIsManager().getAPIs(self.language) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | if api is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | api = api.getQsciAPIs() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | if api is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | self.lexer_.setAPIs(api) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
455 | |
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
|
456 | 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
|
457 | self.lexer_.setDefaultPaper(self.lexer_.paper(0)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
458 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | def __setMargin0(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | Private method to configure margin 0. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | # set the settings for all margins |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | self.setMarginsFont(Preferences.getShell("MarginsFont")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
465 | self.setMarginsForegroundColor(Preferences.getEditorColour("MarginsForeground")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
466 | self.setMarginsBackgroundColor(Preferences.getEditorColour("MarginsBackground")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
467 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | # set margin 0 settings |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | linenoMargin = Preferences.getShell("LinenoMargin") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | self.setMarginLineNumbers(0, linenoMargin) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | 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:
2474
diff
changeset
|
472 | self.__resizeLinenoMargin() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | self.setMarginWidth(0, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
475 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | # disable margins 1 and 2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | self.setMarginWidth(1, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | self.setMarginWidth(2, 0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
479 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | def __setTextDisplay(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | Private method to configure the text display. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | self.setTabWidth(Preferences.getEditor("TabWidth")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | if Preferences.getEditor("ShowWhitespace"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
486 | 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
|
487 | with contextlib.suppress(AttributeError): |
943
1246bd8280a6
Added configuration options for visible whitespace (as of QScintilla 2.5) (for shell and terminal).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
488 | self.setWhitespaceForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
489 | Preferences.getEditorColour("WhitespaceForeground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
490 | ) |
943
1246bd8280a6
Added configuration options for visible whitespace (as of QScintilla 2.5) (for shell and terminal).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
491 | self.setWhitespaceBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
492 | Preferences.getEditorColour("WhitespaceBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
493 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
494 | self.setWhitespaceSize(Preferences.getEditor("WhitespaceSize")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
496 | self.setWhitespaceVisibility(QsciScintilla.WhitespaceVisibility.WsInvisible) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | self.setEolVisibility(Preferences.getEditor("ShowEOL")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | 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:
8138
diff
changeset
|
499 | self.setBraceMatching(QsciScintilla.BraceMatch.SloppyBraceMatch) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | 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:
8138
diff
changeset
|
501 | self.setBraceMatching(QsciScintilla.BraceMatch.NoBraceMatch) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | self.setMatchedBraceForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
503 | Preferences.getEditorColour("MatchingBrace") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
504 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | self.setMatchedBraceBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
506 | Preferences.getEditorColour("MatchingBraceBack") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
507 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | self.setUnmatchedBraceForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
509 | Preferences.getEditorColour("NonmatchingBrace") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
510 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | self.setUnmatchedBraceBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
512 | Preferences.getEditorColour("NonmatchingBraceBack") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
513 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | if Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
515 | self.setSelectionBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
516 | Preferences.getEditorColour("SelectionBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
517 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
519 | self.setSelectionBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
520 | QApplication.palette().color(QPalette.ColorRole.Highlight) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
521 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | if Preferences.getEditor("ColourizeSelText"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | self.resetSelectionForegroundColor() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | elif Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
525 | self.setSelectionForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
526 | Preferences.getEditorColour("SelectionForeground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
527 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
529 | self.setSelectionForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
530 | QApplication.palette().color(QPalette.ColorRole.HighlightedText) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
531 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | self.setSelectionToEol(Preferences.getEditor("ExtendSelectionToEol")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
533 | self.setCaretForegroundColor(Preferences.getEditorColour("CaretForeground")) |
3068
e2650fb5db4e
Removed the highlight of the caret line from the shell window because that doesn't make sense.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3067
diff
changeset
|
534 | self.setCaretLineVisible(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | self.caretWidth = Preferences.getEditor("CaretWidth") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | self.setCaretWidth(self.caretWidth) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | if Preferences.getShell("WrapEnabled"): |
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:
8138
diff
changeset
|
538 | self.setWrapMode(QsciScintilla.WrapMode.WrapWord) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | 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:
8138
diff
changeset
|
540 | self.setWrapMode(QsciScintilla.WrapMode.WrapNone) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | self.useMonospaced = Preferences.getShell("UseMonospacedFont") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | self.__setMonospaced(self.useMonospaced) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
543 | |
404
44a541bea034
Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
544 | self.setCursorFlashTime(QApplication.cursorFlashTime()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
545 | |
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
|
546 | 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
|
547 | 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
|
548 | self.setPaper(Preferences.getEditorColour("EditAreaBackground")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
549 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | def __setMonospaced(self, on): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | Private method to set/reset a monospaced font. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
553 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
554 | @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:
10373
diff
changeset
|
555 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | 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:
3068
diff
changeset
|
558 | 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:
3068
diff
changeset
|
559 | f = Preferences.getShell("MonospacedFont") |
fdbce259929f
Changed the handling of the monospace font usage in the editor, mini editor and shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3068
diff
changeset
|
560 | self.monospacedStyles(f) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | if not self.lexer_: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | self.clearStyles() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | self.__setMargin0() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | self.setFont(Preferences.getShell("MonospacedFont")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
566 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | self.useMonospaced = on |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
568 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
569 | def __setAutoCompletion(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | Private method to configure the autocompletion function. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | self.setAutoCompletionCaseSensitivity( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
574 | Preferences.getEditor("AutoCompletionCaseSensitivity") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
575 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | self.setAutoCompletionThreshold(-1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
577 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | self.racEnabled = Preferences.getShell("AutoCompletionEnabled") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
579 | |
8481
02865597d820
QsciScintillaCompat: fixed an issue causing completion lists to go off-screen.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
580 | self.setAutoCompletionWidgetSize( |
02865597d820
QsciScintillaCompat: fixed an issue causing completion lists to go off-screen.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
581 | Preferences.getEditor("AutoCompletionMaxChars"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
582 | Preferences.getEditor("AutoCompletionMaxLines"), |
8481
02865597d820
QsciScintillaCompat: fixed an issue causing completion lists to go off-screen.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
583 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
584 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
585 | def __setCallTips(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | Private method to configure the calltips function. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | if Preferences.getShell("CallTipsEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | self.setCallTipsBackgroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
591 | Preferences.getEditorColour("CallTipsBackground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
592 | ) |
7536
861e46f99d65
Editor, Shell: added configuration option for the calltips foreground and highlight color.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
593 | self.setCallTipsForegroundColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
594 | Preferences.getEditorColour("CallTipsForeground") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
595 | ) |
7536
861e46f99d65
Editor, Shell: added configuration option for the calltips foreground and highlight color.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
596 | self.setCallTipsHighlightColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
597 | Preferences.getEditorColour("CallTipsHighlight") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
598 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
599 | self.setCallTipsVisible(Preferences.getEditor("CallTipsVisible")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | calltipsStyle = Preferences.getEditor("CallTipsStyle") |
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:
8138
diff
changeset
|
601 | if calltipsStyle == QsciScintilla.CallTipsStyle.CallTipsNoContext: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
602 | self.setCallTipsStyle(QsciScintilla.CallTipsStyle.CallTipsNoContext) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
603 | elif ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
604 | calltipsStyle |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
605 | == QsciScintilla.CallTipsStyle.CallTipsNoAutoCompletionContext |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
606 | ): |
2940
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
607 | self.setCallTipsStyle( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
608 | QsciScintilla.CallTipsStyle.CallTipsNoAutoCompletionContext |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
609 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
611 | self.setCallTipsStyle(QsciScintilla.CallTipsStyle.CallTipsContext) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | 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:
8138
diff
changeset
|
613 | self.setCallTipsStyle(QsciScintilla.CallTipsStyle.CallTipsNone) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
614 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | def setDebuggerUI(self, ui): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | Public method to set the debugger UI. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
618 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
619 | @param ui reference to the debugger UI object |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
620 | @type DebugUI |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | """ |
482
4650a72c307a
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
481
diff
changeset
|
622 | ui.exceptionInterrupt.connect(self.__writePrompt) |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
623 | self.registerDebuggerIdMethod(ui.getSelectedDebuggerId) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
624 | |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
625 | def registerDebuggerIdMethod(self, method): |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
626 | """ |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
627 | Public method to register a method to get the debugger ID to send data |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
628 | to. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
629 | |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
630 | @param method reference to the method |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
631 | @type function |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
632 | """ |
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
633 | self.__getSelectedDebuggerId = method |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
634 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | def __initialise(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | Private method to get ready for a new remote interpreter. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
638 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
639 | self.buff = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
640 | self.inContinue = False |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
641 | self.__inRawMode = False |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
642 | self.__echoInput = True |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
643 | self.__rawModeDebuggerId = None |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
644 | self.__rawModeQueue = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | self.clientCapabilities = 0 |
1056
a3eb3c9a7e4b
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
646 | self.inCommandExecution = False |
a3eb3c9a7e4b
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
647 | self.interruptCommandExecution = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
648 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
649 | def __clientCapabilities(self, cap, clType, venvName): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
650 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | Private slot to handle the reporting of the clients capabilities. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
652 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
653 | @param cap client capabilities |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
654 | @type int |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
655 | @param clType type of the debug client |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
656 | @type str |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
657 | @param venvName name of the virtual environment |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
658 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
660 | self.clientCapabilities = cap |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
661 | self.__currentVenv = venvName |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | if clType != self.clientType: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
663 | self.clientType = clType |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
664 | self.__bindLexer(self.clientType) |
2010
07ae45dc6986
Fixed an issue in the Shell window causing wrong fonts set when monospaced is active.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1965
diff
changeset
|
665 | self.__setTextDisplay() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | self.__setMargin0() |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
667 | self.__setAutoCompletion() |
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
668 | self.__setCallTips() |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
669 | self.racEnabled = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
670 | Preferences.getShell("AutoCompletionEnabled") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
671 | and (cap & HasCompleter) > 0 |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
672 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
673 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
674 | if self.clientType not in self.__historyLists: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | # load history list |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
676 | self.loadHistory(self.clientType) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
677 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
678 | self.__setHistoryIndex() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
679 | |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
680 | self.virtualEnvironmentChanged.emit(venvName) |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
681 | Preferences.setShell("LastVirtualEnvironment", venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
682 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
683 | def __setHistoryIndex(self, index=None): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
684 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
685 | Private method to set the initial history index. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
686 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
687 | @param index index value to be set |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
688 | @type int or None |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
689 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
690 | if index is None: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
691 | # determine based on history style |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
692 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
693 | self.clientType |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
694 | and self.__historyStyle == ShellHistoryStyle.WINDOWSSTYLE |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
695 | ): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
696 | idx = int( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
697 | Preferences.getSettings().value( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
698 | "Shell/HistoryIndexes/" + self.clientType, -1 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
699 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
700 | ) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
701 | if idx >= len(self.__history): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
702 | idx = -1 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
703 | self.__histidx = idx |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
704 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
705 | self.__histidx = -1 |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
706 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
707 | self.__histidx = index |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
708 | if self.__histidx >= len(self.__history): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
709 | self.__histidx = -1 |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
710 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
711 | self.clientType |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
712 | and self.__historyStyle == ShellHistoryStyle.WINDOWSSTYLE |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
713 | ): |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
714 | Preferences.getSettings().setValue( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
715 | "Shell/HistoryIndexes/" + self.clientType, self.__histidx |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
716 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
717 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
718 | def __isHistoryIndexValid(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
719 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
720 | Private method to test, if the history index is valid. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
721 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
722 | @return flag indicating validity |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
723 | @rtype bool |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
724 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
725 | return 0 <= self.__histidx < len(self.__history) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
726 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
727 | def getHistoryIndex(self): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
728 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
729 | Public method to get the current value of the history index. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
730 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
731 | @return history index |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
732 | @rtype int |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
733 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
734 | return self.__histidx |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
735 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
736 | def loadHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
737 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
738 | Public method to load the history for the given client type. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
739 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
740 | @param clientType type of the debug client |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
741 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
742 | """ |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
743 | hl = Preferences.getSettings().value("Shell/Histories/" + clientType) |
7
c679fb30c8f3
Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
744 | if hl is not None: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
745 | self.__historyLists[clientType] = hl[-self.__maxHistoryEntries :] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | else: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
747 | self.__historyLists[clientType] = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
748 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
749 | def reloadHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
750 | """ |
2940
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
751 | Public method to reload the history of the currently selected client |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
752 | type. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
753 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
754 | self.loadHistory(self.clientType) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
755 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
756 | self.__setHistoryIndex() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
757 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
758 | def saveHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
759 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
760 | Public method to save the history for the given client type. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
761 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
762 | @param clientType type of the debug client |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
763 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
764 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
765 | if clientType in self.__historyLists: |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
766 | Preferences.getSettings().setValue( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
767 | "Shell/Histories/" + clientType, self.__historyLists[clientType] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
768 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
769 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | def getHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
771 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | Public method to get the history for the given client type. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
773 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
774 | @param clientType type of the debug client. If it is None, the current |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
775 | history is returned. |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
776 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
777 | @return reference to the history list |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
778 | @rtype list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
779 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
780 | if clientType is None: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
781 | return self.__history |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
782 | elif clientType in self.__historyLists: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
783 | return self.__historyLists[clientType] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
784 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
785 | return [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
786 | |
10191 | 787 | @pyqtSlot() |
788 | def clearHistory(self, ask=True): | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
790 | Public slot to clear the current history. |
10191 | 791 | |
792 | @param ask flag indicating to ask for confirmation (defaults to True) | |
793 | @type bool (optional) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
794 | """ |
10191 | 795 | if ask: |
796 | ok = EricMessageBox.yesNo( | |
797 | self, | |
798 | self.tr("Clear History"), | |
799 | self.tr("""Shall the current history really be cleared?"""), | |
800 | ) | |
801 | if not ok: | |
802 | return | |
803 | ||
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
804 | if self.clientType: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
805 | self.__historyLists[self.clientType] = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
806 | self.__history = self.__historyLists[self.clientType] |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
807 | else: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
808 | self.__history = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
809 | self.__setHistoryIndex(index=-1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
810 | |
10191 | 811 | @pyqtSlot() |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
812 | def selectHistory(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
813 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
814 | Public slot to select a history entry to execute. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
815 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
816 | current = self.__histidx |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
817 | if current == -1: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
818 | current = len(self.__history) - 1 |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
819 | cmd, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
820 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
821 | self.tr("Select History"), |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9511
diff
changeset
|
822 | self.tr("Select the history entry to execute (most recent shown last)."), |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
823 | self.__history, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
824 | current, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
825 | False, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
826 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
827 | if ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
828 | self.__insertHistory(cmd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
829 | |
10191 | 830 | @pyqtSlot() |
831 | def showHistory(self, histSize=None): | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
832 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
833 | Public slot to show the shell history dialog. |
10191 | 834 | |
835 | @param histSize number of history entries to be shown (None = show all | |
836 | entrys) (defaults to None) | |
837 | @type int (optional) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
838 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
839 | from .ShellHistoryDialog import ShellHistoryDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
840 | |
10191 | 841 | dlg = ( |
842 | ShellHistoryDialog(self.__history, self.vm, self) | |
843 | if histSize is None | |
844 | else ShellHistoryDialog(self.__history[-histSize:], self.vm, self) | |
845 | ) | |
846 | if dlg.exec() == QDialog.DialogCode.Accepted and histSize is None: | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
847 | self.__historyLists[self.clientType], idx = dlg.getHistory() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
848 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
849 | self.__setHistoryIndex(index=idx) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
850 | |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
851 | def clearAllHistories(self): |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
852 | """ |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
853 | Public method to clear all available histories and sync them. |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
854 | """ |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
855 | Preferences.getSettings().beginGroup("Shell/Histories") |
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
856 | for clientType in Preferences.getSettings().childKeys(): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
857 | self.__historyLists[clientType] = [] |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
858 | self.saveHistory(clientType) |
8637
394377638256
Replaced the direct access to 'Preferences.Prefs.settings' with 'Preferences.getSettings()'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8525
diff
changeset
|
859 | Preferences.getSettings().endGroup() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
860 | |
10191 | 861 | self.clearHistory(ask=False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
862 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | def getClientType(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
865 | Public slot to get the clients type. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
866 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
867 | @return client type |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
868 | @rtype str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
870 | return self.clientType |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
871 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
872 | def __getBanner(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
873 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
874 | Private method to get the banner for the remote interpreter. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
875 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
876 | It requests the interpreter version and platform running on the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
877 | debug client side. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
878 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | if self.passive: |
9511
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
880 | self.__writeBanner("", "", "") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
882 | self.dbs.remoteBanner() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
883 | |
9511
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
884 | def __writeBanner(self, versionStr, platformStr, venvName): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | Private method to write a banner with info from the debug client. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
887 | |
9511
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
888 | @param versionStr interpreter version string |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
889 | @type str |
9511
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
890 | @param platformStr platform of the remote interpreter |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
891 | @type str |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
892 | @param venvName name of the virtual environment |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
893 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
894 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
895 | super().clear() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | if self.passive and not self.dbs.isConnected(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
897 | self.__write(self.tr("Passive Debug Mode")) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
898 | self.__write(self.tr("\nNot connected")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | else: |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
900 | self.__currentVenv = venvName |
9511
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
901 | versionStr = versionStr.replace("#", self.tr("No.")) |
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
902 | if platformStr != "": |
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
903 | self.__write(self.tr("{0} on {1}").format(versionStr, platformStr)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
904 | else: |
9511
263a664d55dc
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
905 | self.__write(versionStr) |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
906 | if venvName: |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
907 | self.__write("\n[{0}]".format(venvName)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
908 | |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
909 | self.virtualEnvironmentChanged.emit(venvName) |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
910 | Preferences.setShell("LastVirtualEnvironment", venvName) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
911 | self.__write("\n") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
912 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
913 | self.__write(sys.ps1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
914 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
915 | def __writePrompt(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
916 | """ |
6580
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
917 | Private method to write the prompt using a write queue. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
918 | """ |
6580
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
919 | self.queueText.emit(self.inContinue and sys.ps2 or sys.ps1) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
920 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
921 | def __clientStatement(self, more): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
922 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
923 | Private method to handle the response from the debugger client. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
924 | |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
925 | @param more flag indicating that more user input is required |
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
926 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
927 | """ |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
928 | if not self.__inRawMode: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
929 | self.inContinue = more |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
930 | self.__writePrompt() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
931 | self.inCommandExecution = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
932 | |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
933 | def __clientException(self, exceptionType, exceptionMessage, stackTrace): |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
934 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
935 | Private method to handle an exception of the client. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
936 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
937 | @param exceptionType type of exception raised |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
938 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
939 | @param exceptionMessage message given by the exception |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
940 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
941 | @param stackTrace list of stack entries |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
942 | @type list of str |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
943 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
944 | self.__clientError() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
945 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
946 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
947 | not self.__windowed |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
948 | and Preferences.getDebugger("ShowExceptionInShell") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
949 | and exceptionType |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
950 | ): |
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:
8218
diff
changeset
|
951 | if stackTrace: |
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:
8218
diff
changeset
|
952 | self.__write( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
953 | self.tr('Exception "{0}"\n{1}\nFile: {2}, Line: {3}\n').format( |
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:
8218
diff
changeset
|
954 | exceptionType, |
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:
8218
diff
changeset
|
955 | exceptionMessage, |
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:
8218
diff
changeset
|
956 | stackTrace[0][0], |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
957 | stackTrace[0][1], |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
958 | ) |
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:
8218
diff
changeset
|
959 | ) |
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:
8218
diff
changeset
|
960 | else: |
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:
8218
diff
changeset
|
961 | self.__write( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
962 | self.tr('Exception "{0}"\n{1}\n').format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
963 | exceptionType, exceptionMessage |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
964 | ) |
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:
8218
diff
changeset
|
965 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
966 | |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
967 | def __clientSyntaxError(self, message, filename, lineNo, characterNo): |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
968 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
969 | Private method to handle a syntax error in the debugged program. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
970 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
971 | @param message message of the syntax error |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
972 | @type str |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
973 | @param filename translated filename of the syntax error position |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
974 | @type str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
975 | @param lineNo line number of the syntax error position |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
976 | @type int |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
977 | @param characterNo character number of the syntax error position |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
978 | @type int |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
979 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
980 | self.__clientError() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
981 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
982 | if not self.__windowed and Preferences.getDebugger("ShowExceptionInShell"): |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
983 | if message is None: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
984 | self.__write(self.tr("Unspecified syntax error.\n")) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
985 | else: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
986 | self.__write( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
987 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
988 | 'Syntax error "{1}" in file {0} at line {2},' |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
989 | " character {3}.\n" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
990 | ).format(filename, message, lineNo, characterNo) |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
991 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
992 | |
4366
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
993 | def __clientSignal(self, message, filename, lineNo, funcName, funcArgs): |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
994 | """ |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
995 | Private method to handle a signal generated on the client side. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
996 | |
4366
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
997 | @param message message of the syntax error |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
998 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
999 | @param filename translated filename of the syntax error position |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1000 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1001 | @param lineNo line number of the syntax error position |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1002 | @type int |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1003 | @param funcName name of the function causing the signal |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1004 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1005 | @param funcArgs function arguments |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1006 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1007 | """ |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1008 | self.__clientError() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1009 | |
4366
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1010 | self.__write( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1011 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1012 | """Signal "{0}" generated in file {1} at line {2}.\n""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1013 | """Function: {3}({4})""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1014 | ).format(message, filename, lineNo, funcName, funcArgs) |
4366
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
1015 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1016 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1017 | def __clientError(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1018 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1019 | Private method to handle an error in the client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1020 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1021 | self.inCommandExecution = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1022 | self.interruptCommandExecution = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1023 | self.inContinue = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1024 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1025 | def __getEndPos(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1026 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1027 | Private method to return the line and column of the last character. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1028 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1029 | @return tuple of two values giving the line and column |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1030 | @rtype tuple of (int, int) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1031 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1032 | line = self.lines() - 1 |
1743
4f9afcd8eb9d
Fixed a unicode issue in the terminal and interpreter shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1588
diff
changeset
|
1033 | return (line, len(self.text(line))) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1034 | |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1035 | def __writeQueued(self, s): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1036 | """ |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1037 | Private method to display some text using a write queue. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1038 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1039 | @param s text to be displayed |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1040 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1041 | """ |
6335
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1042 | self.queueText.emit(s) |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1043 | |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1044 | def __concatenateText(self, text): |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1045 | """ |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1046 | Private slot to queue text and process it in one step. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1047 | |
6335
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1048 | @param text text to be appended |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1049 | @type str |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1050 | """ |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1051 | self.__queuedText += text |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1052 | if self.__blockTextProcessing: |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1053 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1054 | |
6335
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1055 | self.__blockTextProcessing = True |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1056 | # Get all text which is still waiting for output |
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1057 | QApplication.processEvents() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1058 | |
6335
56d3b6722b3c
Shell.py: Added a patch provided by Tobias Rzepka to avoid freeze of eric when printing a lot. Original patch with some modifications and added source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6305
diff
changeset
|
1059 | # Finally process the accumulated text |
7387
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1060 | self.__flushQueuedText() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1061 | |
7387
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1062 | def __flushQueuedText(self): |
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1063 | """ |
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1064 | Private slot to flush the accumulated text output. |
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1065 | """ |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1066 | self.__write(self.__queuedText) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1067 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1068 | self.__queuedText = "" |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1069 | self.__blockTextProcessing = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1070 | |
6580
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
1071 | # little trick to get the cursor position registered within QScintilla |
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
1072 | self.SendScintilla(QsciScintilla.SCI_CHARLEFT) |
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
1073 | self.SendScintilla(QsciScintilla.SCI_CHARRIGHT) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1074 | |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1075 | def __write(self, s): |
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1076 | """ |
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1077 | Private method to display some text without queuing. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1078 | |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1079 | @param s text to be displayed |
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1080 | @type str |
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1081 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1082 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1083 | self.setCursorPosition(line, col) |
6478
f76f5bd81a90
Shell: fixed an issue with the redirected input() method caused by the queued output change done back in June 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6387
diff
changeset
|
1084 | self.insert(Utilities.filterAnsiSequences(s)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1085 | self.prline, self.prcol = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1086 | self.ensureCursorVisible() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1087 | self.ensureLineVisible(self.prline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1088 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1089 | def __writeStdOut(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1090 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1091 | Private method to display some text with StdOut label. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1092 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1093 | @param s text to be displayed |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1094 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1095 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1096 | self.__write(self.tr("StdOut: {0}").format(s)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1097 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1098 | def __writeStdErr(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1099 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1100 | Private method to display some text with StdErr label. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1101 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1102 | @param s text to be displayed |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1103 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1104 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1105 | self.__write(self.tr("StdErr: {0}").format(s)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1106 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1107 | def __raw_input(self, prompt, echo, debuggerId): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1108 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1109 | Private method to handle raw input. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1110 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1111 | @param prompt the input prompt |
7387
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1112 | @type str |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1113 | @param echo flag indicating an echoing of the input |
7387
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1114 | @type bool |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1115 | @param debuggerId ID of the debugger backend |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1116 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1117 | """ |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1118 | if self.__inRawMode: |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1119 | # we are processing another raw input event already |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1120 | self.__rawModeQueue.append((debuggerId, prompt, echo)) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1121 | else: |
10191 | 1122 | self.setFocus(Qt.FocusReason.OtherFocusReason) |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1123 | self.__inRawMode = True |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1124 | self.__echoInput = echo |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1125 | self.__rawModeDebuggerId = debuggerId |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1126 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1127 | # Get all text which is still waiting for output |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1128 | QApplication.processEvents() |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1129 | self.__flushQueuedText() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1130 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1131 | self.__write(self.tr("<{0}> {1}").format(debuggerId, prompt)) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1132 | line, col = self.__getEndPos() |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1133 | self.setCursorPosition(line, col) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1134 | buf = self.text(line) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1135 | if buf.startswith(sys.ps1): |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1136 | buf = buf.replace(sys.ps1, "") |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1137 | if buf.startswith(sys.ps2): |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1138 | buf = buf.replace(sys.ps2, "") |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1139 | self.prompt = buf |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1140 | # move cursor to end of line |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1141 | self.moveCursorToEOL() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1142 | |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1143 | @pyqtSlot() |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1144 | def paste(self, lines=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1145 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1146 | Public slot to handle the paste action. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1147 | |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1148 | @param lines list of lines to be inserted |
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1149 | @type list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1150 | """ |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1151 | if self.__isCursorOnLastLine(): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1152 | line, col = self.getCursorPosition() |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1153 | lastLine = self.text(line) |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1154 | if lastLine.startswith(sys.ps1): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1155 | lastLine = lastLine[len(sys.ps1) :] |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1156 | col -= len(sys.ps1) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1157 | prompt = sys.ps1 |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1158 | elif lastLine.startswith(sys.ps2): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1159 | lastLine = lastLine[len(sys.ps2) :] |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1160 | col -= len(sys.ps2) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1161 | prompt = sys.ps2 |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1162 | else: |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1163 | prompt = "" |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1164 | if col < 0: |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1165 | col = 0 |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1166 | prompt = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1167 | |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1168 | # Remove if text is selected |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1169 | if self.hasSelectedText(): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1170 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1171 | if self.text(lineFrom).startswith(sys.ps1): |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1172 | indexFrom -= len(sys.ps1) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1173 | indexTo -= len(sys.ps1) |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1174 | elif self.text(lineFrom).startswith(sys.ps2): |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1175 | indexFrom -= len(sys.ps2) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1176 | indexTo -= len(sys.ps2) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1177 | if indexFrom < 0: |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1178 | indexFrom = 0 |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1179 | lastLine = lastLine[:indexFrom] + lastLine[indexTo:] |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1180 | col = indexFrom |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1181 | |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1182 | self.setCursorPosition(line, len(prompt)) |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1183 | self.deleteLineRight() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1184 | |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1185 | if lines is None: |
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1186 | lines = QApplication.clipboard().text() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1187 | |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1188 | lines = lastLine[:col] + lines + lastLine[col:] |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1189 | self.executeLines(lines) |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1190 | line, _ = self.getCursorPosition() |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1191 | pos = len(self.text(line)) - (len(lastLine) - col) |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1192 | self.setCursorPosition(line, pos) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1193 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1194 | def executeLines(self, lines, historyIndex=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1195 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1196 | Public method to execute a set of lines as multiple commands. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1197 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1198 | @param lines multiple lines of text to be executed as |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1199 | single commands |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1200 | @type str |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1201 | @param historyIndex history index to be set |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1202 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1203 | """ |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1204 | lines = lines.splitlines(True) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1205 | if not lines: |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1206 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1207 | |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1208 | indentLen = self.__indentLength(lines[0]) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1209 | for line in lines: |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1210 | if line.startswith(sys.ps1): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1211 | line = line[len(sys.ps1) + indentLen :] |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1212 | elif line.startswith(sys.ps2): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1213 | line = line[len(sys.ps2) + indentLen :] |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1214 | else: |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1215 | line = line[indentLen:] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1216 | |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1217 | if line.endswith(("\r\n", "\r", "\n")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1218 | fullline = True |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1219 | cmd = line.rstrip() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1220 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1221 | fullline = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1222 | |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1223 | self.incrementalSearchActive = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1224 | self.__insertTextAtEnd(line) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1225 | if fullline: |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1226 | self.incrementalSearchActive = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1227 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1228 | self.__executeCommand(cmd, historyIndex=historyIndex) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1229 | if self.interruptCommandExecution: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1230 | self.__executeCommand("") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1231 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1232 | |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1233 | def __indentLength(self, line): |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1234 | """ |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1235 | Private method to determine the indentation length of the given line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1236 | |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1237 | @param line line to determine the indentation length for |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1238 | @type str |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1239 | @return indentation length |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1240 | @rtype int |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1241 | """ |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1242 | if line.startswith(sys.ps1): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1243 | line = line[len(sys.ps1) :] |
6029
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1244 | # If line starts with sys.ps2 or neither don't manipulate the line. |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1245 | indentLen = len(line) - len(line.lstrip()) |
0ce26b97e2c0
Fixed an issue in the Python shell window executing pasted lines containing some indentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5991
diff
changeset
|
1246 | return indentLen |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1247 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1248 | def __clearCurrentLine(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1249 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1250 | Private method to clear the line containing the cursor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1251 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1252 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1253 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1254 | col = len(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1255 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1256 | col = len(sys.ps2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1257 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1258 | col = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1259 | self.setCursorPosition(line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1260 | self.deleteLineRight() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1261 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1262 | def __insertText(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1263 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1264 | Private method to insert some text at the current cursor position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1265 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1266 | @param s text to be inserted |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1267 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1268 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1269 | line, col = self.getCursorPosition() |
5020
d0afdfd8e45b
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1270 | self.insertAt(Utilities.filterAnsiSequences(s), line, col) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1271 | self.setCursorPosition(line, col + len(s)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1272 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1273 | def __insertTextAtEnd(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1274 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1275 | Private method to insert some text at the end of the command line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1276 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1277 | @param s text to be inserted |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1278 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1279 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1280 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1281 | self.setCursorPosition(line, col) |
5020
d0afdfd8e45b
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1282 | self.insert(Utilities.filterAnsiSequences(s)) |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1283 | self.prline, _ = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1284 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1285 | def __insertTextNoEcho(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1286 | """ |
2940
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1287 | Private method to insert some text at the end of the buffer without |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1288 | echoing it. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1289 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1290 | @param s text to be inserted |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1291 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1292 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1293 | self.buff += s |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1294 | self.prline, self.prcol = self.getCursorPosition() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1295 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1296 | def mousePressEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1297 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1298 | 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:
9209
diff
changeset
|
1299 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1300 | @param event the mouse press event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1301 | @type QMouseEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1302 | """ |
10191 | 1303 | self.setFocus(Qt.FocusReason.MouseFocusReason) |
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
|
1304 | if event.button() == Qt.MouseButton.MiddleButton: |
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:
8138
diff
changeset
|
1305 | lines = QApplication.clipboard().text(QClipboard.Mode.Selection) |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1306 | self.paste(lines) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1307 | 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:
8169
diff
changeset
|
1308 | super().mousePressEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1309 | |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1310 | def wheelEvent(self, evt): |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1311 | """ |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1312 | Protected method to handle wheel events. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1313 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1314 | @param evt reference to the wheel event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1315 | @type QWheelEvent |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1316 | """ |
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:
8138
diff
changeset
|
1317 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
7198
684261ef2165
Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6987
diff
changeset
|
1318 | delta = evt.angleDelta().y() |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
1319 | if delta < 0: |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1320 | 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:
6048
diff
changeset
|
1321 | elif delta > 0: |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1322 | self.zoomIn() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1323 | evt.accept() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1324 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1325 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
1326 | super().wheelEvent(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1327 | |
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
|
1328 | 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
|
1329 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1330 | Public method handling events. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1331 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1332 | @param evt reference to the event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1333 | @type QEvent |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1334 | @return flag indicating, if the event was handled |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1335 | @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
|
1336 | """ |
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:
8138
diff
changeset
|
1337 | 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
|
1338 | 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
|
1339 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1340 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
1341 | return super().event(evt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1342 | |
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
|
1343 | 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
|
1344 | """ |
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
|
1345 | Protected method handling gesture events. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1346 | |
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
|
1347 | @param evt reference to the gesture event (QGestureEvent |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1348 | @type int |
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
|
1349 | """ |
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:
8138
diff
changeset
|
1350 | 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
|
1351 | 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:
8138
diff
changeset
|
1352 | 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
|
1353 | zoom = (self.getZoom() + 10) / 10.0 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1354 | 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:
8138
diff
changeset
|
1355 | elif pinch.state() == Qt.GestureState.GestureUpdated: |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1356 | 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
|
1357 | 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
|
1358 | zoom = -9 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1359 | 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
|
1360 | 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
|
1361 | zoom = 20 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1362 | 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
|
1363 | 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
|
1364 | evt.accept() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1365 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1366 | def editorCommand(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1367 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1368 | Public method to perform an editor command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1369 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1370 | @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:
10373
diff
changeset
|
1371 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1372 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1373 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1374 | self.supportedEditorCommands[cmd]() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1375 | except TypeError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1376 | self.supportedEditorCommands[cmd](cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1377 | except KeyError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1378 | pass |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1379 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1380 | def __isCursorOnLastLine(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1381 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1382 | Private method to check, if the cursor is on the last line. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1383 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1384 | @return flag indicating that the cursor is on the last line |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1385 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1386 | """ |
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
|
1387 | cline, _ccol = self.getCursorPosition() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1388 | return cline == self.lines() - 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1389 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1390 | def keyPressEvent(self, ev): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1391 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1392 | 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:
9209
diff
changeset
|
1393 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1394 | @param ev key event (QKeyEvent) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1395 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1396 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1397 | txt = ev.text() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1398 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1399 | # See it is text to insert. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1400 | if len(txt) and txt >= " ": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1401 | if not self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1402 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1403 | self.setCursorPosition(line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1404 | self.prline, self.prcol = self.getCursorPosition() |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1405 | if self.__echoInput: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1406 | ac = self.isListActive() |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
1407 | super().keyPressEvent(ev) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1408 | self.incrementalSearchActive = True |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1409 | if ac and self.racEnabled: |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1410 | self.dbs.remoteCompletion( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1411 | self.__getSelectedDebuggerId(), self.completionText + txt |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1412 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1413 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1414 | self.__insertTextNoEcho(txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1415 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1416 | ev.ignore() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1417 | |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1418 | def __QScintillaCommand(self, cmd): |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1419 | """ |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1420 | Private method to send the command to QScintilla. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1421 | |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1422 | @param cmd QScintilla command |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1423 | @type int |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1424 | """ |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1425 | self.SendScintilla(cmd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1426 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1427 | def __QScintillaTab(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1428 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1429 | Private method to handle the Tab key. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1430 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1431 | @param cmd QScintilla command |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1432 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1433 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1434 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1435 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1436 | elif self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1437 | line, index = self.getCursorPosition() |
2940
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1438 | buf = self.text(line) |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1439 | if buf.startswith(sys.ps1): |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1440 | buf = buf.replace(sys.ps1, "") |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1441 | if buf.startswith(sys.ps2): |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1442 | buf = buf.replace(sys.ps2, "") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1443 | if self.inContinue and not buf[: index - len(sys.ps2)].strip(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1444 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1445 | elif self.racEnabled: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1446 | self.dbs.remoteCompletion(self.__getSelectedDebuggerId(), buf) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1447 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1448 | def __QScintillaLeftDeleteCommand(self, method): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1449 | """ |
2940
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1450 | Private method to handle a QScintilla delete command working to |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1451 | the left. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1452 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1453 | @param method shell method to execute |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1454 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1455 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1456 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1457 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1458 | db = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1459 | ac = self.isListActive() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1460 | oldLength = len(self.text(line)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1461 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1462 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1463 | if col > len(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1464 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1465 | db = 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1466 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1467 | if col > len(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1468 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1469 | db = 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1470 | elif col > 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1471 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1472 | db = 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1473 | if db and ac and self.racEnabled and self.completionText: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1474 | delta = len(self.text(line)) - oldLength |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1475 | self.dbs.remoteCompletion( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1476 | self.__getSelectedDebuggerId(), self.completionText[:delta] |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1477 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1478 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1479 | def __QScintillaDeleteBack(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1480 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1481 | Private method to handle the Backspace key. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1482 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1483 | self.__QScintillaLeftDeleteCommand(self.deleteBack) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1484 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1485 | def __QScintillaDeleteWordLeft(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1486 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1487 | Private method to handle the Delete Word Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1488 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1489 | self.__QScintillaLeftDeleteCommand(self.deleteWordLeft) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1490 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1491 | def __QScintillaDelete(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1492 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1493 | Private method to handle the delete command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1494 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1495 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1496 | if self.hasSelectedText(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1497 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1498 | if self.text(lineFrom).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1499 | if indexFrom >= len(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1500 | self.delete() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1501 | elif self.text(lineFrom).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1502 | if indexFrom >= len(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1503 | self.delete() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1504 | elif indexFrom >= 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1505 | self.delete() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1506 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1507 | self.delete() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1508 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1509 | def __QScintillaDeleteLineLeft(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1510 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1511 | Private method to handle the Delete Line Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1512 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1513 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1514 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1515 | self.cancelList() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1516 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1517 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1518 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1519 | prompt = sys.ps1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1520 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1521 | prompt = sys.ps2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1522 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1523 | prompt = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1524 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1525 | self.deleteLineLeft() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1526 | self.insertAt(prompt, line, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1527 | self.setCursorPosition(line, len(prompt)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1528 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1529 | def __QScintillaNewline(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1530 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1531 | Private method to handle the Return key. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1532 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1533 | @param cmd QScintilla command |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1534 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1535 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1536 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1537 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1538 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1539 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1540 | self.incrementalSearchString = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1541 | self.incrementalSearchActive = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1542 | line, col = self.__getEndPos() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1543 | self.setCursorPosition(line, col) |
2940
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1544 | buf = self.text(line) |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1545 | if buf.startswith(sys.ps1): |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1546 | buf = buf.replace(sys.ps1, "") |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1547 | if buf.startswith(sys.ps2): |
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
1548 | buf = buf.replace(sys.ps2, "") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1549 | self.insert("\n") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1550 | self.__executeCommand(buf) |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1551 | else: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1552 | txt = "" |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1553 | line, col = self.getCursorPosition() |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1554 | if self.hasSelectedText(): |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1555 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1556 | if line == lineFrom: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1557 | txt = self.text(line)[indexFrom:].rstrip() |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1558 | elif line == lineTo: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1559 | txt = self.text(line)[:indexTo] |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1560 | else: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1561 | txt = self.text(line)[col:].rstrip() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1562 | |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1563 | if txt: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1564 | line, col = self.__getEndPos() |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1565 | self.setCursorPosition(line, col) |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1566 | self.insert(txt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1567 | |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1568 | def __QScintillaLeftCommand(self, method): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1569 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1570 | Private method to handle a QScintilla command working to the left. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1571 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1572 | @param method shell method to execute |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1573 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1574 | """ |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1575 | line, col = self.getCursorPosition() |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1576 | if col > 0: |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1577 | method() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1578 | |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1579 | # adjust cursor position |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1580 | line, col = self.getCursorPosition() |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1581 | if self.text(line).startswith(sys.ps1) and col < len(sys.ps1): |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1582 | self.setCursorPosition(line, len(sys.ps1)) |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1583 | elif self.text(line).startswith(sys.ps2) and col < len(sys.ps2): |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1584 | self.setCursorPosition(line, len(sys.ps2)) |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1585 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1586 | def __QScintillaCharLeft(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1587 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1588 | Private method to handle the Cursor Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1589 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1590 | self.__QScintillaLeftCommand(self.moveCursorLeft) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1591 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1592 | def __QScintillaWordLeft(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1593 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1594 | Private method to handle the Cursor Word Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1595 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1596 | self.__QScintillaLeftCommand(self.moveCursorWordLeft) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1597 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1598 | def __QScintillaRightCommand(self, method): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1599 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1600 | Private method to handle a QScintilla command working to the right. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1601 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1602 | @param method shell method to execute |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1603 | @type function |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1604 | """ |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1605 | method() |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1606 | |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1607 | # adjust cursor position |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1608 | line, col = self.getCursorPosition() |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1609 | if self.text(line).startswith(sys.ps1) and col < len(sys.ps1): |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1610 | self.setCursorPosition(line, len(sys.ps1)) |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1611 | elif self.text(line).startswith(sys.ps2) and col < len(sys.ps2): |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1612 | self.setCursorPosition(line, len(sys.ps2)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1613 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1614 | def __QScintillaCharRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1615 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1616 | Private method to handle the Cursor Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1617 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1618 | self.__QScintillaRightCommand(self.moveCursorRight) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1619 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1620 | def __QScintillaWordRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1621 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1622 | Private method to handle the Cursor Word Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1623 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1624 | self.__QScintillaRightCommand(self.moveCursorWordRight) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1625 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1626 | def __QScintillaDeleteWordRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1627 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1628 | Private method to handle the Delete Word Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1629 | """ |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1630 | # delete is only allowed on the last line |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1631 | if self.__isCursorOnLastLine(): |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1632 | self.__QScintillaRightCommand(self.deleteWordRight) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1633 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1634 | def __QScintillaDeleteLineRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1635 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1636 | Private method to handle the Delete Line Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1637 | """ |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1638 | # delete is only allowed on the last line |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1639 | if self.__isCursorOnLastLine(): |
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1640 | self.__QScintillaRightCommand(self.deleteLineRight) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1641 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1642 | def __QScintillaVCHome(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1643 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1644 | Private method to handle the Home key. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1645 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1646 | @param cmd QScintilla command |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1647 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1648 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1649 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1650 | self.SendScintilla(cmd) |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1651 | else: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1652 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1653 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1654 | col = len(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1655 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1656 | col = len(sys.ps2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1657 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1658 | col = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1659 | self.setCursorPosition(line, col) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1660 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1661 | def __QScintillaLineEnd(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1662 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1663 | Private method to handle the End key. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1664 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1665 | @param cmd QScintilla command |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1666 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1667 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1668 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1669 | self.SendScintilla(cmd) |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1670 | else: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1671 | self.moveCursorToEOL() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1672 | |
6037
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1673 | def __QScintillaCursorCommand(self, cmd): |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1674 | """ |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1675 | Private method to handle the cursor commands. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1676 | |
6037
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1677 | @param cmd QScintilla command |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1678 | @type int |
6037
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1679 | """ |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1680 | if self.isListActive() or self.isCallTipActive(): |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1681 | if cmd in (QsciScintilla.SCI_LINEUP, QsciScintilla.SCI_LINEDOWN): |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1682 | self.SendScintilla(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1683 | else: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1684 | if self.__historyNavigateByCursor: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1685 | if cmd == QsciScintilla.SCI_LINEUP: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1686 | self.__QScintillaHistoryUp(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1687 | elif cmd == QsciScintilla.SCI_LINEDOWN: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1688 | self.__QScintillaHistoryDown(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1689 | elif cmd == QsciScintilla.SCI_LINESCROLLUP: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1690 | self.__QScintillaLineUp(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1691 | elif cmd == QsciScintilla.SCI_LINESCROLLDOWN: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1692 | self.__QScintillaLineDown(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1693 | else: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1694 | if cmd == QsciScintilla.SCI_LINEUP: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1695 | self.__QScintillaLineUp(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1696 | elif cmd == QsciScintilla.SCI_LINEDOWN: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1697 | self.__QScintillaLineDown(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1698 | elif cmd == QsciScintilla.SCI_LINESCROLLUP: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1699 | self.__QScintillaHistoryUp(cmd) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1700 | elif cmd == QsciScintilla.SCI_LINESCROLLDOWN: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1701 | self.__QScintillaHistoryDown(cmd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1702 | |
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:
10658
diff
changeset
|
1703 | def __QScintillaLineUp(self, _cmd): |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1704 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1705 | Private method to handle the cursor up command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1706 | |
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:
10658
diff
changeset
|
1707 | @param _cmd QScintilla command (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1708 | @type int |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1709 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1710 | self.SendScintilla(QsciScintilla.SCI_LINEUP) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1711 | |
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:
10658
diff
changeset
|
1712 | def __QScintillaLineDown(self, _cmd): |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1713 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1714 | Private method to handle the cursor down command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1715 | |
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:
10658
diff
changeset
|
1716 | @param _cmd QScintilla command (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1717 | @type int |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1718 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1719 | self.SendScintilla(QsciScintilla.SCI_LINEDOWN) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1720 | |
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:
10658
diff
changeset
|
1721 | def __QScintillaHistoryUp(self, _cmd): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1722 | """ |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1723 | Private method to handle the history up command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1724 | |
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:
10658
diff
changeset
|
1725 | @param _cmd QScintilla command (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1726 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1727 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1728 | if self.isHistoryEnabled(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1729 | line, col = self.__getEndPos() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1730 | buf = self.text(line) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1731 | if buf.startswith(sys.ps1): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1732 | buf = buf.replace(sys.ps1, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1733 | if buf.startswith(sys.ps2): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1734 | buf = buf.replace(sys.ps2, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1735 | if buf and self.incrementalSearchActive: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1736 | if self.incrementalSearchString and buf.startswith( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1737 | self.incrementalSearchString |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1738 | ): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1739 | idx, found = self.__rsearchHistory( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1740 | self.incrementalSearchString, self.__histidx |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1741 | ) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1742 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1743 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1744 | self.__useHistory() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1745 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1746 | idx, found = self.__rsearchHistory(buf) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1747 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1748 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1749 | self.incrementalSearchString = buf |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1750 | self.__useHistory() |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1751 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1752 | if self.__historyWrap: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1753 | if self.__histidx < 0: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1754 | # wrap around |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1755 | self.__setHistoryIndex(index=len(self.__history) - 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1756 | else: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1757 | self.__setHistoryIndex(index=self.__histidx - 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1758 | self.__useHistory() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1759 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1760 | if self.__histidx < 0: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1761 | self.__setHistoryIndex(index=len(self.__history) - 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1762 | self.__useHistory() |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1763 | elif self.__histidx > 0: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1764 | self.__setHistoryIndex(index=self.__histidx - 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1765 | self.__useHistory() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1766 | |
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:
10658
diff
changeset
|
1767 | def __QScintillaHistoryDown(self, _cmd): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1768 | """ |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1769 | Private method to handle the history down command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1770 | |
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:
10658
diff
changeset
|
1771 | @param _cmd QScintilla command (unused) |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1772 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1773 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1774 | if self.isHistoryEnabled(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1775 | line, col = self.__getEndPos() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1776 | buf = self.text(line) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1777 | if buf.startswith(sys.ps1): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1778 | buf = buf.replace(sys.ps1, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1779 | if buf.startswith(sys.ps2): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1780 | buf = buf.replace(sys.ps2, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1781 | if buf and self.incrementalSearchActive: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1782 | if self.incrementalSearchString and buf.startswith( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1783 | self.incrementalSearchString |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1784 | ): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1785 | idx, found = self.__searchHistory( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1786 | self.incrementalSearchString, self.__histidx |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1787 | ) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1788 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1789 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1790 | self.__useHistory() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1791 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1792 | idx, found = self.__searchHistory(buf) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1793 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1794 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1795 | self.incrementalSearchString = buf |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1796 | self.__useHistory() |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1797 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1798 | if self.__historyWrap: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1799 | if self.__histidx >= len(self.__history) - 1: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1800 | # wrap around |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1801 | self.__setHistoryIndex(index=0) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1802 | else: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1803 | self.__setHistoryIndex(index=self.__histidx + 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1804 | self.__useHistory() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1805 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1806 | if self.__isHistoryIndexValid(): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1807 | self.__setHistoryIndex(index=self.__histidx + 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1808 | self.__useHistory() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1809 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1810 | def __QScintillaCancel(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1811 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1812 | Private method to handle the ESC command. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1813 | """ |
6037
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1814 | if self.isListActive() or self.isCallTipActive(): |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1815 | self.SendScintilla(QsciScintilla.SCI_CANCEL) |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1816 | else: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1817 | if self.incrementalSearchActive: |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1818 | self.__resetIncrementalHistorySearch() |
9aec96a3a82a
Fixed an issue related to cursor key navigation within completion lists caused by the new history navigation style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6029
diff
changeset
|
1819 | self.__insertHistory("") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1820 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1821 | def __QScintillaCharLeftExtend(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1822 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1823 | Private method to handle the Extend Selection Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1824 | """ |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1825 | self.__QScintillaLeftCommand(self.extendSelectionLeft) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1826 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1827 | def __QScintillaWordLeftExtend(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1828 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1829 | Private method to handle the Extend Selection Left one word command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1830 | """ |
10432
2fe91fe443dd
Fixed some issues in Shell.py related to moving the cursor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10431
diff
changeset
|
1831 | self.__QScintillaLeftCommand(self.extendSelectionWordLeft) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1832 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1833 | def __QScintillaVCHomeExtend(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1834 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1835 | Private method to handle the Extend Selection to start of line command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1836 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1837 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1838 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1839 | col = len(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1840 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1841 | col = len(sys.ps2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1842 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1843 | col = 0 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1844 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1845 | self.extendSelectionToBOL() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1846 | while col > 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1847 | self.extendSelectionRight() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1848 | col -= 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1849 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1850 | def __QScintillaAutoCompletionCommand(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1851 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1852 | Private method to handle a command for autocompletion only. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1853 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1854 | @param cmd QScintilla command |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
1855 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1856 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1857 | if self.isListActive() or self.isCallTipActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1858 | self.SendScintilla(cmd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1859 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1860 | def __executeCommand(self, cmd, historyIndex=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1861 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1862 | Private slot to execute a command. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1863 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1864 | @param cmd command to be executed by debug client |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1865 | @type str |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1866 | @param historyIndex history index to be set |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1867 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1868 | """ |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1869 | if not self.__inRawMode: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1870 | self.inCommandExecution = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1871 | self.interruptCommandExecution = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1872 | if not cmd: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1873 | # make sure cmd is a string |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1874 | cmd = "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1875 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1876 | # History Handling |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1877 | if self.isHistoryEnabled(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1878 | if cmd != "" and ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1879 | len(self.__history) == 0 or self.__history[-1] != cmd |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1880 | ): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1881 | if len(self.__history) == self.__maxHistoryEntries: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1882 | del self.__history[0] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1883 | self.__history.append(cmd) |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
1884 | if self.__historyStyle == ShellHistoryStyle.LINUXSTYLE: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1885 | self.__setHistoryIndex(index=-1) |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
1886 | elif self.__historyStyle == ShellHistoryStyle.WINDOWSSTYLE: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1887 | if historyIndex is None: |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1888 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1889 | self.__histidx - 1 > 0 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1890 | and cmd != self.__history[self.__histidx - 1] |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1891 | ): |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1892 | self.__setHistoryIndex(index=-1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1893 | else: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1894 | self.__setHistoryIndex(historyIndex) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1895 | |
8146 | 1896 | if cmd.startswith("%"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1897 | if cmd == "%start" or cmd.startswith("%start "): |
8146 | 1898 | if not self.passive: |
1899 | cmdList = cmd.split(None, 1) | |
1900 | if len(cmdList) < 2: | |
1901 | self.dbs.startClient(False) | |
1902 | # start default backend | |
1903 | else: | |
1904 | venvName = cmdList[1] | |
10161 | 1905 | if venvName in ( |
1906 | self.tr("Project"), | |
1907 | self.tr("Project").lower(), | |
1908 | "Project", | |
1909 | "project", | |
1910 | ): | |
8146 | 1911 | if self.__project.isOpen(): |
1912 | self.dbs.startClient( | |
1913 | False, | |
1914 | forProject=True, | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1915 | workingDir=self.__project.getProjectPath(), |
8146 | 1916 | ) |
1917 | self.__currentWorkingDirectory = ( | |
1918 | self.__project.getProjectPath() | |
1919 | ) | |
1920 | else: | |
1921 | self.dbs.startClient( | |
1922 | False, | |
1923 | venvName=self.__currentVenv, | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1924 | workingDir=self.__currentWorkingDirectory, |
8146 | 1925 | ) |
1926 | # same as reset | |
1927 | else: | |
1928 | self.dbs.startClient(False, venvName=venvName) | |
1929 | self.__currentWorkingDirectory = "" | |
10191 | 1930 | self.__getBanner() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1931 | elif cmd == "%clear": |
8146 | 1932 | # Display the banner. |
1933 | self.__getBanner() | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1934 | elif cmd in ["%reset", "%restart"]: |
10554
cfcfba945421
Modified Shell.py slightly to get rid of some redundant code and to guard a code segment against a potential endless loop situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1935 | self.doRestart() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1936 | elif cmd in ["%envs", "%environments"]: |
8146 | 1937 | venvs = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1938 | ericApp().getObject("VirtualEnvManager").getVirtualenvNames() |
8146 | 1939 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1940 | s = self.tr("Available Virtual Environments:\n{0}\n").format( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1941 | "\n".join("- {0}".format(venv) for venv in sorted(venvs)) |
8146 | 1942 | ) |
1943 | self.__write(s) | |
1944 | self.__clientStatement(False) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1945 | elif cmd == "%which": |
8146 | 1946 | s = self.tr("Current Virtual Environment: '{0}'\n").format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1947 | self.__currentVenv |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1948 | ) |
8146 | 1949 | self.__write(s) |
1950 | self.__clientStatement(False) | |
1951 | elif ( | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1952 | cmd in ["%quit", "%quit()", "%exit", "%exit()"] and self.__windowed |
8146 | 1953 | ): |
1954 | # call main window quit() | |
1955 | self.vm.quit() | |
10191 | 1956 | elif cmd in ("%hist", "%history") or cmd.startswith( |
1957 | ("%hist ", "%history ") | |
1958 | ): | |
1959 | cmdList = cmd.split(None, 1) | |
1960 | if len(cmdList) == 2: | |
1961 | try: | |
1962 | histSize = int(cmdList[1]) | |
1963 | except ValueError: | |
1964 | s = self.tr("Error: Argument must be an integer value.\n") | |
1965 | self.__write(s) | |
1966 | self.__clientStatement(False) | |
1967 | return | |
1968 | else: | |
1969 | histSize = None | |
1970 | self.showHistory(histSize) | |
1971 | self.__clientStatement(False) | |
1972 | elif cmd in ("%shist", "%shistory", "%select_history"): | |
1973 | self.selectHistory() | |
1974 | elif cmd in ("%chist", "%chistory", "%clear_history"): | |
1975 | self.clearHistory() | |
1976 | self.__clientStatement(False) | |
1977 | elif cmd == "%help": | |
1978 | self.__showHelp() | |
1979 | self.__clientStatement(False) | |
1980 | else: | |
1981 | s = self.tr("Error: Command '{0}' is not supported.\n").format(cmd) | |
1982 | self.__write(s) | |
1983 | self.__clientStatement(False) | |
1984 | self.setFocus(Qt.FocusReason.OtherFocusReason) | |
8146 | 1985 | else: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1986 | self.dbs.remoteStatement(self.__getSelectedDebuggerId(), cmd) |
10554
cfcfba945421
Modified Shell.py slightly to get rid of some redundant code and to guard a code segment against a potential endless loop situation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
1987 | now = time.monotonic() |
10556
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1988 | timeDelta = 0 |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1989 | while ( |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1990 | self.inCommandExecution |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1991 | and timeDelta <= self.__commandExecutionTimeout |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1992 | ): |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1993 | timeDelta = time.monotonic() - now |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1994 | # configurable timeout |
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:
8235
diff
changeset
|
1995 | with contextlib.suppress(KeyboardInterrupt): |
8146 | 1996 | QApplication.processEvents() |
10556
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1997 | self.inCommandExecution = False |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1998 | if timeDelta > self.__commandExecutionTimeout: |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
1999 | # timeout -> write a hint into the shell window |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2000 | s = self.tr( |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2001 | "Execution of the interpreter statement timed out after" |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2002 | " {0} seconds.\n" |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2003 | ).format(self.__commandExecutionTimeout) |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2004 | self.__write(s) |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2005 | self.__clientStatement(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2006 | else: |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
2007 | if not self.__echoInput: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2008 | cmd = self.buff |
5610
3af522dbfbea
Fixed a few issues related to getting input and passwords in the Python shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5603
diff
changeset
|
2009 | self.buff = "" |
3af522dbfbea
Fixed a few issues related to getting input and passwords in the Python shell.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5603
diff
changeset
|
2010 | elif cmd: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2011 | cmd = cmd[len(self.prompt) :] |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
2012 | self.__inRawMode = False |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
2013 | self.__echoInput = True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2014 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
2015 | self.dbs.remoteRawInput(self.__rawModeDebuggerId, cmd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2016 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
2017 | if self.__rawModeQueue: |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
2018 | debuggerId, prompt, echo = self.__rawModeQueue.pop(0) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
2019 | self.__raw_input(prompt, echo, debuggerId) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2020 | |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2021 | def __showVenvName(self): |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2022 | """ |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2023 | Private method to show the name of the active virtual environment. |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2024 | """ |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2025 | s = "\n" + self.tr("Current Virtual Environment: '{0}'\n").format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2026 | self.__currentVenv |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2027 | ) |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2028 | self.__write(s) |
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2029 | self.__clientStatement(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2030 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2031 | def __useHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2032 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2033 | Private method to display a command from the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2034 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2035 | if self.__isHistoryIndexValid(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2036 | cmd = self.__history[self.__histidx] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2037 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2038 | cmd = "" |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2039 | self.__resetIncrementalHistorySearch() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2040 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2041 | self.__insertHistory(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2042 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2043 | def __insertHistory(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2044 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2045 | Private method to insert a command selected from the history. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2046 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2047 | @param cmd history entry to be inserted |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2048 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2049 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
2050 | self.setCursorPosition(self.prline, self.prcol) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2051 | self.setSelection( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2052 | self.prline, self.prcol, self.prline, self.lineLength(self.prline) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2053 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2054 | self.removeSelectedText() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2055 | self.__insertText(cmd) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2056 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2057 | def __resetIncrementalHistorySearch(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2058 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2059 | Private method to reset the incremental history search. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2060 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2061 | self.incrementalSearchString = "" |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2062 | self.incrementalSearchActive = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2063 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
2064 | def __searchHistory(self, txt, startIdx=-1): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2065 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2066 | Private method used to search the history. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2067 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2068 | @param txt text to match at the beginning |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2069 | @type str |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2070 | @param startIdx index to start search from |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2071 | @type int |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2072 | @return tuple containing the index of found entry and a flag indicating |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2073 | that something was found |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2074 | @rtype tuple of (int, bool) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2075 | """ |
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:
8222
diff
changeset
|
2076 | idx = 0 if startIdx == -1 else startIdx + 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2077 | while idx < len(self.__history) and not self.__history[idx].startswith(txt): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2078 | idx += 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2079 | found = idx < len(self.__history) and self.__history[idx].startswith(txt) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2080 | return idx, found |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2081 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
2082 | def __rsearchHistory(self, txt, startIdx=-1): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2083 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2084 | Private method used to reverse search the history. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2085 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2086 | @param txt text to match at the beginning |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2087 | @type str |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2088 | @param startIdx index to start search from |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2089 | @type int |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2090 | @return tuple containing the index of found entry and a flag indicating |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2091 | that something was found |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2092 | @rtype tuple of (int, bool) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2093 | """ |
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:
8222
diff
changeset
|
2094 | idx = len(self.__history) - 1 if startIdx == -1 else startIdx - 1 |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2095 | while idx >= 0 and not self.__history[idx].startswith(txt): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2096 | idx -= 1 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2097 | found = idx >= 0 and self.__history[idx].startswith(txt) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2098 | return idx, found |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2099 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2100 | def focusNextPrevChild(self, nextChild): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2101 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
2102 | Public method to stop Tab moving to the next window. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2103 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2104 | While the user is entering a multi-line command, the movement to |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2105 | the next window by the Tab key being pressed is suppressed. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2106 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2107 | @param nextChild next window |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2108 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2109 | @return flag indicating the movement |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2110 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2111 | """ |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2112 | if nextChild and self.inContinue: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2113 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2114 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2115 | return QsciScintillaCompat.focusNextPrevChild(self, nextChild) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2116 | |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2117 | @pyqtSlot(QPoint) |
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2118 | def __showContextMenu(self, pos): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2119 | """ |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2120 | Private slot to show a context menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2121 | |
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2122 | @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:
9576
diff
changeset
|
2123 | @type QPoint |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2124 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
2125 | if not self.__windowed: |
10619 | 2126 | # check, if the cursor is positioned on an exception line |
2127 | # The exception line looks like 'File: /path/of/file.py, Line: 111'. | |
2128 | line = self.getCursorPosition()[0] | |
2129 | text = self.text(line).strip() | |
2130 | self.__showSourceAct.setEnabled( | |
10621
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10619
diff
changeset
|
2131 | bool(re.search(r"File: (.*?), Line: (\d+)", text)) |
10619 | 2132 | ) |
2133 | ||
9643
10839ab864e0
Changed the use of QContextMenuEvent because it is obsolete as of Qt 6.4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
2134 | self.menu.popup(self.mapToGlobal(pos)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2135 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2136 | def clear(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2137 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2138 | Public slot to clear the display. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2139 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2140 | # Display the banner. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2141 | self.__getBanner() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2142 | |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2143 | def doClearRestart(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2144 | """ |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2145 | Public slot to handle the 'restart and clear' context menu entry. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2146 | """ |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2147 | self.doRestart() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2148 | self.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2149 | |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2150 | def doRestart(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2151 | """ |
6581
8eb6220f2bb7
Shell: changed code to start the shell/debugger backend with an unmodified PATH setting and added some more special commands (see what's this help of the shell).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6580
diff
changeset
|
2152 | Public slot to handle the 'restart' context menu entry. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2153 | """ |
10649
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2154 | venvName = ( |
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2155 | self.dbs.getProjectEnvironmentString() |
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2156 | if ( |
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2157 | self.__project.isOpen() |
10658
353fbc65a79e
Corrected a code formatting issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10649
diff
changeset
|
2158 | and self.__currentVenv |
353fbc65a79e
Corrected a code formatting issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10649
diff
changeset
|
2159 | == self.__project.getProjectVenv(resolveDebugger=False) |
10649
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2160 | ) |
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2161 | else self.__currentVenv |
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2162 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2163 | self.dbs.startClient( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2164 | False, |
10649
a608175336f4
Fixed an issue in the shell causing a restart to start the wrong interpreter if a project has an embedded environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
2165 | venvName=venvName, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2166 | workingDir=self.__currentWorkingDirectory, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2167 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2168 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2169 | def __startDebugClient(self, action): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2170 | """ |
2940
e9348df06994
Fixed an issue in the interpreter shell window causing data to be deleted if it contained the secondary prompt (sys.ps2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2640
diff
changeset
|
2171 | Private slot to start a debug client according to the action |
3693
983904b9568f
Fixed some documentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
2172 | triggered. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2173 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2174 | @param action context menu action that was triggered |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2175 | @type QAction |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2176 | """ |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2177 | venvName = action.text() |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2178 | if venvName == self.tr("Project"): |
6633
c5aab2ede19a
Debugger, Shell: start the shell in the project directory if one is open ([issue290]).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6581
diff
changeset
|
2179 | if self.__project.isOpen(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2180 | self.__currentWorkingDirectory = self.__project.getProjectPath() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2181 | self.dbs.startClient( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2182 | False, forProject=True, workingDir=self.__currentWorkingDirectory |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2183 | ) |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2184 | else: |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2185 | self.dbs.startClient(False, venvName=venvName) |
6377
ae6ae4e3ec1f
Shell: little fix to clear the shell window when the debug client ist (re-) started via the "Start" context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6335
diff
changeset
|
2186 | self.__getBanner() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2187 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2188 | def handlePreferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2189 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2190 | Public slot to handle the preferencesChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2191 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2192 | # rebind the lexer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2193 | self.__bindLexer(self.language) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2194 | self.recolor() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2195 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2196 | # set margin 0 configuration |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2197 | self.__setTextDisplay() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2198 | self.__setMargin0() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2199 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2200 | # set the autocompletion and calltips function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2201 | self.__setAutoCompletion() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2202 | self.__setCallTips() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2203 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2204 | # do the history related stuff |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2205 | self.__maxHistoryEntries = Preferences.getShell("MaxHistoryEntries") |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10276
diff
changeset
|
2206 | for key in list(self.__historyLists): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2207 | self.__historyLists[key] = self.__historyLists[key][ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2208 | -self.__maxHistoryEntries : |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2209 | ] |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2210 | self.__historyStyle = Preferences.getShell("HistoryStyle") |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
2211 | self.__historyWrap = Preferences.getShell("HistoryWrap") |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2212 | self.__setHistoryIndex() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2213 | if not self.__windowed: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2214 | self.hmenu.menuAction().setEnabled(self.isHistoryEnabled()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2215 | self.__historyNavigateByCursor = Preferences.getShell("HistoryNavigateByCursor") |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
2216 | self.historyStyleChanged.emit(self.__historyStyle) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2217 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2218 | # do stdout /stderr stuff |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2219 | showStdOutErr = Preferences.getShell("ShowStdOutErr") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2220 | if self.__showStdOutErr != showStdOutErr: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2221 | if showStdOutErr: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
2222 | self.dbs.clientProcessStdout.connect(self.__writeStdOut) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
2223 | self.dbs.clientProcessStderr.connect(self.__writeStdErr) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2224 | else: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
2225 | self.dbs.clientProcessStdout.disconnect(self.__writeStdOut) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
2226 | self.dbs.clientProcessStderr.disconnect(self.__writeStdErr) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2227 | self.__showStdOutErr = showStdOutErr |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2228 | |
10556
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2229 | # do some additional configuration parameters |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2230 | self.__commandExecutionTimeout = Preferences.getShell("CommandExecutionTimeout") |
b4a75c77f9cd
Made the Shell interpreter statement execution timeout configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10554
diff
changeset
|
2231 | |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
2232 | @pyqtSlot(list, str) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2233 | def __showCompletions(self, completions, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2234 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2235 | Private method to display the possible completions. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2236 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2237 | @param completions list of possible completions |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2238 | @type list of str |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2239 | @param text text that is about to be completed |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2240 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2241 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2242 | if len(completions) == 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2243 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2244 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2245 | if len(completions) > 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2246 | completions.sort() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2247 | self.showUserList(1, completions) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2248 | self.completionText = text |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2249 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2250 | txt = completions[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2251 | if text != "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2252 | txt = txt.replace(text, "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2253 | self.__insertText(txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2254 | self.completionText = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2255 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2256 | def __completionListSelected(self, listId, txt): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2257 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2258 | 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:
9209
diff
changeset
|
2259 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2260 | @param listId the ID of the user list (should be 1) |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2261 | @type int |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2262 | @param txt the selected text |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2263 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2264 | """ |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2265 | if listId == 1: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2266 | if self.completionText != "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2267 | txt = txt.replace(self.completionText, "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2268 | self.__insertText(txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2269 | self.completionText = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2270 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2271 | ################################################################# |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2272 | ## Drag and Drop Support |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2273 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2274 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2275 | def dragEnterEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2276 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2277 | 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:
9209
diff
changeset
|
2278 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2279 | @param event the drag enter event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2280 | @type QDragEnterEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2281 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2282 | self.inDragDrop = event.mimeData().hasUrls() or event.mimeData().hasText() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2283 | if self.inDragDrop: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2284 | event.acceptProposedAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2285 | 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:
8169
diff
changeset
|
2286 | super().dragEnterEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2287 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2288 | def dragMoveEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2289 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2290 | 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:
9209
diff
changeset
|
2291 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2292 | @param event the drag move event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2293 | @type QDragMoveEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2294 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2295 | if self.inDragDrop: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2296 | event.accept() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2297 | 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:
8169
diff
changeset
|
2298 | super().dragMoveEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2299 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2300 | def dragLeaveEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2301 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2302 | 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:
9209
diff
changeset
|
2303 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2304 | @param event the drag leave event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2305 | @type QDragLeaveEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2306 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2307 | if self.inDragDrop: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2308 | self.inDragDrop = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2309 | event.accept() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2310 | 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:
8169
diff
changeset
|
2311 | super().dragLeaveEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2312 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2313 | def dropEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2314 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2315 | Protected method to handle the drop event. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2316 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2317 | @param event the drop event |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2318 | @type QDropEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2319 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
2320 | if event.mimeData().hasUrls() and not self.__windowed: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2321 | for url in event.mimeData().urls(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2322 | fname = url.toLocalFile() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2323 | if fname: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
2324 | if not pathlib.Path(fname).is_dir(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2325 | self.vm.openSourceFile(fname) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2326 | 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:
8318
diff
changeset
|
2327 | EricMessageBox.information( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
2328 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
2329 | self.tr("Drop Error"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2330 | 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:
9209
diff
changeset
|
2331 | fname |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2332 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2333 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2334 | event.acceptProposedAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2335 | elif event.mimeData().hasText(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2336 | s = event.mimeData().text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2337 | if s: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2338 | event.acceptProposedAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2339 | self.executeLines(s) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2340 | del s |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2341 | 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:
8169
diff
changeset
|
2342 | super().dropEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2343 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2344 | self.inDragDrop = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2345 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2346 | def focusInEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2347 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
2348 | Protected method called when the shell receives focus. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2349 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2350 | @param event the event object |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2351 | @type QFocusEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2352 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2353 | if not self.__actionsAdded: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2354 | self.addActions(self.vm.editorActGrp.actions()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2355 | self.addActions(self.vm.copyActGrp.actions()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2356 | self.addActions(self.vm.viewActGrp.actions()) |
6387
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2357 | if not self.__windowed: |
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2358 | self.__searchShortcut = QShortcut( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2359 | self.vm.searchAct.shortcut(), self, self.__find, self.__find |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2360 | ) |
6387
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2361 | self.__searchNextShortcut = QShortcut( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2362 | self.vm.searchNextAct.shortcut(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2363 | self, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2364 | self.__searchNext, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2365 | self.__searchNext, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2366 | ) |
6387
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2367 | self.__searchPrevShortcut = QShortcut( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2368 | self.vm.searchPrevAct.shortcut(), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2369 | self, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2370 | self.__searchPrev, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2371 | self.__searchPrev, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2372 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2373 | |
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
|
2374 | with contextlib.suppress(AttributeError): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2375 | self.vm.editActGrp.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2376 | self.vm.editorActGrp.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2377 | self.vm.copyActGrp.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2378 | 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:
97
diff
changeset
|
2379 | self.vm.searchActGrp.setEnabled(False) |
6387
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2380 | if not self.__windowed: |
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2381 | self.__searchShortcut.setEnabled(True) |
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2382 | self.__searchNextShortcut.setEnabled(True) |
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2383 | self.__searchPrevShortcut.setEnabled(True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2384 | self.setCaretWidth(self.caretWidth) |
404
44a541bea034
Added code to adjust the cursor flash time of the editor to the global settings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
128
diff
changeset
|
2385 | self.setCursorFlashTime(QApplication.cursorFlashTime()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2386 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
2387 | super().focusInEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2388 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2389 | def focusOutEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2390 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
2391 | Protected method called when the shell loses focus. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2392 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2393 | @param event the event object |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2394 | @type QFocusEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2395 | """ |
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
|
2396 | with contextlib.suppress(AttributeError): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2397 | self.vm.editorActGrp.setEnabled(False) |
6387
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2398 | if not self.__windowed: |
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2399 | self.__searchShortcut.setEnabled(False) |
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2400 | self.__searchNextShortcut.setEnabled(False) |
a168b5f26a14
Shell, ShellWindow, LogViewer: fixed the layouts, an ambigous shortcut and added a missing method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6377
diff
changeset
|
2401 | self.__searchPrevShortcut.setEnabled(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2402 | self.setCaretWidth(0) |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8169
diff
changeset
|
2403 | super().focusOutEvent(event) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2404 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2405 | def insert(self, txt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2406 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2407 | Public slot to insert text at the current cursor position. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2408 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2409 | The cursor is advanced to the end of the inserted text. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2410 | |
10431
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2411 | @param txt text to be inserted |
64157aeb0312
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
2412 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2413 | """ |
5020
d0afdfd8e45b
Added capability to filter ANSI escape sequences out of output strings. This is limited to color sequences at the moment.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
2414 | txt = Utilities.filterAnsiSequences(txt) |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3030
diff
changeset
|
2415 | length = len(txt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2416 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2417 | self.insertAt(txt, line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2418 | if re.search(self.linesepRegExp, txt) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2419 | line += 1 |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3030
diff
changeset
|
2420 | self.setCursorPosition(line, col + length) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2421 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2422 | def __configure(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2423 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2424 | Private method to open the configuration dialog. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2425 | """ |
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:
8318
diff
changeset
|
2426 | ericApp().getObject("UserInterface").showPreferences("shellPage") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2427 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2428 | def __find(self): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2429 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2430 | Private slot to show the find widget. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2431 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2432 | txt = self.selectedText() |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2433 | self.__mainWindow.showFind(txt) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2434 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2435 | def __searchNext(self): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2436 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2437 | Private method to search for the next occurrence. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2438 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2439 | if self.__lastSearch: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2440 | self.searchNext(*self.__lastSearch) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2441 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2442 | def searchNext(self, txt, caseSensitive, wholeWord, regexp): |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2443 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2444 | Public method to search the next occurrence of the given text. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2445 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2446 | @param txt text to search for |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2447 | @type str |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2448 | @param caseSensitive flag indicating to perform a case sensitive |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2449 | search |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2450 | @type bool |
1965
96f5a76e1845
Fixed some PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1833
diff
changeset
|
2451 | @param wholeWord flag indicating to search for whole words |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2452 | only |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2453 | @type bool |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2454 | @param regexp flag indicating a regular expression search |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2455 | @type bool |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2456 | """ |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2457 | self.__lastSearch = (txt, caseSensitive, wholeWord, regexp) |
6841
43af1e698c9d
Editor: added extended regular expression support (C++11) as of QScintilla 2.11.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
2458 | posixMode = Preferences.getEditor("SearchRegexpMode") == 0 and regexp |
43af1e698c9d
Editor: added extended regular expression support (C++11) as of QScintilla 2.11.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
2459 | cxx11Mode = Preferences.getEditor("SearchRegexpMode") == 1 and regexp |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
2460 | ok = self.findFirst( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2461 | txt, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2462 | regexp, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2463 | caseSensitive, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2464 | wholeWord, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2465 | True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2466 | forward=True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2467 | posix=posixMode, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2468 | cxx11=cxx11Mode, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2469 | ) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2470 | self.searchStringFound.emit(ok) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2471 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2472 | def __searchPrev(self): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2473 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2474 | Private method to search for the next occurrence. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2475 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2476 | if self.__lastSearch: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2477 | self.searchPrev(*self.__lastSearch) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2478 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2479 | def searchPrev(self, txt, caseSensitive, wholeWord, regexp): |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2480 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2481 | Public method to search the previous occurrence of the given text. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2482 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2483 | @param txt text to search for |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2484 | @type str |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2485 | @param caseSensitive flag indicating to perform a case sensitive |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2486 | search |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2487 | @type bool |
1965
96f5a76e1845
Fixed some PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1833
diff
changeset
|
2488 | @param wholeWord flag indicating to search for whole words |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2489 | only |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2490 | @type bool |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2491 | @param regexp flag indicating a regular expression search |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2492 | @type bool |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2493 | """ |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2494 | self.__lastSearch = (txt, caseSensitive, wholeWord, regexp) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2495 | if self.hasSelectedText(): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2496 | line, index = self.getSelection()[:2] |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2497 | else: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2498 | line, index = -1, -1 |
6841
43af1e698c9d
Editor: added extended regular expression support (C++11) as of QScintilla 2.11.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
2499 | posixMode = Preferences.getEditor("SearchRegexpMode") == 0 and regexp |
43af1e698c9d
Editor: added extended regular expression support (C++11) as of QScintilla 2.11.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
2500 | cxx11Mode = Preferences.getEditor("SearchRegexpMode") == 1 and regexp |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
2501 | ok = self.findFirst( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2502 | txt, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2503 | regexp, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2504 | caseSensitive, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2505 | wholeWord, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2506 | True, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2507 | forward=False, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2508 | line=line, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2509 | index=index, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2510 | posix=posixMode, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2511 | cxx11=cxx11Mode, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2512 | ) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2513 | self.searchStringFound.emit(ok) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2514 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2515 | def historyStyle(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2516 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2517 | Public method to get the shell history style. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2518 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2519 | @return shell history style |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2520 | @rtype ShellHistoryStyle |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2521 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2522 | return self.__historyStyle |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2523 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2524 | def isHistoryEnabled(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2525 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2526 | Public method to check, if the history is enabled. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2527 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2528 | @return flag indicating if history is enabled |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2529 | @rtype bool |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2530 | """ |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
2531 | return self.__historyStyle != ShellHistoryStyle.DISABLED |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2532 | |
8521
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2533 | def saveContents(self): |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2534 | """ |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2535 | Public method to save the current contents to a file. |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2536 | """ |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2537 | txt = self.text() |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2538 | if txt: |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2539 | fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2540 | self, |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2541 | self.tr("Save Shell Contents"), |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2542 | Preferences.getMultiProject("Workspace"), |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2543 | self.tr("Text Files (*.txt);;All Files (*)"), |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2544 | None, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2545 | EricFileDialog.DontConfirmOverwrite, |
8521
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2546 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2547 | |
10157
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2548 | if not fn: |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2549 | return |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2550 | |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2551 | if fn.endswith("."): |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2552 | fn = fn[:-1] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2553 | |
10157
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2554 | fpath = pathlib.Path(fn) |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2555 | if not fpath.suffix: |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2556 | ex = selectedFilter.split("(*")[1].split(")")[0] |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2557 | if ex: |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2558 | fpath = fpath.with_suffix(ex) |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2559 | if fpath.exists(): |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2560 | res = EricMessageBox.yesNo( |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2561 | self, |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2562 | self.tr("Save Shell Contents"), |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2563 | self.tr( |
10167
0a62a4bf749c
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10161
diff
changeset
|
2564 | "<p>The file <b>{0}</b> already exists. Overwrite it?</p>" |
10157
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2565 | ).format(fpath), |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2566 | icon=EricMessageBox.Warning, |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2567 | ) |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2568 | if not res: |
0020603d754b
Corrected an issue in Shell.py causing a cancellation to save the contents to raise an exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
2569 | return |
8521
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2570 | try: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
2571 | with fpath.open("w", encoding="utf-8") as f: |
8521
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2572 | f.write(txt) |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2573 | except (OSError, UnicodeError) as why: |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2574 | EricMessageBox.critical( |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2575 | self, |
4794215f9a3c
Shell: added capability to save the contents of the shell window into a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8481
diff
changeset
|
2576 | self.tr("Save Shell Contents"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2577 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2578 | "<p>The file <b>{0}</b> could not be saved.<br/>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2579 | "Reason: {1}</p>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2580 | ).format(fpath, str(why)), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2581 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2582 | |
10191 | 2583 | @pyqtSlot() |
2584 | def __showHelp(self): | |
2585 | """ | |
2586 | Private slot to show the list of supported special commands (i.e. those | |
2587 | starting with a '%' character. | |
2588 | """ | |
2589 | if self.__helpDialog is None: | |
2590 | helpStr = "<table>" | |
2591 | helpStr += self.tr( | |
2592 | "<tr><td>%restart</td>" | |
2593 | "<td>Kill the shell and start a new one.</td></tr>" | |
2594 | "<tr><td>%clear</td>" | |
2595 | "<td>Clear the display of the shell window.</td></tr>" | |
2596 | "<tr><td>%start [environment]</td>" | |
2597 | "<td>Start a shell for a virtual environment with the given name." | |
10232
fbfb347f7b5b
Corrected a typo in the Shell '%help' text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10191
diff
changeset
|
2598 | " If no name is given, a default shell is started.</td></tr>" |
10191 | 2599 | "<tr><td>%envs<br/>%environments</td>" |
2600 | "<td>Show a list of known virtual environment names.</td></tr>" | |
2601 | "<tr><td>%which</td>" | |
2602 | "<td>Show the name of the active virtual environment.</td></tr>" | |
2603 | "<tr><td>%hist [n]<br/>%history [n]</td>" | |
2604 | "<td>Show the most recent 'n' entries of the history. If 'n' is" | |
2605 | " not given, show all entries.</td></tr>" | |
2606 | "<tr><td>%shist<br/>%shistory<br/>%select_history</td>" | |
2607 | "<td>Select a command from the history.</td></tr>" | |
2608 | "<tr><td>%chist<br/>%chistory<br/>%clear_history</td>" | |
2609 | "<td>Clear the current history after confirmation.</td></tr>" | |
2610 | "<tr><td>%help</td><td>Show this help text.</td></tr>" | |
2611 | ) | |
2612 | if self.__windowed: | |
2613 | helpStr += self.tr( | |
2614 | "<tr><td>%quit<br/>%quit()<br/>%exit<br/>%exit()</td>" | |
2615 | "<td>Exit the application.</td></tr>" | |
2616 | "</table>" | |
2617 | "<p>These commands are available through the window menus as well." | |
2618 | "</p>" | |
2619 | ) | |
2620 | else: | |
2621 | helpStr += self.tr( | |
2622 | "</table>" | |
2623 | "<p>These commands are available through the context menu as well." | |
2624 | "</p>" | |
2625 | ) | |
2626 | ||
2627 | self.__helpDialog = EricSimpleHelpDialog( | |
2628 | title=self.tr("Shell Special Commands"), | |
2629 | label=self.tr("The shell supports these special commands:"), | |
2630 | helpStr=helpStr, | |
2631 | parent=self, | |
2632 | ) | |
2633 | self.__helpDialog.show() | |
2634 | ||
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2635 | ################################################################# |
10619 | 2636 | ## Project Support methods |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2637 | ################################################################# |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2638 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2639 | def __projectOpened(self): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2640 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2641 | Private slot to start the shell for the opened project. |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2642 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2643 | if Preferences.getProject("RestartShellForProject"): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2644 | self.dbs.startClient( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2645 | False, forProject=True, workingDir=self.__project.getProjectPath() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2646 | ) |
6633
c5aab2ede19a
Debugger, Shell: start the shell in the project directory if one is open ([issue290]).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6581
diff
changeset
|
2647 | self.__currentWorkingDirectory = self.__project.getProjectPath() |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2648 | self.__getBanner() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2649 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2650 | def __projectClosed(self): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2651 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2652 | Private slot to restart the default shell when the project is closed. |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2653 | """ |
10276
a9a0cb9c9d0c
Rearranged the shutdown sequence to improve the shutdown behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10232
diff
changeset
|
2654 | if not self.__shuttingDown and Preferences.getProject("RestartShellForProject"): |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2655 | self.dbs.startClient(False) |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2656 | self.__getBanner() |
8169
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
2657 | |
10619 | 2658 | ####################################################################### |
2659 | ## Tool methods | |
2660 | ####################################################################### | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
2661 | |
10619 | 2662 | def __showSource(self): |
2663 | """ | |
2664 | Private method to open an editor for an exception line. | |
10621
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10619
diff
changeset
|
2665 | |
10619 | 2666 | Note: The exception line looks like 'File: /path/of/file.py, Line: 111'. |
2667 | """ | |
2668 | line = self.getCursorPosition()[0] | |
2669 | text = self.text(line).strip() | |
10621
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10619
diff
changeset
|
2670 | match = re.search(r"File: (.*?), Line: (\d+)", text) |
10619 | 2671 | if match: |
2672 | filename = match.group(1) | |
2673 | linenumber = int(match.group(2)) | |
2674 | self.vm.openSourceFile(filename, lineno=linenumber) | |
10621
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10619
diff
changeset
|
2675 | |
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10619
diff
changeset
|
2676 | |
8169
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
2677 | # |
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
2678 | # eflag: noqa = M601 |