Sun, 16 May 2021 20:07:24 +0200
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
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 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7802
diff
changeset
|
3 | # Copyright (c) 2002 - 2021 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 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import sys |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import re |
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
|
12 | 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
|
13 | import enum |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
14 | |
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
|
15 | from PyQt6.QtCore import pyqtSignal, pyqtSlot, QFileInfo, Qt, QEvent |
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
|
16 | from PyQt6.QtGui import QClipboard, QPalette, QFont, QShortcut |
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
|
17 | from PyQt6.QtWidgets import ( |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
18 | QDialog, QInputDialog, QApplication, QMenu, QWidget, QHBoxLayout, |
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
|
19 | QVBoxLayout, QSizePolicy |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
20 | ) |
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
|
21 | from PyQt6.Qsci import QsciScintilla |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
2084
d3f083dd0222
Made the fiveth set of Qt5 compatibility changes (some of the previous changes are backed out due to changes in PyQt4).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2077
diff
changeset
|
23 | from E5Gui.E5Application import e5App |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
24 | from E5Gui import E5MessageBox |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
97
c4086afea02b
Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
26 | from .QsciScintillaCompat import QsciScintillaCompat |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | import Preferences |
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
|
29 | import Utilities |
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
|
30 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | import UI.PixmapCache |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
97
c4086afea02b
Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
33 | from Debugger.DebugClientCapabilities import HasCompleter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
35 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
36 | 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
|
37 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
38 | 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
|
39 | """ |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
40 | 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
|
41 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
42 | Constructor |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
43 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
44 | @param dbs reference to the debug server object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
45 | @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
|
46 | @param vm reference to the viewmanager object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
47 | @type ViewManager |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
48 | @param project reference to the project object |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
49 | @type Project |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
50 | @param horizontal flag indicating a horizontal layout |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
51 | @type bool |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
52 | @param parent parent widget |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
53 | @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
|
54 | """ |
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
|
55 | super().__init__(parent) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
56 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
57 | self.__shell = Shell(dbs, vm, project, False, self) |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
58 | |
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
59 | from UI.SearchWidget import SearchWidget |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
60 | self.__searchWidget = SearchWidget(self.__shell, self, horizontal) |
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
|
61 | self.__searchWidget.setSizePolicy(QSizePolicy.Policy.Fixed, |
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
|
62 | QSizePolicy.Policy.Preferred) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
63 | self.__searchWidget.hide() |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
64 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
65 | 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
|
66 | 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
|
67 | else: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
68 | 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
|
69 | 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
|
70 | 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
|
71 | self.__layout.addWidget(self.__searchWidget) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
72 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
73 | 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
|
74 | self.__searchWidget.searchPrevious.connect(self.__shell.searchPrev) |
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
|
75 | self.__shell.searchStringFound.connect( |
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
|
76 | self.__searchWidget.searchStringFound) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
77 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
78 | 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
|
79 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
80 | Public method to display the search widget. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
81 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
82 | @param txt text to be shown in the combo (string) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
83 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
84 | self.__searchWidget.showFind(txt) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
85 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
86 | 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
|
87 | """ |
6987
3371a03ed0a7
Performed some interface cleanups.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
88 | Public method to get a reference to the shell widget. |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
89 | |
2474
8727522a69d5
Removed the Terminal widget because there are severe issues with certain shells that cannot be fixed and it is a rarely used feature.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2409
diff
changeset
|
90 | @return reference to the shell widget (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
|
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 | 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
|
93 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
94 | |
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
|
95 | class ShellHistoryStyle(enum.Enum): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
96 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
97 | Class defining the shell history styles. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
98 | """ |
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
|
99 | 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
|
100 | 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
|
101 | WINDOWSSTYLE = 2 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
102 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
103 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | class Shell(QsciScintillaCompat): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | Class implementing a graphical Python shell. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
108 | 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
|
109 | Python interpreter. |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
110 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
111 | @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
|
112 | result |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
113 | @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
|
114 | 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
|
115 | @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
|
116 | @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
|
117 | environment of the shell |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | """ |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
119 | searchStringFound = pyqtSignal(bool) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
120 | 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
|
121 | 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
|
122 | virtualEnvironmentChanged = pyqtSignal(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
|
123 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
124 | 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
|
125 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | @param dbs reference to the debug server object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
129 | @type DebugServer |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | @param vm reference to the viewmanager object |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
131 | @type ViewManager |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
132 | @param project reference to the project object |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
133 | @type Project |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
134 | @param windowedVariant flag indicating the shell window variant |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
135 | @type bool |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
136 | @param parent parent widget |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
137 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | """ |
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
|
139 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | self.setUtf8(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | 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
|
143 | 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
|
144 | self.__lastSearch = () |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
145 | self.__windowed = windowedVariant |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
146 | 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
|
147 | self.__currentWorkingDirectory = "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | self.linesepRegExp = r"\r\n|\n|\r" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
151 | self.passive = ((not self.__windowed) and |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
152 | Preferences.getDebugger("PassiveDbgEnabled")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | if self.passive: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
154 | self.setWindowTitle(self.tr('Shell - Passive')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
156 | self.setWindowTitle(self.tr('Shell')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
158 | if self.__windowed: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
159 | self.setWhatsThis(self.tr( |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
160 | """<b>The Shell Window</b>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
161 | """<p>You can use the cursor keys while entering commands.""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
162 | """ There is also a history of commands that can be recalled""" |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
163 | """ using the up and down cursor keys while holding down the""" |
5800
c3379bf35654
Updated translations and source docu for the shell changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5799
diff
changeset
|
164 | """ Ctrl-key. This can be switched to just the up and down""" |
c3379bf35654
Updated translations and source docu for the shell changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5799
diff
changeset
|
165 | """ cursor keys on the Shell page of the configuration""" |
c3379bf35654
Updated translations and source docu for the shell changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5799
diff
changeset
|
166 | """ dialog. Pressing these keys after some text has been""" |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
167 | """ entered will start an incremental search.</p>""" |
8146 | 168 | """<p>The shell has some special commands. '%restart' kills""" |
169 | """ the shell and starts a new one. '%clear' clears the""" | |
170 | """ display of the shell window. '%start' is used to start a""" | |
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
|
171 | """ shell for a virtual environment and should be followed""" |
8146 | 172 | """ by a virtual environment name. '%start' without a""" |
173 | """ virtual environment name starts the default shell.""" | |
174 | """ Available virtual environments may be listed with the""" | |
175 | """ '%envs' or '%environments' commands. The active virtual""" | |
176 | """ environment can be questioned by the '%which' command.""" | |
177 | """ '%quit' or '%exit' is used to exit the application.""" | |
178 | """ These commands (except '%environments', '%envs' and""" | |
179 | """ '%which') are available through the window menus as""" | |
180 | """ well.</p>""" | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
181 | """<p>Pressing the Tab key after some text has been entered""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
182 | """ will show a list of possible completions. The relevant""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
183 | """ entry may be selected from this list. If only one entry""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
184 | """ is available, this will be inserted automatically.</p>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
185 | )) |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
186 | else: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
187 | self.setWhatsThis(self.tr( |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
188 | """<b>The Shell Window</b>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
189 | """<p>This is simply an interpreter running in a window. The""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
190 | """ interpreter is the one that is used to run the program""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
191 | """ being debugged. This means that you can execute any""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
192 | """ command while the program being debugged is running.</p>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
193 | """<p>You can use the cursor keys while entering commands.""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
194 | """ There is also a history of commands that can be recalled""" |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
195 | """ using the up and down cursor keys while holding down the""" |
5800
c3379bf35654
Updated translations and source docu for the shell changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5799
diff
changeset
|
196 | """ Ctrl-key. This can be switched to just the up and down""" |
c3379bf35654
Updated translations and source docu for the shell changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5799
diff
changeset
|
197 | """ cursor keys on the Shell page of the configuration""" |
c3379bf35654
Updated translations and source docu for the shell changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5799
diff
changeset
|
198 | """ dialog. Pressing these keys after some text has been""" |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
199 | """ entered will start an incremental search.</p>""" |
8146 | 200 | """<p>The shell has some special commands. '%restart' kills""" |
201 | """ the shell and starts a new one. '%clear' clears the""" | |
202 | """ display of the shell window. '%start' is used to start a""" | |
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
|
203 | """ shell for a virtual environment and should be followed""" |
8146 | 204 | """ by a virtual environment name. '%start' without a""" |
205 | """ virtual environment name starts the default shell.""" | |
206 | """ Available virtual environments may be listed with the""" | |
207 | """ '%envs' or '%environments' commands. The active virtual""" | |
208 | """ environment can be questioned by the '%which' command.""" | |
209 | """ These commands (except '%environments' and '%envs') are""" | |
210 | """ available through the context menu as well.</p>""" | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
211 | """<p>Pressing the Tab key after some text has been entered""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
212 | """ will show a list of possible completions. The relevant""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
213 | """ entry may be selected from this list. If only one entry""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
214 | """ is available, this will be inserted automatically.</p>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
215 | """<p>In passive debugging mode the shell is only available""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
216 | """ after the program to be debugged has connected to the""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
217 | """ IDE until it has finished. This is indicated by a""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
218 | """ different prompt and by an indication in the window""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
219 | """ caption.</p>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
220 | )) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
222 | 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
|
223 | self.linesChanged.connect(self.__resizeLinenoMargin) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
225 | if self.__windowed: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
226 | self.__showStdOutErr = True |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
227 | else: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
228 | self.__showStdOutErr = Preferences.getShell("ShowStdOutErr") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | if self.__showStdOutErr: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
230 | 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
|
231 | 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
|
232 | 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
|
233 | 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
|
234 | 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
|
235 | 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
|
236 | 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
|
237 | 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
|
238 | 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
|
239 | 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
|
240 | 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
|
241 | 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
|
242 | dbs.mainClientExit.connect(self.__writePrompt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | self.dbs = dbs |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | |
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
|
245 | # 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
|
246 | self.__getSelectedDebuggerId = None |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
247 | |
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
|
248 | # 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
|
249 | 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
|
250 | 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
|
251 | 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
|
252 | 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
|
253 | 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
|
254 | 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
|
255 | 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
|
256 | 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
|
257 | 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
|
258 | 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
|
259 | 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
|
260 | |
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
|
261 | # Initialize instance variables. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | self.__initialise() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | self.prline = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | self.prcol = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | self.inDragDrop = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | self.lexer_ = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | self.completionText = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
269 | self.clientType = '' |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
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"]: |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
280 | Preferences.Prefs.settings.remove("Shell/Histories/" + clientType) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | |
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 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | |
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() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
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 |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
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) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
296 | |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
297 | # Create the history context menu |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
298 | self.hmenu = QMenu(self.tr('History')) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
299 | self.hmenu.addAction(self.tr('Select entry'), self.selectHistory) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
300 | self.hmenu.addAction(self.tr('Show'), self.showHistory) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
301 | self.hmenu.addAction(self.tr('Clear'), self.clearHistory) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
302 | |
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) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
305 | self.menu.addAction(self.tr('Cut'), self.cut) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
306 | self.menu.addAction(self.tr('Copy'), self.copy) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
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()) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
309 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
310 | self.menu.addSeparator() |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
311 | self.menu.addAction(self.tr('Find'), self.__find) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
312 | self.menu.addSeparator() |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
313 | self.menu.addAction(self.tr('Clear'), self.clear) |
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
|
314 | self.menu.addAction(self.tr('Restart'), self.doRestart) |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
315 | self.menu.addAction( |
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
|
316 | 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
|
317 | self.menu.addSeparator() |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
318 | self.menu.addMenu(self.lmenu) |
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
|
319 | 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
|
320 | self.menu.addSeparator() |
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) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | self.__bindLexer() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | self.__setTextDisplay() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | self.__setMargin0() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | # set the autocompletion and calltips function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | self.__setAutoCompletion() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | self.__setCallTips() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7387
diff
changeset
|
331 | self.setWindowIcon(UI.PixmapCache.getIcon("eric")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | self.incrementalSearchString = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | self.incrementalSearchActive = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | self.supportedEditorCommands = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
337 | QsciScintilla.SCI_LINEDELETE: self.__clearCurrentLine, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
338 | QsciScintilla.SCI_TAB: self.__QScintillaTab, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
339 | QsciScintilla.SCI_NEWLINE: self.__QScintillaNewline, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
341 | 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
|
342 | QsciScintilla.SCI_CLEAR: self.__QScintillaDelete, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
343 | QsciScintilla.SCI_DELWORDLEFT: self.__QScintillaDeleteWordLeft, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
344 | QsciScintilla.SCI_DELWORDRIGHT: self.__QScintillaDeleteWordRight, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
345 | 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
|
346 | QsciScintilla.SCI_DELLINERIGHT: self.__QScintillaDeleteLineRight, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
348 | QsciScintilla.SCI_CHARLEFT: self.__QScintillaCharLeft, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
349 | QsciScintilla.SCI_CHARRIGHT: self.__QScintillaCharRight, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
350 | QsciScintilla.SCI_WORDLEFT: self.__QScintillaWordLeft, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
351 | QsciScintilla.SCI_WORDRIGHT: self.__QScintillaWordRight, |
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_VCHOME: self.__QScintillaVCHome, |
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_LINEEND: self.__QScintillaLineEnd, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | |
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
|
355 | QsciScintilla.SCI_LINEUP: self.__QScintillaCursorCommand, |
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
|
356 | QsciScintilla.SCI_LINEDOWN: self.__QScintillaCursorCommand, |
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
|
357 | QsciScintilla.SCI_LINESCROLLUP: self.__QScintillaCursorCommand, |
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
|
358 | QsciScintilla.SCI_LINESCROLLDOWN: self.__QScintillaCursorCommand, |
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
|
359 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
360 | QsciScintilla.SCI_PAGEUP: self.__QScintillaAutoCompletionCommand, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
361 | QsciScintilla.SCI_PAGEDOWN: self.__QScintillaAutoCompletionCommand, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
363 | QsciScintilla.SCI_CHARLEFTEXTEND: self.__QScintillaCharLeftExtend, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
364 | QsciScintilla.SCI_CHARRIGHTEXTEND: self.extendSelectionRight, |
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_WORDLEFTEXTEND: self.__QScintillaWordLeftExtend, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
366 | QsciScintilla.SCI_WORDRIGHTEXTEND: self.extendSelectionWordRight, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
367 | QsciScintilla.SCI_VCHOMEEXTEND: self.__QScintillaVCHomeExtend, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
368 | QsciScintilla.SCI_LINEENDEXTEND: self.extendSelectionToEOL, |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
369 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
370 | QsciScintilla.SCI_CANCEL: self.__QScintillaCancel, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | } |
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
|
372 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
373 | self.__historyNavigateByCursor = ( |
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
|
374 | Preferences.getShell("HistoryNavigateByCursor") |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
375 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | |
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
|
377 | self.__queuedText = '' |
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
|
378 | self.__blockTextProcessing = False |
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
|
379 | self.queueText.connect(self.__concatenateText, |
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
|
380 | Qt.ConnectionType.QueuedConnection) |
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
|
381 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
382 | self.__project = project |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
383 | if self.__project: |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
384 | self.__project.projectOpened.connect(self.__projectOpened) |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
385 | self.__project.projectClosed.connect(self.__projectClosed) |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
386 | |
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
|
387 | self.grabGesture(Qt.GestureType.PinchGesture) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
388 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
389 | def __showStartMenu(self): |
4479
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
390 | """ |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
391 | 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
|
392 | """ |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
393 | self.lmenu.clear() |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
394 | venvManager = e5App().getObject("VirtualEnvManager") |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
395 | for venvName in sorted(venvManager.getVirtualenvNames()): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
396 | self.lmenu.addAction(venvName) |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
397 | if self.__project.isOpen(): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
398 | self.lmenu.addSeparator() |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
399 | self.lmenu.addAction(self.tr("Project")) |
4479
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
400 | |
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
|
401 | 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
|
402 | """ |
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 | 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
|
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 | 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
|
406 | if 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
|
407 | self.setMarginWidth(0, '8' * (len(str(self.lines())) + 1)) |
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 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | def closeShell(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
411 | Public method to shutdown the shell. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
413 | 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
|
414 | self.saveHistory(clientType) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
416 | def __bindLexer(self, language='Python3'): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | Private slot to set the lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | @param language lexer language to set (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | self.language = language |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | if Preferences.getShell("SyntaxHighlightingEnabled"): |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
424 | from . import Lexers |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | self.lexer_ = Lexers.getLexer(self.language, self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | self.lexer_ = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | if self.lexer_ is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | self.setLexer(None) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | font = Preferences.getShell("MonospacedFont") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | self.monospacedStyles(font) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | # get the font for style 0 and set it as the default font |
428
58405c24aa09
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
404
diff
changeset
|
436 | key = 'Scintilla/{0}/style0/font'.format(self.lexer_.language()) |
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
|
437 | fdesc = Preferences.Prefs.settings.value(key) |
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
|
438 | 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
|
439 | font = QFont([fdesc[0]], int(fdesc[1])) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | self.lexer_.setDefaultFont(font) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | self.setLexer(self.lexer_) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | self.lexer_.readSettings(Preferences.Prefs.settings, "Scintilla") |
6858
9d962e654978
Corrected the SubstyledLexer.hasSubStyle() method to SubstyledLexer.hasSubstyle() to be consistent.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6845
diff
changeset
|
443 | if self.lexer_.hasSubstyles(): |
6845
4680adb641e0
Lexer: implemented basic support for sub-styles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6841
diff
changeset
|
444 | self.lexer_.readSubstyles(self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | # initialize the lexer APIs settings |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | api = self.vm.getAPIsManager().getAPIs(self.language) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | if api is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | api = api.getQsciAPIs() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | if api is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | self.lexer_.setAPIs(api) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | |
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
|
453 | 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
|
454 | self.lexer_.setDefaultPaper(self.lexer_.paper(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
|
455 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | def __setMargin0(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | Private method to configure margin 0. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | # set the settings for all margins |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | self.setMarginsFont(Preferences.getShell("MarginsFont")) |
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
|
462 | self.setMarginsForegroundColor( |
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
|
463 | Preferences.getEditorColour("MarginsForeground")) |
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
|
464 | self.setMarginsBackgroundColor( |
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
|
465 | Preferences.getEditorColour("MarginsBackground")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | # set margin 0 settings |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | linenoMargin = Preferences.getShell("LinenoMargin") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | self.setMarginLineNumbers(0, linenoMargin) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | 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
|
471 | self.__resizeLinenoMargin() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | self.setMarginWidth(0, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | # disable margins 1 and 2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | self.setMarginWidth(1, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | self.setMarginWidth(2, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | def __setTextDisplay(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | Private method to configure the text display. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | self.setTabWidth(Preferences.getEditor("TabWidth")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | if Preferences.getEditor("ShowWhitespace"): |
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
|
485 | self.setWhitespaceVisibility( |
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
|
486 | 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( |
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
|
489 | Preferences.getEditorColour("WhitespaceForeground")) |
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
|
490 | self.setWhitespaceBackgroundColor( |
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 | Preferences.getEditorColour("WhitespaceBackground")) |
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
|
492 | self.setWhitespaceSize( |
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
|
493 | Preferences.getEditor("WhitespaceSize")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | 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
|
495 | self.setWhitespaceVisibility( |
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
|
496 | 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( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | Preferences.getEditorColour("MatchingBrace")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | self.setMatchedBraceBackgroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | Preferences.getEditorColour("MatchingBraceBack")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | self.setUnmatchedBraceForegroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | Preferences.getEditorColour("NonmatchingBrace")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | self.setUnmatchedBraceBackgroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | Preferences.getEditorColour("NonmatchingBraceBack")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | if Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
511 | self.setSelectionBackgroundColor( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | Preferences.getEditorColour("SelectionBackground")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
514 | self.setSelectionBackgroundColor( |
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
|
515 | QApplication.palette().color(QPalette.ColorRole.Highlight)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | if Preferences.getEditor("ColourizeSelText"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | self.resetSelectionForegroundColor() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | elif Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
519 | self.setSelectionForegroundColor( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | Preferences.getEditorColour("SelectionForeground")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
522 | self.setSelectionForegroundColor( |
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
|
523 | QApplication.palette().color( |
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
|
524 | QPalette.ColorRole.HighlightedText)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | self.setSelectionToEol(Preferences.getEditor("ExtendSelectionToEol")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | self.setCaretForegroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | 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
|
528 | self.setCaretLineVisible(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | self.caretWidth = Preferences.getEditor("CaretWidth") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | self.setCaretWidth(self.caretWidth) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | 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
|
532 | self.setWrapMode(QsciScintilla.WrapMode.WrapWord) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | 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
|
534 | self.setWrapMode(QsciScintilla.WrapMode.WrapNone) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | self.useMonospaced = Preferences.getShell("UseMonospacedFont") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | self.__setMonospaced(self.useMonospaced) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | |
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
|
538 | self.setCursorFlashTime(QApplication.cursorFlashTime()) |
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
|
539 | |
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
|
540 | 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
|
541 | 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
|
542 | self.setPaper(Preferences.getEditorColour("EditAreaBackground")) |
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
|
543 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | def __setMonospaced(self, on): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | Private method to set/reset a monospaced font. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | @param on flag to indicate usage of a monospace font (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | 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
|
551 | 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
|
552 | 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
|
553 | self.monospacedStyles(f) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | if not self.lexer_: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | self.clearStyles() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | self.__setMargin0() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | self.setFont(Preferences.getShell("MonospacedFont")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
560 | self.useMonospaced = on |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
562 | def __setAutoCompletion(self, language='Python'): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | Private method to configure the autocompletion function. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | @param language of the autocompletion set to set (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | self.setAutoCompletionCaseSensitivity( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | Preferences.getEditor("AutoCompletionCaseSensitivity")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | self.setAutoCompletionThreshold(-1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | self.racEnabled = Preferences.getShell("AutoCompletionEnabled") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | |
6305
7652b925c25e
Resize auto complete list box to fit with contents.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6086
diff
changeset
|
574 | self.maxLines = Preferences.getEditor("AutoCompletionMaxLines") |
7652b925c25e
Resize auto complete list box to fit with contents.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6086
diff
changeset
|
575 | self.maxChars = Preferences.getEditor("AutoCompletionMaxChars") |
7652b925c25e
Resize auto complete list box to fit with contents.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
6086
diff
changeset
|
576 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
577 | def __setCallTips(self, language='Python'): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
579 | Private method to configure the calltips function. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
580 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
581 | @param language of the calltips set to set (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | if Preferences.getShell("CallTipsEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | self.setCallTipsBackgroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | Preferences.getEditorColour("CallTipsBackground")) |
7536
861e46f99d65
Editor, Shell: added configuration option for the calltips foreground and highlight color.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
586 | self.setCallTipsForegroundColor( |
861e46f99d65
Editor, Shell: added configuration option for the calltips foreground and highlight color.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
587 | Preferences.getEditorColour("CallTipsForeground")) |
861e46f99d65
Editor, Shell: added configuration option for the calltips foreground and highlight color.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
588 | self.setCallTipsHighlightColor( |
861e46f99d65
Editor, Shell: added configuration option for the calltips foreground and highlight color.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
589 | Preferences.getEditorColour("CallTipsHighlight")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | self.setCallTipsVisible(Preferences.getEditor("CallTipsVisible")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | 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
|
592 | if calltipsStyle == QsciScintilla.CallTipsStyle.CallTipsNoContext: |
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
|
593 | self.setCallTipsStyle( |
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
|
594 | QsciScintilla.CallTipsStyle.CallTipsNoContext) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
595 | elif ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
596 | 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
|
597 | QsciScintilla.CallTipsStyle.CallTipsNoAutoCompletionContext |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
598 | ): |
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
|
599 | self.setCallTipsStyle( |
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
|
600 | QsciScintilla.CallTipsStyle |
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 | .CallTipsNoAutoCompletionContext) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | 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
|
603 | self.setCallTipsStyle( |
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
|
604 | QsciScintilla.CallTipsStyle.CallTipsContext) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
605 | 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
|
606 | self.setCallTipsStyle(QsciScintilla.CallTipsStyle.CallTipsNone) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
607 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
608 | def setDebuggerUI(self, ui): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | Public method to set the debugger UI. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | @param ui reference to the debugger UI object (DebugUI) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | """ |
482
4650a72c307a
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
481
diff
changeset
|
614 | 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
|
615 | self.registerDebuggerIdMethod(ui.getSelectedDebuggerId) |
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
|
616 | |
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
|
617 | 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
|
618 | """ |
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
|
619 | 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
|
620 | to. |
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
|
621 | |
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
|
622 | @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
|
623 | @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
|
624 | """ |
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 | self.__getSelectedDebuggerId = method |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | def __initialise(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | 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
|
630 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
631 | self.buff = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
632 | self.inContinue = False |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
633 | self.__inRawMode = False |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
634 | self.__echoInput = True |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
635 | self.__rawModeDebuggerId = None |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
636 | self.__rawModeQueue = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | self.clientCapabilities = 0 |
1056
a3eb3c9a7e4b
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
638 | self.inCommandExecution = False |
a3eb3c9a7e4b
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
639 | self.interruptCommandExecution = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
640 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
641 | def __clientCapabilities(self, cap, clType, venvName): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | Private slot to handle the reporting of the clients capabilities. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
645 | @param cap client capabilities |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
646 | @type int |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
647 | @param clType type of the debug client |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
648 | @type str |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
649 | @param venvName name of the virtual environment |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
650 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
652 | self.clientCapabilities = cap |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
653 | self.__currentVenv = venvName |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
654 | if clType != self.clientType: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | self.clientType = clType |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
656 | 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
|
657 | self.__setTextDisplay() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
658 | self.__setMargin0() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
659 | self.__setAutoCompletion(self.clientType) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
660 | self.__setCallTips(self.clientType) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
661 | self.racEnabled = ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
662 | Preferences.getShell("AutoCompletionEnabled") and |
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
|
663 | (cap & HasCompleter) > 0 |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
664 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
665 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
666 | if self.clientType not in self.__historyLists: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | # load history list |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
668 | self.loadHistory(self.clientType) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
669 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
670 | self.__setHistoryIndex() |
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
|
671 | |
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
|
672 | 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
|
673 | Preferences.setShell("LastVirtualEnvironment", venvName) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
674 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
675 | def __setHistoryIndex(self, index=None): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
676 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
677 | Private method to set the initial history index. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
678 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
679 | @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
|
680 | @type int or None |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
681 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
682 | if index is None: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
683 | # determine based on history style |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
684 | if ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
685 | self.clientType and |
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
|
686 | self.__historyStyle == ShellHistoryStyle.WINDOWSSTYLE |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
687 | ): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
688 | idx = int(Preferences.Prefs.settings.value( |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
689 | "Shell/HistoryIndexes/" + self.clientType, -1)) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
690 | if idx >= len(self.__history): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
691 | idx = -1 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
692 | self.__histidx = idx |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
693 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
694 | self.__histidx = -1 |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
695 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
696 | self.__histidx = index |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
697 | if self.__histidx >= len(self.__history): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
698 | self.__histidx = -1 |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
699 | if ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
700 | self.clientType and |
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
|
701 | self.__historyStyle == ShellHistoryStyle.WINDOWSSTYLE |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
702 | ): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
703 | Preferences.Prefs.settings.setValue( |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
704 | "Shell/HistoryIndexes/" + self.clientType, self.__histidx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
705 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
706 | def __isHistoryIndexValid(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
707 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
708 | Private method to test, if the history index is valid. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
709 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
710 | @return flag indicating validity |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
711 | @rtype bool |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
712 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
713 | return (0 <= self.__histidx < len(self.__history)) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
714 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
715 | def getHistoryIndex(self): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
716 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
717 | Public method to get the current value of the history index. |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
718 | |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
719 | @return history index |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
720 | @rtype int |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
721 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
722 | return self.__histidx |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
723 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
724 | def loadHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
725 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
726 | Public method to load the history for the given client type. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
727 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
728 | @param clientType type of the debug client (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
729 | """ |
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
|
730 | hl = Preferences.Prefs.settings.value("Shell/Histories/" + clientType) |
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
|
731 | if hl is not None: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
732 | self.__historyLists[clientType] = hl[-self.__maxHistoryEntries:] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
733 | else: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
734 | self.__historyLists[clientType] = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
735 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
736 | def reloadHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
737 | """ |
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
|
738 | 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
|
739 | type. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
740 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
741 | self.loadHistory(self.clientType) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
742 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
743 | self.__setHistoryIndex() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
744 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
745 | def saveHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
747 | Public method to save the history for the given client type. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
748 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
749 | @param clientType type of the debug client (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
750 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
751 | if clientType in self.__historyLists: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
752 | Preferences.Prefs.settings.setValue( |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
753 | "Shell/Histories/" + clientType, |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
754 | self.__historyLists[clientType]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
755 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
756 | def getHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
758 | Public method to get the history for the given client type. |
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 | @param clientType type of the debug client (string). |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
761 | If it is None, the current history is returned. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
762 | @return reference to the history list (list of strings) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
763 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
764 | if clientType is None: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
765 | return self.__history |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
766 | elif clientType in self.__historyLists: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
767 | return self.__historyLists[clientType] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
768 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
769 | return [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
771 | def clearHistory(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
773 | Public slot to clear the current history. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | """ |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
775 | if self.clientType: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
776 | self.__historyLists[self.clientType] = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
777 | 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
|
778 | else: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
779 | self.__history = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
780 | self.__setHistoryIndex(index=-1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
781 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
782 | def selectHistory(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
783 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
784 | 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
|
785 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
786 | current = self.__histidx |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
787 | if current == -1: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
788 | current = len(self.__history) - 1 |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
789 | cmd, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
790 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
791 | self.tr("Select History"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
792 | self.tr("Select the history entry to execute" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
793 | " (most recent shown last)."), |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
794 | self.__history, |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
795 | current, False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
796 | if ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | self.__insertHistory(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
798 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
799 | def showHistory(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
800 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
801 | Public slot to show the shell history dialog. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
803 | from .ShellHistoryDialog import ShellHistoryDialog |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
804 | dlg = ShellHistoryDialog(self.__history, self.vm, self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8138
diff
changeset
|
805 | if dlg.exec() == QDialog.DialogCode.Accepted: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
806 | 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
|
807 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
808 | self.__setHistoryIndex(index=idx) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
809 | |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
810 | 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
|
811 | """ |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
812 | 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
|
813 | """ |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
814 | Preferences.Prefs.settings.beginGroup("Shell/Histories") |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
815 | for clientType in Preferences.Prefs.settings.childKeys(): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
816 | 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
|
817 | self.saveHistory(clientType) |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
818 | Preferences.Prefs.settings.endGroup() |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
819 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
820 | self.clearHistory() |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
821 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
822 | def getClientType(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
823 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
824 | Public slot to get the clients type. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
825 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
826 | @return client type (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
827 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
828 | return self.clientType |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
829 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
830 | def __getBanner(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
831 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
832 | Private method to get the banner for the remote interpreter. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
833 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
834 | 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
|
835 | debug client side. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
836 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
837 | if self.passive: |
6639
86f10cfa3653
Shell: fixed an issue calling __writeBanner() with too few arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6633
diff
changeset
|
838 | self.__writeBanner('', '', '', '') |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
839 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
840 | self.dbs.remoteBanner() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
841 | |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7408
diff
changeset
|
842 | def __writeBanner(self, version, platform, venvName): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
843 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | Private method to write a banner with info from the debug client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
845 | |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
846 | @param version interpreter version string |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
847 | @type str |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
848 | @param platform platform of the remote interpreter |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
849 | @type str |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
850 | @param venvName name of the virtual environment |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
851 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | """ |
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
|
853 | super().clear() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
854 | if self.passive and not self.dbs.isConnected(): |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
855 | self.__write(self.tr('Passive Debug Mode')) |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
856 | self.__write(self.tr('\nNot connected')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | else: |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
858 | self.__currentVenv = venvName |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
859 | version = version.replace("#", self.tr("No.")) |
7412
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7408
diff
changeset
|
860 | if platform != "": |
0a995393d2ba
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7408
diff
changeset
|
861 | self.__write(self.tr('{0} on {1}').format(version, platform)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
862 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | self.__write(version) |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
864 | if venvName: |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
865 | self.__write("\n[{0}]".format(venvName)) |
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
|
866 | |
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
|
867 | 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
|
868 | Preferences.setShell("LastVirtualEnvironment", venvName) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | self.__write('\n') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
870 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
871 | self.__write(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
872 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
873 | def __writePrompt(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
874 | """ |
6580
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
875 | 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
|
876 | """ |
6580
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
877 | self.queueText.emit(self.inContinue and sys.ps2 or sys.ps1) |
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
878 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | def __clientStatement(self, more): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
880 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | Private method to handle the response from the debugger client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
882 | |
7379
72a72fd56494
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
883 | @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
|
884 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | """ |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
886 | if not self.__inRawMode: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | self.inContinue = more |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
888 | self.__writePrompt() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | self.inCommandExecution = False |
6580
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
890 | |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
891 | 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
|
892 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
893 | Private method to handle an exception of the client. |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
894 | |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
895 | @param exceptionType type of exception raised (string) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
896 | @param exceptionMessage message given by the exception (string) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
897 | @param stackTrace list of stack entries (list of string) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
898 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
899 | self .__clientError() |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
900 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
901 | if ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
902 | not self.__windowed and |
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
|
903 | Preferences.getDebugger("ShowExceptionInShell") and |
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
|
904 | exceptionType |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
905 | ): |
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
|
906 | 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
|
907 | self.__write( |
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
|
908 | self.tr('Exception "{0}"\n{1}\nFile: {2}, Line: {3}\n') |
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
|
909 | .format( |
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
|
910 | 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
|
911 | 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
|
912 | stackTrace[0][0], |
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
|
913 | stackTrace[0][1] |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
914 | ) |
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
|
915 | ) |
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
|
916 | 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
|
917 | self.__write( |
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
|
918 | self.tr('Exception "{0}"\n{1}\n') |
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
|
919 | .format( |
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
|
920 | 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
|
921 | 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
|
922 | ) |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
923 | |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
924 | 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
|
925 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
926 | Private method to handle a syntax error in the debugged program. |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
927 | |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
928 | @param message message of the syntax error (string) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
929 | @param filename translated filename of the syntax error position |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
930 | (string) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
931 | @param lineNo line number of the syntax error position (integer) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
932 | @param characterNo character number of the syntax error position |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
933 | (integer) |
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 | self .__clientError() |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
936 | |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
937 | if ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
938 | not self.__windowed and |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
939 | Preferences.getDebugger("ShowExceptionInShell") |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
940 | ): |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
941 | if message is None: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
942 | 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
|
943 | else: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
944 | self.__write( |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
945 | self.tr('Syntax error "{1}" in file {0} at line {2},' |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
946 | ' character {3}.\n') |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
947 | .format(filename, message, lineNo, characterNo) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
948 | ) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
949 | |
4366
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
950 | 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
|
951 | """ |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
952 | Private method to handle a signal generated on the client side. |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
953 | |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
954 | @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
|
955 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
956 | @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
|
957 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
958 | @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
|
959 | @type int |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
960 | @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
|
961 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
962 | @param funcArgs function arguments |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
963 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
964 | """ |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
965 | self.__clientError() |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
966 | |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
967 | self.__write( |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
968 | self.tr("""Signal "{0}" generated in file {1} at line {2}.\n""" |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
969 | """Function: {3}({4})""") |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
970 | .format(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
|
971 | ) |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
972 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
973 | def __clientError(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
974 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
975 | Private method to handle an error in the client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
976 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
977 | self.inCommandExecution = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
978 | self.interruptCommandExecution = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
979 | self.inContinue = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
980 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
981 | def __getEndPos(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
982 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
983 | Private method to return the line and column of the last character. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
984 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | @return tuple of two values (int, int) giving the line and column |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
986 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
987 | 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
|
988 | return (line, len(self.text(line))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
989 | |
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
|
990 | def __writeQueued(self, s): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
991 | """ |
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
|
992 | Private method to display some text using a write queue. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
993 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
994 | @param s text to be displayed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
995 | """ |
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
|
996 | 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
|
997 | |
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
|
998 | 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
|
999 | """ |
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
|
1000 | Private slot to queue text and process it in one step. |
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
|
1001 | |
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
|
1002 | @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
|
1003 | @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
|
1004 | """ |
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
|
1005 | 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
|
1006 | 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
|
1007 | return |
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
|
1008 | |
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
|
1009 | 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
|
1010 | # 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
|
1011 | QApplication.processEvents() |
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
|
1012 | |
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
|
1013 | # Finally process the accumulated text |
7387
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1014 | self.__flushQueuedText() |
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1015 | |
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1016 | def __flushQueuedText(self): |
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1017 | """ |
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1018 | 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
|
1019 | """ |
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
|
1020 | self.__write(self.__queuedText) |
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
|
1021 | |
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
|
1022 | self.__queuedText = '' |
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
|
1023 | self.__blockTextProcessing = False |
6580
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
1024 | |
082d58e2415e
Shell: another attempt to properly fix the 'writing prompt' issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6578
diff
changeset
|
1025 | # 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
|
1026 | 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
|
1027 | self.SendScintilla(QsciScintilla.SCI_CHARRIGHT) |
7387
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1028 | |
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
|
1029 | 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
|
1030 | """ |
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
|
1031 | Private method to display some text without queuing. |
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
|
1032 | |
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
|
1033 | @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
|
1034 | @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
|
1035 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1036 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1037 | 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
|
1038 | self.insert(Utilities.filterAnsiSequences(s)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1039 | self.prline, self.prcol = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1040 | self.ensureCursorVisible() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1041 | self.ensureLineVisible(self.prline) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1042 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1043 | def __writeStdOut(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1044 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1045 | Private method to display some text with StdOut label. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1046 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1047 | @param s text to be displayed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1048 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1049 | self.__write(self.tr("StdOut: {0}").format(s)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1050 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1051 | def __writeStdErr(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1052 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1053 | Private method to display some text with StdErr label. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1054 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1055 | @param s text to be displayed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1056 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1057 | self.__write(self.tr("StdErr: {0}").format(s)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1058 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1059 | def __raw_input(self, prompt, echo, debuggerId): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1060 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1061 | Private method to handle raw input. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1062 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1063 | @param prompt the input prompt |
7387
2fb33905ff6b
Shell: fixed the raw_input method again.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7378
diff
changeset
|
1064 | @type str |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1065 | @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
|
1066 | @type bool |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1067 | @param debuggerId ID of the debugger backend |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1068 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1069 | """ |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1070 | if self.__inRawMode: |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1071 | # we are processing another raw input event already |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1072 | self.__rawModeQueue.append((debuggerId, prompt, echo)) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1073 | else: |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1074 | self.setFocus() |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1075 | self.__inRawMode = True |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1076 | self.__echoInput = echo |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1077 | self.__rawModeDebuggerId = debuggerId |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1078 | |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1079 | # 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
|
1080 | QApplication.processEvents() |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1081 | self.__flushQueuedText() |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1082 | |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1083 | 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
|
1084 | line, col = self.__getEndPos() |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1085 | self.setCursorPosition(line, col) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1086 | buf = self.text(line) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1087 | if buf.startswith(sys.ps1): |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1088 | buf = buf.replace(sys.ps1, "") |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1089 | if buf.startswith(sys.ps2): |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1090 | buf = buf.replace(sys.ps2, "") |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1091 | self.prompt = buf |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1092 | # move cursor to end of line |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1093 | self.moveCursorToEOL() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1094 | |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1095 | def paste(self, lines=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1096 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1097 | Public slot to handle the paste action. |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1098 | |
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1099 | @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
|
1100 | @type list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1101 | """ |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1102 | 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
|
1103 | 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
|
1104 | 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
|
1105 | if lastLine.startswith(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
|
1106 | lastLine = lastLine[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
|
1107 | 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
|
1108 | 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
|
1109 | elif lastLine.startswith(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
|
1110 | lastLine = lastLine[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
|
1111 | 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
|
1112 | 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
|
1113 | 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
|
1114 | 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
|
1115 | 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
|
1116 | 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
|
1117 | 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
|
1118 | |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1119 | # 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
|
1120 | 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
|
1121 | 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
|
1122 | 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
|
1123 | 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
|
1124 | 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
|
1125 | 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
|
1126 | 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
|
1127 | 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
|
1128 | 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
|
1129 | 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
|
1130 | 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
|
1131 | 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
|
1132 | |
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
|
1133 | 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
|
1134 | self.deleteLineRight() |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1135 | |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1136 | 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
|
1137 | lines = QApplication.clipboard().text() |
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1138 | |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1139 | 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
|
1140 | 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
|
1141 | 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
|
1142 | 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
|
1143 | self.setCursorPosition(line, pos) |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1144 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1145 | def executeLines(self, lines, historyIndex=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1146 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1147 | Public method to execute a set of lines as multiple commands. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1148 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1149 | @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
|
1150 | single commands |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1151 | @type str |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1152 | @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
|
1153 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1154 | """ |
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
|
1155 | 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
|
1156 | 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
|
1157 | return |
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 | |
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
|
1159 | 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
|
1160 | 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
|
1161 | if line.startswith(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
|
1162 | line = line[len(sys.ps1) + indentLen:] |
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 | elif line.startswith(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
|
1164 | line = line[len(sys.ps2) + indentLen:] |
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 | 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
|
1166 | line = line[indentLen:] |
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
|
1167 | |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1168 | if line.endswith(("\r\n", "\r", "\n")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1169 | fullline = True |
7990
3b865f4b7dff
Shell: corrected inserting (pasting) text via the middel mouse button.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1170 | cmd = line.rstrip() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1171 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1172 | fullline = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1173 | |
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 | self.incrementalSearchActive = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1175 | self.__insertTextAtEnd(line) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1176 | 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
|
1177 | self.incrementalSearchActive = False |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1178 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1179 | 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
|
1180 | if self.interruptCommandExecution: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1181 | self.__executeCommand("") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1182 | break |
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
|
1183 | |
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
|
1184 | 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
|
1185 | """ |
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
|
1186 | Private method to determine the indentation length of the given line. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1187 | |
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
|
1188 | @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
|
1189 | @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
|
1190 | @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
|
1191 | @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
|
1192 | """ |
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
|
1193 | if line.startswith(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
|
1194 | line = line[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
|
1195 | # 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
|
1196 | 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
|
1197 | return indentLen |
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
|
1198 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1199 | def __clearCurrentLine(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1200 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1201 | Private method to clear the line containing the cursor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1202 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1203 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1204 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1205 | col = len(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1206 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1207 | col = len(sys.ps2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1208 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1209 | col = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1210 | self.setCursorPosition(line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1211 | self.deleteLineRight() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1212 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1213 | def __insertText(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1214 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1215 | Private method to insert some text at the current cursor position. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1216 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1217 | @param s text to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1218 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1219 | 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
|
1220 | self.insertAt(Utilities.filterAnsiSequences(s), line, col) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1221 | self.setCursorPosition(line, col + len(s)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1222 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1223 | def __insertTextAtEnd(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1224 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1225 | Private method to insert some text at the end of the command line. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1226 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1227 | @param s text to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1228 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1229 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1230 | 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
|
1231 | 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
|
1232 | self.prline, _ = self.getCursorPosition() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1233 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1234 | def __insertTextNoEcho(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1235 | """ |
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
|
1236 | 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
|
1237 | echoing it. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1238 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1239 | @param s text to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1240 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1241 | self.buff += s |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1242 | self.prline, self.prcol = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1243 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1244 | def mousePressEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1245 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1246 | Protected method to handle the mouse press event. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1247 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1248 | @param event the mouse press event (QMouseEvent) |
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 | self.setFocus() |
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
|
1251 | 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
|
1252 | 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
|
1253 | self.paste(lines) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1254 | 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
|
1255 | super().mousePressEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1256 | |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1257 | 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
|
1258 | """ |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1259 | Protected method to handle wheel events. |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1260 | |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1261 | @param evt reference to the wheel event (QWheelEvent) |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1262 | """ |
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
|
1263 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
7198
684261ef2165
Removed the Qt4 runtime stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6987
diff
changeset
|
1264 | 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
|
1265 | 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
|
1266 | 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
|
1267 | 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
|
1268 | self.zoomIn() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1269 | evt.accept() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1270 | return |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1271 | |
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
|
1272 | super().wheelEvent(evt) |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1273 | |
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
|
1274 | 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
|
1275 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1276 | Public method handling events. |
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
|
1277 | |
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
|
1278 | @param evt reference to the event (QEvent) |
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
|
1279 | @return flag indicating, if the event was handled (boolean) |
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
|
1280 | """ |
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
|
1281 | 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
|
1282 | 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
|
1283 | return True |
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
|
1284 | |
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
|
1285 | return super().event(evt) |
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
|
1286 | |
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
|
1287 | 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
|
1288 | """ |
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
|
1289 | Protected method handling gesture events. |
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
|
1290 | |
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
|
1291 | @param evt reference to the gesture event (QGestureEvent |
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
|
1292 | """ |
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
|
1293 | 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
|
1294 | 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
|
1295 | 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
|
1296 | zoom = (self.getZoom() + 10) / 10.0 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1297 | 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
|
1298 | elif pinch.state() == Qt.GestureState.GestureUpdated: |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1299 | 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
|
1300 | 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
|
1301 | zoom = -9 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1302 | 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
|
1303 | 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
|
1304 | zoom = 20 |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5610
diff
changeset
|
1305 | 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
|
1306 | 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
|
1307 | evt.accept() |
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
|
1308 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1309 | def editorCommand(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1310 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1311 | Public method to perform an editor command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1312 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1313 | @param cmd the scintilla command to be performed |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1314 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1315 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1316 | self.supportedEditorCommands[cmd]() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1317 | except TypeError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1318 | self.supportedEditorCommands[cmd](cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1319 | except KeyError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1320 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1321 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1322 | def __isCursorOnLastLine(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1323 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1324 | Private method to check, if the cursor is on the last line. |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2940
diff
changeset
|
1325 | |
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2940
diff
changeset
|
1326 | @return flag indicating that the cursor is on the last line (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1327 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1328 | cline, ccol = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1329 | return cline == self.lines() - 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1330 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1331 | def keyPressEvent(self, ev): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1332 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1333 | Protected method to handle the user input a key at a time. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1334 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1335 | @param ev key event (QKeyEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1336 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1337 | txt = ev.text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1338 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1339 | # See it is text to insert. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1340 | if len(txt) and txt >= " ": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1341 | if not self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1342 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1343 | self.setCursorPosition(line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1344 | self.prline, self.prcol = self.getCursorPosition() |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1345 | if self.__echoInput: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1346 | 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
|
1347 | super().keyPressEvent(ev) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1348 | self.incrementalSearchActive = True |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1349 | if ac and self.racEnabled: |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1350 | self.dbs.remoteCompletion( |
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
|
1351 | self.__getSelectedDebuggerId(), |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1352 | self.completionText + txt |
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1353 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1354 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1355 | self.__insertTextNoEcho(txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1356 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1357 | ev.ignore() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1358 | |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1359 | 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
|
1360 | """ |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1361 | Private method to send the command to QScintilla. |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1362 | |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1363 | @param cmd QScintilla command |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1364 | """ |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1365 | self.SendScintilla(cmd) |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1366 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1367 | def __QScintillaTab(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1368 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1369 | Private method to handle the Tab key. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1370 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1371 | @param cmd QScintilla command |
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 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1374 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1375 | elif self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1376 | 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
|
1377 | 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
|
1378 | 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
|
1379 | 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
|
1380 | 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
|
1381 | buf = buf.replace(sys.ps2, "") |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1382 | 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
|
1383 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1384 | elif self.racEnabled: |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1385 | self.dbs.remoteCompletion( |
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
|
1386 | self.__getSelectedDebuggerId(), |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1387 | buf |
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1388 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1389 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1390 | def __QScintillaLeftDeleteCommand(self, method): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1391 | """ |
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
|
1392 | 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
|
1393 | the left. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1394 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1395 | @param method shell method to execute |
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 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1398 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1399 | db = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1400 | ac = self.isListActive() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1401 | oldLength = len(self.text(line)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1402 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1403 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1404 | if col > len(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1405 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1406 | db = 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1407 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1408 | if col > len(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1409 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1410 | db = 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1411 | elif col > 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1412 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1413 | db = 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1414 | 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
|
1415 | delta = len(self.text(line)) - oldLength |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1416 | self.dbs.remoteCompletion( |
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
|
1417 | self.__getSelectedDebuggerId(), |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1418 | self.completionText[:delta] |
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
1419 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1420 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1421 | def __QScintillaDeleteBack(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1422 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1423 | Private method to handle the Backspace key. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1424 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1425 | self.__QScintillaLeftDeleteCommand(self.deleteBack) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1426 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1427 | def __QScintillaDeleteWordLeft(self): |
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 Delete Word Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1430 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1431 | self.__QScintillaLeftDeleteCommand(self.deleteWordLeft) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1432 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1433 | def __QScintillaDelete(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1434 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1435 | Private method to handle the delete command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1436 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1437 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1438 | if self.hasSelectedText(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1439 | lineFrom, indexFrom, lineTo, indexTo = self.getSelection() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1440 | if self.text(lineFrom).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1441 | if indexFrom >= len(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1442 | self.delete() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1443 | elif self.text(lineFrom).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1444 | if indexFrom >= len(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1445 | self.delete() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1446 | elif indexFrom >= 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1447 | self.delete() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1448 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1449 | self.delete() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1450 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1451 | def __QScintillaDeleteLineLeft(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1452 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1453 | Private method to handle the Delete Line Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1454 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1455 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1456 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1457 | self.cancelList() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1458 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1459 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1460 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1461 | prompt = sys.ps1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1462 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1463 | prompt = sys.ps2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1464 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1465 | prompt = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1466 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1467 | self.deleteLineLeft() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1468 | self.insertAt(prompt, line, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1469 | self.setCursorPosition(line, len(prompt)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1470 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1471 | def __QScintillaNewline(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1472 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1473 | Private method to handle the Return key. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1474 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1475 | @param cmd QScintilla command |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1476 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1477 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1478 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1479 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1480 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1481 | self.incrementalSearchString = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1482 | self.incrementalSearchActive = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1483 | 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
|
1484 | 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
|
1485 | 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
|
1486 | 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
|
1487 | 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
|
1488 | 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
|
1489 | buf = buf.replace(sys.ps2, "") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1490 | self.insert('\n') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1491 | 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
|
1492 | else: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1493 | txt = "" |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1494 | 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
|
1495 | 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
|
1496 | 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
|
1497 | 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
|
1498 | 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
|
1499 | 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
|
1500 | 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
|
1501 | else: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1502 | txt = self.text(line)[col:].rstrip() |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1503 | |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1504 | 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
|
1505 | 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
|
1506 | 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
|
1507 | self.insert(txt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1508 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1509 | def __QScintillaLeftCommand(self, method, allLinesAllowed=False): |
0
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 a QScintilla command working to the left. |
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 | @param method shell method to execute |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1514 | @param allLinesAllowed flag indicating that the command may be executed |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1515 | on any line (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1516 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1517 | if self.__isCursorOnLastLine() or allLinesAllowed: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1518 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1519 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1520 | if col > len(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1521 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1522 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1523 | if col > len(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1524 | method() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1525 | elif col > 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1526 | method() |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1527 | else: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1528 | method() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1529 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1530 | def __QScintillaCharLeft(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1531 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1532 | Private method to handle the Cursor Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1533 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1534 | self.__QScintillaLeftCommand(self.moveCursorLeft) |
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 | def __QScintillaWordLeft(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1537 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1538 | Private method to handle the Cursor Word Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1539 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1540 | self.__QScintillaLeftCommand(self.moveCursorWordLeft) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1541 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1542 | def __QScintillaRightCommand(self, method): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1543 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1544 | Private method to handle a QScintilla command working to the right. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1545 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1546 | @param method shell method to execute |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1547 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1548 | if self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1549 | method() |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1550 | else: |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1551 | method() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1552 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1553 | def __QScintillaCharRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1554 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1555 | Private method to handle the Cursor Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1556 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1557 | self.__QScintillaRightCommand(self.moveCursorRight) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1558 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1559 | def __QScintillaWordRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1560 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1561 | Private method to handle the Cursor Word Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1562 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1563 | self.__QScintillaRightCommand(self.moveCursorWordRight) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1564 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1565 | def __QScintillaDeleteWordRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1566 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1567 | Private method to handle the Delete Word Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1568 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1569 | self.__QScintillaRightCommand(self.deleteWordRight) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1570 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1571 | def __QScintillaDeleteLineRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1572 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1573 | Private method to handle the Delete Line Right command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1574 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1575 | self.__QScintillaRightCommand(self.deleteLineRight) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1576 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1577 | def __QScintillaVCHome(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1578 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1579 | Private method to handle the Home key. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1580 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1581 | @param cmd QScintilla command |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1582 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1583 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1584 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1585 | elif self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1586 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1587 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1588 | col = len(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1589 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1590 | col = len(sys.ps2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1591 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1592 | col = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1593 | self.setCursorPosition(line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1594 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1595 | def __QScintillaLineEnd(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1596 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1597 | Private method to handle the End key. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1598 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1599 | @param cmd QScintilla command |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1600 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1601 | if self.isListActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1602 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1603 | elif self.__isCursorOnLastLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1604 | self.moveCursorToEOL() |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1605 | |
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
|
1606 | 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
|
1607 | """ |
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
|
1608 | Private method to handle the cursor commands. |
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
|
1609 | |
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
|
1610 | @param cmd QScintilla command |
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
|
1611 | """ |
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
|
1612 | 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
|
1613 | 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
|
1614 | 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
|
1615 | 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
|
1616 | 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
|
1617 | 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
|
1618 | 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
|
1619 | 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
|
1620 | 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
|
1621 | 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
|
1622 | 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
|
1623 | 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
|
1624 | 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
|
1625 | 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
|
1626 | 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
|
1627 | 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
|
1628 | 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
|
1629 | 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
|
1630 | 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
|
1631 | 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
|
1632 | 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
|
1633 | 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
|
1634 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1635 | def __QScintillaLineUp(self, cmd): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1636 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1637 | Private method to handle the cursor up command. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1638 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1639 | @param cmd QScintilla command |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1640 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1641 | self.SendScintilla(QsciScintilla.SCI_LINEUP) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1642 | |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1643 | def __QScintillaLineDown(self, cmd): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1644 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1645 | Private method to handle the cursor down command. |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1646 | |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1647 | @param cmd QScintilla command |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1648 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1649 | self.SendScintilla(QsciScintilla.SCI_LINEDOWN) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1650 | |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1651 | def __QScintillaHistoryUp(self, cmd): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1652 | """ |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1653 | Private method to handle the history up command. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1654 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1655 | @param cmd QScintilla command |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1656 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1657 | if self.isHistoryEnabled(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1658 | line, col = self.__getEndPos() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1659 | buf = self.text(line) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1660 | if buf.startswith(sys.ps1): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1661 | buf = buf.replace(sys.ps1, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1662 | if buf.startswith(sys.ps2): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1663 | buf = buf.replace(sys.ps2, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1664 | if buf and self.incrementalSearchActive: |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1665 | if ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1666 | self.incrementalSearchString and |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1667 | buf.startswith(self.incrementalSearchString) |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1668 | ): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1669 | idx, found = self.__rsearchHistory( |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1670 | self.incrementalSearchString, self.__histidx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1671 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1672 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1673 | self.__useHistory() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1674 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1675 | idx, found = self.__rsearchHistory(buf) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1676 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1677 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1678 | self.incrementalSearchString = buf |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1679 | 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
|
1680 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1681 | if self.__historyWrap: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1682 | if self.__histidx < 0: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1683 | # wrap around |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1684 | 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
|
1685 | else: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1686 | self.__setHistoryIndex(index=self.__histidx - 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1687 | self.__useHistory() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1688 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1689 | if self.__histidx < 0: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1690 | 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
|
1691 | self.__useHistory() |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1692 | elif self.__histidx > 0: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1693 | self.__setHistoryIndex(index=self.__histidx - 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1694 | self.__useHistory() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1695 | |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
1696 | def __QScintillaHistoryDown(self, cmd): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1697 | """ |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1698 | Private method to handle the history down command. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1699 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1700 | @param cmd QScintilla command |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1701 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1702 | if self.isHistoryEnabled(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1703 | line, col = self.__getEndPos() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1704 | buf = self.text(line) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1705 | if buf.startswith(sys.ps1): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1706 | buf = buf.replace(sys.ps1, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1707 | if buf.startswith(sys.ps2): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1708 | buf = buf.replace(sys.ps2, "") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1709 | if buf and self.incrementalSearchActive: |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1710 | if ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1711 | self.incrementalSearchString and |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1712 | buf.startswith(self.incrementalSearchString) |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1713 | ): |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1714 | idx, found = self.__searchHistory( |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1715 | self.incrementalSearchString, self.__histidx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1716 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1717 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1718 | self.__useHistory() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1719 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1720 | idx, found = self.__searchHistory(buf) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1721 | if found and idx >= 0: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1722 | self.__setHistoryIndex(index=idx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1723 | self.incrementalSearchString = buf |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1724 | 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
|
1725 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1726 | if self.__historyWrap: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1727 | 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
|
1728 | # wrap around |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1729 | self.__setHistoryIndex(index=0) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1730 | else: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1731 | self.__setHistoryIndex(index=self.__histidx + 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1732 | self.__useHistory() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1733 | else: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1734 | if self.__isHistoryIndexValid(): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1735 | self.__setHistoryIndex(index=self.__histidx + 1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1736 | self.__useHistory() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1737 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1738 | def __QScintillaCancel(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1739 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1740 | 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
|
1741 | """ |
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
|
1742 | 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
|
1743 | 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
|
1744 | 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
|
1745 | 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
|
1746 | 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
|
1747 | self.__insertHistory("") |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1748 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1749 | def __QScintillaCharLeftExtend(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1750 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1751 | Private method to handle the Extend Selection Left command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1752 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1753 | self.__QScintillaLeftCommand(self.extendSelectionLeft, True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1754 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1755 | def __QScintillaWordLeftExtend(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1756 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1757 | 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
|
1758 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1759 | self.__QScintillaLeftCommand(self.extendSelectionWordLeft, True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1760 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1761 | def __QScintillaVCHomeExtend(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1762 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1763 | 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
|
1764 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1765 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1766 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1767 | col = len(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1768 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1769 | col = len(sys.ps2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1770 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1771 | col = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1772 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1773 | self.extendSelectionToBOL() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1774 | while col > 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1775 | self.extendSelectionRight() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1776 | col -= 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1777 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1778 | def __QScintillaAutoCompletionCommand(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1779 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1780 | Private method to handle a command for autocompletion only. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1781 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1782 | @param cmd QScintilla command |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1783 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1784 | if self.isListActive() or self.isCallTipActive(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1785 | self.SendScintilla(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1786 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1787 | def __executeCommand(self, cmd, historyIndex=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1788 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1789 | Private slot to execute a command. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1790 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1791 | @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
|
1792 | @type str |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1793 | @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
|
1794 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1795 | """ |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1796 | if not self.__inRawMode: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1797 | self.inCommandExecution = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1798 | self.interruptCommandExecution = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1799 | if not cmd: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1800 | # make sure cmd is a string |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1801 | cmd = '' |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1802 | |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1803 | # History Handling |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1804 | if self.isHistoryEnabled(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1805 | if cmd != "" and ( |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1806 | len(self.__history) == 0 or self.__history[-1] != cmd): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1807 | if len(self.__history) == self.__maxHistoryEntries: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1808 | del self.__history[0] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1809 | 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
|
1810 | if self.__historyStyle == ShellHistoryStyle.LINUXSTYLE: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1811 | 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
|
1812 | elif self.__historyStyle == ShellHistoryStyle.WINDOWSSTYLE: |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1813 | if historyIndex is None: |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1814 | if ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1815 | self.__histidx - 1 > 0 and |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1816 | cmd != self.__history[self.__histidx - 1] |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1817 | ): |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1818 | self.__setHistoryIndex(index=-1) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1819 | else: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1820 | self.__setHistoryIndex(historyIndex) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1821 | |
8146 | 1822 | if cmd.startswith("%"): |
1823 | if cmd == '%start' or cmd.startswith('%start '): | |
1824 | if not self.passive: | |
1825 | cmdList = cmd.split(None, 1) | |
1826 | if len(cmdList) < 2: | |
1827 | self.dbs.startClient(False) | |
1828 | # start default backend | |
1829 | else: | |
1830 | venvName = cmdList[1] | |
1831 | if venvName == self.tr("Project"): | |
1832 | if self.__project.isOpen(): | |
1833 | self.dbs.startClient( | |
1834 | False, | |
1835 | forProject=True, | |
8169
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
1836 | workingDir=self.__project |
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
1837 | .getProjectPath() |
8146 | 1838 | ) |
1839 | self.__currentWorkingDirectory = ( | |
1840 | self.__project.getProjectPath() | |
1841 | ) | |
1842 | else: | |
1843 | self.dbs.startClient( | |
1844 | False, | |
1845 | venvName=self.__currentVenv, | |
8169
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
1846 | workingDir=self |
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
1847 | .__currentWorkingDirectory |
8146 | 1848 | ) |
1849 | # same as reset | |
1850 | else: | |
1851 | self.dbs.startClient(False, venvName=venvName) | |
1852 | self.__currentWorkingDirectory = "" | |
1853 | self.__getBanner() | |
1854 | return | |
1855 | elif cmd == '%clear': | |
1856 | # Display the banner. | |
1857 | self.__getBanner() | |
1858 | if not self.passive: | |
1859 | return | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1860 | else: |
8146 | 1861 | cmd = '' |
1862 | elif cmd in ['%reset', '%restart']: | |
1863 | self.dbs.startClient( | |
1864 | False, venvName=self.__currentVenv, | |
1865 | workingDir=self.__currentWorkingDirectory) | |
1866 | if self.passive: | |
1867 | return | |
1868 | else: | |
1869 | cmd = '' | |
1870 | elif cmd in ['%envs', '%environments']: | |
1871 | venvs = ( | |
1872 | e5App().getObject("VirtualEnvManager") | |
1873 | .getVirtualenvNames() | |
1874 | ) | |
1875 | s = ( | |
1876 | self.tr('Available Virtual Environments:\n{0}\n') | |
1877 | .format('\n'.join( | |
1878 | "- {0}".format(venv) | |
1879 | for venv in sorted(venvs) | |
1880 | )) | |
1881 | ) | |
1882 | self.__write(s) | |
1883 | self.__clientStatement(False) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1884 | return |
8146 | 1885 | elif cmd == '%which': |
1886 | s = self.tr("Current Virtual Environment: '{0}'\n").format( | |
1887 | self.__currentVenv) | |
1888 | self.__write(s) | |
1889 | self.__clientStatement(False) | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1890 | return |
8146 | 1891 | elif ( |
1892 | cmd in ["%quit", "%quit()", "%exit", "%exit()"] and | |
1893 | self.__windowed | |
1894 | ): | |
1895 | # call main window quit() | |
1896 | self.vm.quit() | |
1897 | return | |
1898 | else: | |
1899 | self.dbs.remoteStatement( | |
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
|
1900 | self.__getSelectedDebuggerId(), cmd) |
8146 | 1901 | while self.inCommandExecution: |
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
|
1902 | with contextlib.suppress(KeyboardInterrupt): |
8146 | 1903 | QApplication.processEvents() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1904 | else: |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1905 | if not self.__echoInput: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1906 | 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
|
1907 | 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
|
1908 | elif cmd: |
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
|
1909 | cmd = cmd[len(self.prompt):] |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1910 | self.__inRawMode = False |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1911 | self.__echoInput = True |
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
|
1912 | |
7389
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1913 | self.dbs.remoteRawInput(self.__rawModeDebuggerId, cmd) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1914 | |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1915 | if self.__rawModeQueue: |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1916 | debuggerId, prompt, echo = self.__rawModeQueue.pop(0) |
770ffcb88be5
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7386
diff
changeset
|
1917 | self.__raw_input(prompt, echo, debuggerId) |
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
|
1918 | |
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
|
1919 | 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
|
1920 | """ |
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
|
1921 | 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
|
1922 | """ |
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
|
1923 | s = "\n" + self.tr("Current Virtual Environment: '{0}'\n").format( |
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
|
1924 | self.__currentVenv) |
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
|
1925 | 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
|
1926 | self.__clientStatement(False) |
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
|
1927 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1928 | def __useHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1929 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1930 | Private method to display a command from the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1931 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1932 | if self.__isHistoryIndexValid(): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1933 | cmd = self.__history[self.__histidx] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1934 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1935 | cmd = "" |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1936 | self.__resetIncrementalHistorySearch() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1937 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1938 | self.__insertHistory(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1939 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1940 | def __insertHistory(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1941 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1942 | Private method to insert a command selected from the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1943 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1944 | @param cmd history entry to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1945 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1946 | self.setCursorPosition(self.prline, self.prcol) |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3030
diff
changeset
|
1947 | self.setSelection(self.prline, self.prcol, |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1948 | self.prline, self.lineLength(self.prline)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1949 | self.removeSelectedText() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1950 | self.__insertText(cmd) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1951 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1952 | def __resetIncrementalHistorySearch(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1953 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1954 | 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
|
1955 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1956 | self.incrementalSearchString = "" |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1957 | self.incrementalSearchActive = False |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1958 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1959 | def __searchHistory(self, txt, startIdx=-1): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1960 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1961 | Private method used to search the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1962 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1963 | @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
|
1964 | @type str |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1965 | @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
|
1966 | @type int |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1967 | @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
|
1968 | that something was found |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1969 | @rtype tuple of (int, bool) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1970 | """ |
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
|
1971 | idx = 0 if startIdx == -1 else startIdx + 1 |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1972 | while ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1973 | idx < len(self.__history) and |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1974 | not self.__history[idx].startswith(txt) |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1975 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1976 | idx += 1 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1977 | found = (idx < len(self.__history) and |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1978 | self.__history[idx].startswith(txt)) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1979 | return idx, found |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1980 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
1981 | def __rsearchHistory(self, txt, startIdx=-1): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1982 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1983 | Private method used to reverse search the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1984 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1985 | @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
|
1986 | @type str |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1987 | @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
|
1988 | @type int |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1989 | @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
|
1990 | that something was found |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1991 | @rtype tuple of (int, bool) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1992 | """ |
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
|
1993 | idx = len(self.__history) - 1 if startIdx == -1 else startIdx - 1 |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1994 | while ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1995 | idx >= 0 and |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1996 | not self.__history[idx].startswith(txt) |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1997 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1998 | idx -= 1 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1999 | 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
|
2000 | return idx, found |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2001 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2002 | def focusNextPrevChild(self, nextChild): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2003 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
2004 | Public method to stop Tab moving to the next window. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2005 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2006 | 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
|
2007 | the next window by the Tab key being pressed is suppressed. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2008 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2009 | @param nextChild next window |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2010 | @return flag indicating the movement |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2011 | """ |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2012 | if nextChild and self.inContinue: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2013 | return False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2014 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2015 | return QsciScintillaCompat.focusNextPrevChild(self, nextChild) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2016 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
2017 | def contextMenuEvent(self, ev): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2018 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
2019 | Protected method to show our own context menu. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2020 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2021 | @param ev context menu event (QContextMenuEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2022 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
2023 | if not self.__windowed: |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
2024 | self.menu.popup(ev.globalPos()) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
2025 | ev.accept() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2026 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2027 | def clear(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2028 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2029 | Public slot to clear the display. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2030 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2031 | # Display the banner. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2032 | self.__getBanner() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2033 | |
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
|
2034 | def doClearRestart(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2035 | """ |
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
|
2036 | 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
|
2037 | """ |
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
|
2038 | self.doRestart() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2039 | self.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2040 | |
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
|
2041 | def doRestart(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2042 | """ |
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
|
2043 | 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
|
2044 | """ |
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
|
2045 | self.dbs.startClient(False, venvName=self.__currentVenv, |
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
|
2046 | workingDir=self.__currentWorkingDirectory) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2047 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2048 | def __startDebugClient(self, action): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2049 | """ |
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
|
2050 | 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
|
2051 | triggered. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2052 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2053 | @param action context menu action that was triggered (QAction) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2054 | """ |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2055 | venvName = action.text() |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2056 | 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
|
2057 | if self.__project.isOpen(): |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2058 | self.__currentWorkingDirectory = ( |
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
|
2059 | self.__project.getProjectPath() |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2060 | ) |
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
|
2061 | self.dbs.startClient(False, forProject=True, |
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
|
2062 | workingDir=self.__currentWorkingDirectory) |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2063 | else: |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2064 | 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
|
2065 | self.__getBanner() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2066 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2067 | def handlePreferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2068 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2069 | Public slot to handle the preferencesChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2070 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2071 | # rebind the lexer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2072 | self.__bindLexer(self.language) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2073 | self.recolor() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2074 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2075 | # set margin 0 configuration |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2076 | self.__setTextDisplay() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2077 | self.__setMargin0() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2078 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2079 | # set the autocompletion and calltips function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2080 | self.__setAutoCompletion() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2081 | self.__setCallTips() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2082 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2083 | # do the history related stuff |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2084 | self.__maxHistoryEntries = Preferences.getShell("MaxHistoryEntries") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2085 | for key in list(self.__historyLists.keys()): |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2086 | self.__historyLists[key] = ( |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2087 | self.__historyLists[key][-self.__maxHistoryEntries:] |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2088 | ) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2089 | self.__historyStyle = Preferences.getShell("HistoryStyle") |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
2090 | self.__historyWrap = Preferences.getShell("HistoryWrap") |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2091 | self.__setHistoryIndex() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2092 | if not self.__windowed: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2093 | self.hmenu.menuAction().setEnabled(self.isHistoryEnabled()) |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2094 | self.__historyNavigateByCursor = Preferences.getShell( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2095 | "HistoryNavigateByCursor") |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
2096 | self.historyStyleChanged.emit(self.__historyStyle) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2097 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2098 | # do stdout /stderr stuff |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2099 | showStdOutErr = Preferences.getShell("ShowStdOutErr") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2100 | if self.__showStdOutErr != showStdOutErr: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2101 | if showStdOutErr: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
2102 | 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
|
2103 | self.dbs.clientProcessStderr.connect(self.__writeStdErr) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2104 | else: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
2105 | 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
|
2106 | self.dbs.clientProcessStderr.disconnect(self.__writeStdErr) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2107 | self.__showStdOutErr = showStdOutErr |
7408
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
2108 | |
0d58e708f57b
Continued with the multiprocess debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7389
diff
changeset
|
2109 | @pyqtSlot(list, str) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2110 | def __showCompletions(self, completions, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2111 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2112 | Private method to display the possible completions. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2113 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2114 | @param completions list of possible completions (list of strings) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2115 | @param text text that is about to be completed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2116 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2117 | if len(completions) == 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2118 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2119 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2120 | if len(completions) > 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2121 | completions.sort() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2122 | self.showUserList(1, completions) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2123 | self.completionText = text |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2124 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2125 | txt = completions[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2126 | if text != "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2127 | txt = txt.replace(text, "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2128 | self.__insertText(txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2129 | self.completionText = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2130 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2131 | def __completionListSelected(self, listId, txt): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2132 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2133 | Private slot to handle the selection from the completion list. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2134 | |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2135 | @param listId the ID of the user list (should be 1) (integer) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2136 | @param txt the selected text (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2137 | """ |
5603
4f2dd0850803
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
2138 | if listId == 1: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2139 | if self.completionText != "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2140 | txt = txt.replace(self.completionText, "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2141 | self.__insertText(txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2142 | self.completionText = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2143 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2144 | ################################################################# |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2145 | ## Drag and Drop Support |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2146 | ################################################################# |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2147 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2148 | def dragEnterEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2149 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2150 | Protected method to handle the drag enter event. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2151 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2152 | @param event the drag enter event (QDragEnterEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2153 | """ |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2154 | self.inDragDrop = ( |
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2155 | event.mimeData().hasUrls() or |
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
|
2156 | event.mimeData().hasText() |
7267
aedc309827c7
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
2157 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2158 | if self.inDragDrop: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2159 | event.acceptProposedAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2160 | 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
|
2161 | super().dragEnterEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2162 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2163 | def dragMoveEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2164 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2165 | Protected method to handle the drag move event. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2166 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2167 | @param event the drag move event (QDragMoveEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2168 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2169 | if self.inDragDrop: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2170 | event.accept() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2171 | 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
|
2172 | super().dragMoveEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2173 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2174 | def dragLeaveEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2175 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2176 | Protected method to handle the drag leave event. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2177 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2178 | @param event the drag leave event (QDragLeaveEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2179 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2180 | if self.inDragDrop: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2181 | self.inDragDrop = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2182 | event.accept() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2183 | 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
|
2184 | super().dragLeaveEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2185 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2186 | def dropEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2187 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2188 | Protected method to handle the drop event. |
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 | @param event the drop event (QDropEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2191 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
2192 | if event.mimeData().hasUrls() and not self.__windowed: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2193 | for url in event.mimeData().urls(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2194 | fname = url.toLocalFile() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2195 | if fname: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2196 | if not QFileInfo(fname).isDir(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2197 | self.vm.openSourceFile(fname) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2198 | else: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
2199 | E5MessageBox.information( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
2200 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
2201 | self.tr("Drop Error"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
2202 | self.tr("""<p><b>{0}</b> is not a file.</p>""") |
3039
8dd0165d805d
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
2203 | .format(fname)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2204 | event.acceptProposedAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2205 | elif event.mimeData().hasText(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2206 | s = event.mimeData().text() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2207 | if s: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2208 | event.acceptProposedAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2209 | self.executeLines(s) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2210 | del s |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2211 | 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
|
2212 | super().dropEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2213 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2214 | self.inDragDrop = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2215 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2216 | def focusInEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2217 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
2218 | Protected method called when the shell receives focus. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2219 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2220 | @param event the event object (QFocusEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2221 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2222 | if not self.__actionsAdded: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2223 | self.addActions(self.vm.editorActGrp.actions()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2224 | self.addActions(self.vm.copyActGrp.actions()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2225 | 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
|
2226 | 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
|
2227 | self.__searchShortcut = QShortcut( |
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
|
2228 | self.vm.searchAct.shortcut(), self, |
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
|
2229 | self.__find, self.__find) |
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
|
2230 | self.__searchNextShortcut = QShortcut( |
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
|
2231 | self.vm.searchNextAct.shortcut(), self, |
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
|
2232 | self.__searchNext, self.__searchNext) |
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
|
2233 | self.__searchPrevShortcut = QShortcut( |
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
|
2234 | self.vm.searchPrevAct.shortcut(), self, |
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
|
2235 | self.__searchPrev, self.__searchPrev) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2236 | |
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
|
2237 | with contextlib.suppress(AttributeError): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2238 | self.vm.editActGrp.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2239 | self.vm.editorActGrp.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2240 | self.vm.copyActGrp.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2241 | 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
|
2242 | 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
|
2243 | 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
|
2244 | 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
|
2245 | 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
|
2246 | self.__searchPrevShortcut.setEnabled(True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2247 | 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
|
2248 | self.setCursorFlashTime(QApplication.cursorFlashTime()) |
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
|
2249 | |
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
|
2250 | super().focusInEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2251 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2252 | def focusOutEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2253 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
2254 | Protected method called when the shell loses focus. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2255 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2256 | @param event the event object (QFocusEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2257 | """ |
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
|
2258 | with contextlib.suppress(AttributeError): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2259 | 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
|
2260 | 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
|
2261 | 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
|
2262 | 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
|
2263 | self.__searchPrevShortcut.setEnabled(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2264 | 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
|
2265 | super().focusOutEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2266 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2267 | def insert(self, txt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2268 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2269 | Public slot to insert text at the current cursor position. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2270 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2271 | The cursor is advanced to the end of the inserted text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2272 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2273 | @param txt text to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2274 | """ |
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
|
2275 | txt = Utilities.filterAnsiSequences(txt) |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3030
diff
changeset
|
2276 | length = len(txt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2277 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2278 | self.insertAt(txt, line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2279 | if re.search(self.linesepRegExp, txt) is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2280 | line += 1 |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3030
diff
changeset
|
2281 | self.setCursorPosition(line, col + length) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2282 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2283 | def __configure(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2284 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2285 | Private method to open the configuration dialog. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2286 | """ |
802
e8882d16384c
Added a pyflakes checker function for Python 2 files and made some additional Python 2 related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
2287 | e5App().getObject("UserInterface").showPreferences("shellPage") |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2288 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2289 | 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
|
2290 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2291 | 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
|
2292 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2293 | 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
|
2294 | self.__mainWindow.showFind(txt) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2295 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2296 | 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
|
2297 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2298 | 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
|
2299 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2300 | 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
|
2301 | self.searchNext(*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
|
2302 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2303 | 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
|
2304 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2305 | Public method to search the next occurrence of the given text. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2306 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2307 | @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
|
2308 | @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
|
2309 | @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
|
2310 | search |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2311 | @type bool |
1965
96f5a76e1845
Fixed some PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1833
diff
changeset
|
2312 | @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
|
2313 | only |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2314 | @type bool |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2315 | @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
|
2316 | @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
|
2317 | """ |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2318 | 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
|
2319 | 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
|
2320 | 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
|
2321 | ok = self.findFirst( |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2322 | txt, regexp, caseSensitive, wholeWord, True, forward=True, |
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
|
2323 | posix=posixMode, cxx11=cxx11Mode) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2324 | self.searchStringFound.emit(ok) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2325 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2326 | 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
|
2327 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2328 | 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
|
2329 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2330 | 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
|
2331 | self.searchPrev(*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
|
2332 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2333 | 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
|
2334 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2335 | Public method to search the previous occurrence of the given text. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2336 | |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2337 | @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
|
2338 | @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
|
2339 | @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
|
2340 | search |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2341 | @type bool |
1965
96f5a76e1845
Fixed some PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1833
diff
changeset
|
2342 | @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
|
2343 | only |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2344 | @type bool |
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2345 | @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
|
2346 | @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
|
2347 | """ |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2348 | 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
|
2349 | 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
|
2350 | 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
|
2351 | else: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2352 | 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
|
2353 | 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
|
2354 | 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
|
2355 | ok = self.findFirst( |
6573
ccac2d1f6858
SearchReplaceWidget: changed the regexp search to use QScintilla's POSIX mode
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6478
diff
changeset
|
2356 | txt, regexp, caseSensitive, wholeWord, True, |
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
|
2357 | forward=False, line=line, index=index, posix=posixMode, |
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
|
2358 | cxx11=cxx11Mode) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
2359 | self.searchStringFound.emit(ok) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2360 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2361 | def historyStyle(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2362 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2363 | Public method to get the shell history style. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2364 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2365 | @return shell history style |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2366 | @rtype ShellHistoryStyle |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2367 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2368 | return self.__historyStyle |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2369 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2370 | def isHistoryEnabled(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2371 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2372 | Public method to check, if the history is enabled. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2373 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2374 | @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
|
2375 | @rtype bool |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
2376 | """ |
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
|
2377 | return self.__historyStyle != ShellHistoryStyle.DISABLED |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2378 | |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2379 | ################################################################# |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2380 | ## Project Support |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2381 | ################################################################# |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2382 | |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2383 | def __projectOpened(self): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2384 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2385 | Private slot to start the shell for the opened project. |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2386 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2387 | if Preferences.getProject("RestartShellForProject"): |
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
|
2388 | self.dbs.startClient(False, forProject=True, |
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
|
2389 | workingDir=self.__project.getProjectPath()) |
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
|
2390 | self.__currentWorkingDirectory = self.__project.getProjectPath() |
6576
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2391 | self.__getBanner() |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2392 | |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2393 | def __projectClosed(self): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2394 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2395 | 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
|
2396 | """ |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2397 | if Preferences.getProject("RestartShellForProject"): |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2398 | self.dbs.startClient(False) |
ea60ea85067a
VitualEnv Manager:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6573
diff
changeset
|
2399 | self.__getBanner() |
8169
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
2400 | |
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
2401 | # |
139bd30c52c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8146
diff
changeset
|
2402 | # eflag: noqa = M601 |