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