Mon, 10 Jul 2017 18:24:35 +0200
Finished improving the Shell window history handling.
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 | |
5389
9b1c800daff3
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5176
diff
changeset
|
3 | # Copyright (c) 2002 - 2017 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 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3142
diff
changeset
|
10 | from __future__ import unicode_literals |
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
|
11 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import sys |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | import re |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
15 | try: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
16 | from enum import Enum |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
17 | except ImportError: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
18 | from ThirdParty.enum import Enum |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
19 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5712
diff
changeset
|
20 | from PyQt5.QtCore import pyqtSignal, QFileInfo, Qt, QEvent |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3631
diff
changeset
|
21 | from PyQt5.QtGui import QClipboard, QPalette, QFont |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3631
diff
changeset
|
22 | from PyQt5.QtWidgets import QDialog, QInputDialog, QApplication, QMenu, \ |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3631
diff
changeset
|
23 | QWidget, QHBoxLayout, QVBoxLayout, QShortcut |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3631
diff
changeset
|
24 | from PyQt5.Qsci import QsciScintilla |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
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
|
26 | from E5Gui.E5Application import e5App |
536
6d8d39753c82
Started replaceing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
27 | from E5Gui import E5MessageBox |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
97
c4086afea02b
Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
29 | from .QsciScintillaCompat import QsciScintillaCompat |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | 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
|
32 | import Utilities |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5712
diff
changeset
|
33 | from Globals import qVersionTuple |
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
|
34 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | import UI.PixmapCache |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | |
97
c4086afea02b
Finished cleaning up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
37 | from Debugger.DebugClientCapabilities import HasCompleter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
39 | |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
40 | 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
|
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 | 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
|
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 | def __init__(self, dbs, vm, horizontal=True, parent=None): |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
45 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
46 | Constructor |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
47 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
48 | @param dbs reference to the debug server object |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
49 | @param vm reference to the viewmanager object |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
50 | @param horizontal flag indicating a horizontal layout (boolean) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
51 | @param parent parent widget (QWidget) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
52 | """ |
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
|
53 | 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
|
54 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
55 | self.__shell = Shell(dbs, vm, False, self) |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
56 | |
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
57 | 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
|
58 | self.__searchWidget = SearchWidget(self.__shell, self, horizontal) |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
59 | 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
|
60 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
61 | 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
|
62 | 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
|
63 | else: |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
64 | 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
|
65 | 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
|
66 | 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
|
67 | 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
|
68 | |
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.__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
|
70 | 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
|
71 | 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
|
72 | 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
|
73 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
74 | 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
|
75 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
76 | 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
|
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 | @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
|
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 | 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
|
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 | 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
|
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 | Public method to get a reference to the terminal widget. |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
85 | |
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
|
86 | @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
|
87 | """ |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
88 | 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
|
89 | |
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
90 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
91 | class ShellHistoryStyle(Enum): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
92 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
93 | Class defining the shell history styles. |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
94 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
95 | Disabled = 0 |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
96 | LinuxStyle = 1 |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
97 | WindowsStyle = 2 |
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 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | class Shell(QsciScintillaCompat): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | Class implementing a graphical Python shell. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
104 | 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
|
105 | 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
|
106 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
107 | @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
|
108 | result |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
109 | @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
|
110 | change of the history style |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | """ |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
112 | searchStringFound = pyqtSignal(bool) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
113 | historyStyleChanged = pyqtSignal(ShellHistoryStyle) |
1833
f7cd855680f1
Added the capability to search in the output of the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1743
diff
changeset
|
114 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
115 | def __init__(self, dbs, vm, windowedVariant, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | @param dbs reference to the debug server object |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | @param vm reference to the viewmanager object |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
121 | @param windowedVariant flag indicating the shell window variant |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
122 | (boolean) |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
123 | @param parent parent widget (QWidget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | """ |
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
|
125 | super(Shell, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | self.setUtf8(True) |
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 | 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
|
129 | 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
|
130 | self.__lastSearch = () |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
131 | self.__windowed = windowedVariant |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | self.linesepRegExp = r"\r\n|\n|\r" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
135 | self.passive = ((not self.__windowed) and |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
136 | Preferences.getDebugger("PassiveDbgEnabled")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | 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
|
138 | self.setWindowTitle(self.tr('Shell - Passive')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
140 | self.setWindowTitle(self.tr('Shell')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
142 | if self.__windowed: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
143 | self.setWhatsThis(self.tr( |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
144 | """<b>The Shell Window</b>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
145 | """<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
|
146 | """ 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
|
147 | """ using the up and down cursor keys while holding down the""" |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
148 | """ Ctrl-key. Pressing these keys after some text has been""" |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
149 | """ entered will start an incremental search.</p>""" |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
150 | """<p>The shell has some special commands. 'reset' kills the""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
151 | """ shell and starts a new one. 'clear' clears the display""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
152 | """ of the shell window. 'start' is used to switch the shell""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
153 | """ language and must be followed by a supported language.""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
154 | """ Supported languages are listed by the 'languages'""" |
5711
50b6867ffcd3
Finished implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5710
diff
changeset
|
155 | """ command. 'quit' is used to exit the application.These""" |
50b6867ffcd3
Finished implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5710
diff
changeset
|
156 | """ commands (except 'languages') are available through the""" |
50b6867ffcd3
Finished implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5710
diff
changeset
|
157 | """ window menus as well.</p>""" |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
158 | """<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
|
159 | """ 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
|
160 | """ 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
|
161 | """ 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
|
162 | )) |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
163 | else: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
164 | self.setWhatsThis(self.tr( |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
165 | """<b>The Shell Window</b>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
166 | """<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
|
167 | """ 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
|
168 | """ 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
|
169 | """ 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
|
170 | """<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
|
171 | """ 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
|
172 | """ using the up and down cursor keys while holding down the""" |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
173 | """ Ctrl-key. Pressing these keys after some text has been""" |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
174 | """ entered will start an incremental search.</p>""" |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
175 | """<p>The shell has some special commands. 'reset' kills the""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
176 | """ shell and starts a new one. 'clear' clears the display""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
177 | """ of the shell window. 'start' is used to switch the shell""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
178 | """ language and must be followed by a supported language.""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
179 | """ Supported languages are listed by the 'languages'""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
180 | """ command. These commands (except 'languages') are""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
181 | """ available through the context menu as well.</p>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
182 | """<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
|
183 | """ 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
|
184 | """ 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
|
185 | """ 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
|
186 | """<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
|
187 | """ 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
|
188 | """ 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
|
189 | """ 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
|
190 | """ caption.</p>""" |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
191 | )) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
193 | 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
|
194 | self.linesChanged.connect(self.__resizeLinenoMargin) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
196 | if self.__windowed: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
197 | self.__showStdOutErr = True |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
198 | else: |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
199 | self.__showStdOutErr = Preferences.getShell("ShowStdOutErr") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | if self.__showStdOutErr: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
201 | 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
|
202 | dbs.clientProcessStderr.connect(self.__writeStdErr) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
203 | dbs.clientOutput.connect(self.__write) |
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
454
diff
changeset
|
204 | 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
|
205 | 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
|
206 | 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
|
207 | 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
|
208 | 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
|
209 | 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
|
210 | 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
|
211 | 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
|
212 | dbs.clientSignal.connect(self.__clientSignal) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | self.dbs = dbs |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | |
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
|
215 | # Initialize instance variables. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | self.__initialise() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | self.prline = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | self.prcol = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | self.inDragDrop = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | self.lexer_ = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | self.completionText = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
223 | self.clientType = '' |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
224 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | # Initialize history |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
226 | self.__historyLists = {} |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
227 | self.__maxHistoryEntries = Preferences.getShell("MaxHistoryEntries") |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
228 | self.__historyStyle = Preferences.getShell("HistoryStyle") |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
229 | self.__historyWrap = Preferences.getShell("HistoryWrap") |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
230 | self.__history = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
231 | 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
|
232 | # 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
|
233 | 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
|
234 | Preferences.Prefs.settings.remove("Shell/Histories/" + clientType) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | # clear QScintilla defined keyboard commands |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | # we do our own handling through the view manager |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | self.clearAlternateKeys() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | self.clearKeys() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | self.__actionsAdded = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | # Make sure we have prompts. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | 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
|
244 | sys.ps1 = self.tr("Passive >>> ") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | sys.ps1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | except AttributeError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | sys.ps1 = ">>> " |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | sys.ps2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | except AttributeError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | sys.ps2 = "... " |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | if self.passive: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | self.__getBanner() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
258 | if not self.__windowed: |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
259 | # Create a little language context menu |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
260 | self.lmenu = QMenu(self.tr('Start')) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
261 | self.lmenu.aboutToShow.connect(self.__showLanguageMenu) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
262 | self.lmenu.triggered.connect(self.__startDebugClient) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
263 | |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
264 | # Create the history context menu |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
265 | self.hmenu = QMenu(self.tr('History')) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
266 | 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
|
267 | 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
|
268 | 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
|
269 | |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
270 | # Create a little context menu |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
271 | self.menu = QMenu(self) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
272 | 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
|
273 | 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
|
274 | 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
|
275 | 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
|
276 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
277 | self.menu.addSeparator() |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
278 | 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
|
279 | self.menu.addSeparator() |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
280 | self.menu.addAction(self.tr('Clear'), self.clear) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
281 | self.menu.addAction(self.tr('Reset'), self.__reset) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
282 | self.menu.addAction( |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
283 | self.tr('Reset and Clear'), self.__resetAndClear) |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
284 | self.menu.addSeparator() |
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
285 | self.menu.addMenu(self.lmenu) |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
286 | self.menu.addSeparator() |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
287 | self.menu.addAction(self.tr("Configure..."), self.__configure) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | self.__bindLexer() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | self.__setTextDisplay() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | self.__setMargin0() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | # set the autocompletion and calltips function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | self.__setAutoCompletion() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.__setCallTips() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | self.setWindowIcon(UI.PixmapCache.getIcon("eric.png")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | self.incrementalSearchString = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | self.incrementalSearchActive = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | 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
|
303 | 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
|
304 | 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
|
305 | QsciScintilla.SCI_NEWLINE: self.__QScintillaNewline, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
307 | 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
|
308 | 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
|
309 | 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
|
310 | 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
|
311 | 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
|
312 | QsciScintilla.SCI_DELLINERIGHT: self.__QScintillaDeleteLineRight, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
314 | 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
|
315 | 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
|
316 | 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
|
317 | 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
|
318 | 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
|
319 | QsciScintilla.SCI_LINEEND: self.__QScintillaLineEnd, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
321 | 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
|
322 | QsciScintilla.SCI_PAGEDOWN: 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
|
323 | QsciScintilla.SCI_CANCEL: self.__QScintillaAutoCompletionCommand, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
325 | 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
|
326 | 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
|
327 | 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
|
328 | 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
|
329 | 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
|
330 | QsciScintilla.SCI_LINEENDEXTEND: self.extendSelectionToEOL, |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
331 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
332 | QsciScintilla.SCI_CANCEL: self.__QScintillaCancel, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | } |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
334 | self.__setupCursorKeys() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | |
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
|
336 | self.grabGesture(Qt.PinchGesture) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
337 | |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
338 | def __setupCursorKeys(self): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
339 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
340 | Private method to setup the cursor up and down mode. |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
341 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
342 | if Preferences.getShell("HistoryNavigateByCursor"): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
343 | self.supportedEditorCommands.update({ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
344 | QsciScintilla.SCI_LINEUP: self.__QScintillaHistoryUp, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
345 | QsciScintilla.SCI_LINEDOWN: self.__QScintillaHistoryDown, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
346 | QsciScintilla.SCI_LINESCROLLUP: self.__QScintillaLineUp, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
347 | QsciScintilla.SCI_LINESCROLLDOWN: self.__QScintillaLineDown, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
348 | }) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
349 | else: |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
350 | self.supportedEditorCommands.update({ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
351 | QsciScintilla.SCI_LINEUP: self.__QScintillaLineUp, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
352 | QsciScintilla.SCI_LINEDOWN: self.__QScintillaLineDown, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
353 | QsciScintilla.SCI_LINESCROLLUP: self.__QScintillaHistoryUp, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
354 | QsciScintilla.SCI_LINESCROLLDOWN: self.__QScintillaHistoryDown, |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
355 | }) |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
356 | |
4479
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
357 | def __showLanguageMenu(self): |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
358 | """ |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
359 | Private slot to prepare the language submenu. |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
360 | """ |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
361 | self.lmenu.clear() |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
362 | clientLanguages = self.dbs.getSupportedLanguages(shellOnly=True) |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
363 | for language in sorted(clientLanguages): |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
364 | act = self.lmenu.addAction(language) |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
365 | act.setData(language) |
fd9ceecf5a65
Changed the shell language menu to be dynamic.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
366 | |
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
|
367 | 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
|
368 | """ |
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
|
369 | 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
|
370 | """ |
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
|
371 | 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
|
372 | 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
|
373 | 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
|
374 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | def closeShell(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
377 | Public method to shutdown the shell. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
379 | 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
|
380 | self.saveHistory(clientType) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
382 | def __bindLexer(self, language='Python3'): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | Private slot to set the lexer. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | @param language lexer language to set (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | self.language = language |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | if Preferences.getShell("SyntaxHighlightingEnabled"): |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
390 | from . import Lexers |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | self.lexer_ = Lexers.getLexer(self.language, self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | self.lexer_ = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | if self.lexer_ is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | self.setLexer(None) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | font = Preferences.getShell("MonospacedFont") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | self.monospacedStyles(font) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | # 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
|
402 | 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
|
403 | 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
|
404 | if fdesc is not None: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | font = QFont(fdesc[0], int(fdesc[1])) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | self.lexer_.setDefaultFont(font) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | self.setLexer(self.lexer_) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | self.lexer_.readSettings(Preferences.Prefs.settings, "Scintilla") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | # initialize the lexer APIs settings |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | api = self.vm.getAPIsManager().getAPIs(self.language) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | if api is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | api = api.getQsciAPIs() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | if api is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | self.lexer_.setAPIs(api) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | |
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
|
417 | 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
|
418 | 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
|
419 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | def __setMargin0(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | Private method to configure margin 0. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | # set the settings for all margins |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | 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
|
426 | 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
|
427 | 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
|
428 | 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
|
429 | Preferences.getEditorColour("MarginsBackground")) |
0
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 | # set margin 0 settings |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | linenoMargin = Preferences.getShell("LinenoMargin") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | self.setMarginLineNumbers(0, linenoMargin) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | 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
|
435 | self.__resizeLinenoMargin() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | self.setMarginWidth(0, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | # disable margins 1 and 2 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | self.setMarginWidth(1, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | self.setMarginWidth(2, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | def __setTextDisplay(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | Private method to configure the text display. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | self.setTabWidth(Preferences.getEditor("TabWidth")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | if Preferences.getEditor("ShowWhitespace"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | 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
|
450 | 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
|
451 | 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
|
452 | 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
|
453 | 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
|
454 | 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
|
455 | 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
|
456 | 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
|
457 | 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
|
458 | # 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
|
459 | pass |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | self.setWhitespaceVisibility(QsciScintilla.WsInvisible) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | self.setEolVisibility(Preferences.getEditor("ShowEOL")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | if Preferences.getEditor("BraceHighlighting"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | self.setBraceMatching(QsciScintilla.SloppyBraceMatch) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | self.setBraceMatching(QsciScintilla.NoBraceMatch) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | self.setMatchedBraceForegroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | Preferences.getEditorColour("MatchingBrace")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | self.setMatchedBraceBackgroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | Preferences.getEditorColour("MatchingBraceBack")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | self.setUnmatchedBraceForegroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | Preferences.getEditorColour("NonmatchingBrace")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | self.setUnmatchedBraceBackgroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | Preferences.getEditorColour("NonmatchingBraceBack")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | if Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
476 | self.setSelectionBackgroundColor( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | Preferences.getEditorColour("SelectionBackground")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
479 | 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
|
480 | QApplication.palette().color(QPalette.Highlight)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | if Preferences.getEditor("ColourizeSelText"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | self.resetSelectionForegroundColor() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | elif Preferences.getEditor("CustomSelectionColours"): |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
484 | self.setSelectionForegroundColor( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | Preferences.getEditorColour("SelectionForeground")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
487 | 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
|
488 | QApplication.palette().color(QPalette.HighlightedText)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | self.setSelectionToEol(Preferences.getEditor("ExtendSelectionToEol")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | self.setCaretForegroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | 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
|
492 | self.setCaretLineVisible(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | self.caretWidth = Preferences.getEditor("CaretWidth") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | self.setCaretWidth(self.caretWidth) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | if Preferences.getShell("WrapEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | self.setWrapMode(QsciScintilla.WrapWord) |
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.setWrapMode(QsciScintilla.WrapNone) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | self.useMonospaced = Preferences.getShell("UseMonospacedFont") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | self.__setMonospaced(self.useMonospaced) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | |
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
|
502 | 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
|
503 | |
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
|
504 | 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
|
505 | 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
|
506 | 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
|
507 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | def __setMonospaced(self, on): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | Private method to set/reset a monospaced font. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | @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
|
513 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | 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
|
515 | 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
|
516 | 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
|
517 | self.monospacedStyles(f) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | if not self.lexer_: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | self.clearStyles() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | self.__setMargin0() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | self.setFont(Preferences.getShell("MonospacedFont")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | self.useMonospaced = on |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
526 | def __setAutoCompletion(self, language='Python'): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | Private method to configure the autocompletion function. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | @param language of the autocompletion set to set (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | self.setAutoCompletionCaseSensitivity( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | Preferences.getEditor("AutoCompletionCaseSensitivity")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | self.setAutoCompletionThreshold(-1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | self.racEnabled = Preferences.getShell("AutoCompletionEnabled") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
538 | def __setCallTips(self, language='Python'): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | Private method to configure the calltips function. |
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 | @param language of the calltips set to set (string) |
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 | if Preferences.getShell("CallTipsEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | self.setCallTipsBackgroundColor( |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | Preferences.getEditorColour("CallTipsBackground")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | self.setCallTipsVisible(Preferences.getEditor("CallTipsVisible")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | calltipsStyle = Preferences.getEditor("CallTipsStyle") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | if calltipsStyle == QsciScintilla.CallTipsNoContext: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | self.setCallTipsStyle(QsciScintilla.CallTipsNoContext) |
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
|
551 | elif calltipsStyle == \ |
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
|
552 | QsciScintilla.CallTipsNoAutoCompletionContext: |
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
|
553 | 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
|
554 | QsciScintilla.CallTipsNoAutoCompletionContext) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | self.setCallTipsStyle(QsciScintilla.CallTipsContext) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | self.setCallTipsStyle(QsciScintilla.CallTipsNone) |
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 | def setDebuggerUI(self, ui): |
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 | Public method to set the debugger UI. |
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 | @param ui reference to the debugger UI object (DebugUI) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | """ |
482
4650a72c307a
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
481
diff
changeset
|
566 | ui.exceptionInterrupt.connect(self.__writePrompt) |
0
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 | def __initialise(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | 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
|
571 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | self.buff = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | self.inContinue = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | self.inRawMode = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
575 | self.echoInput = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | self.clientCapabilities = 0 |
1056
a3eb3c9a7e4b
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
577 | self.inCommandExecution = False |
a3eb3c9a7e4b
Fixed a bug in Shell.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
578 | self.interruptCommandExecution = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
579 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
580 | def __clientCapabilities(self, cap, clType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
581 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | 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
|
583 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | @param cap client capabilities (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | @param clType type of the debug client (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | self.clientCapabilities = cap |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | if clType != self.clientType: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | self.clientType = clType |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
590 | 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
|
591 | self.__setTextDisplay() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | self.__setMargin0() |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
593 | self.__setAutoCompletion(self.clientType) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
594 | self.__setCallTips(self.clientType) |
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
|
595 | self.racEnabled = \ |
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
|
596 | Preferences.getShell("AutoCompletionEnabled") and \ |
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
|
597 | (cap & HasCompleter) > 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
598 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
599 | if self.clientType not in self.__historyLists: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | # load history list |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
601 | self.loadHistory(self.clientType) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
602 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
603 | self.__setHistoryIndex() |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
604 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
605 | def __setHistoryIndex(self, index=None): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
606 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
607 | Private method to set the initial history index. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
608 | |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
609 | @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
|
610 | @type int or None |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
611 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
612 | if index is None: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
613 | # determine based on history style |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
614 | if self.clientType and \ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
615 | self.__historyStyle == ShellHistoryStyle.WindowsStyle: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
616 | idx = int(Preferences.Prefs.settings.value( |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
617 | "Shell/HistoryIndexes/" + self.clientType, -1)) |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
618 | if idx >= len(self.__history): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
619 | idx = -1 |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
620 | self.__histidx = idx |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
621 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
622 | self.__histidx = -1 |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
623 | else: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
624 | self.__histidx = index |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
625 | if self.__histidx >= len(self.__history): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
626 | self.__histidx = -1 |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
627 | if self.clientType and \ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
628 | self.__historyStyle == ShellHistoryStyle.WindowsStyle: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
629 | Preferences.Prefs.settings.setValue( |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
630 | "Shell/HistoryIndexes/" + self.clientType, self.__histidx) |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
631 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
632 | def __isHistoryIndexValid(self): |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
633 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
634 | 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
|
635 | |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
636 | @return flag indicating validity |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
637 | @rtype bool |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
638 | """ |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
639 | 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
|
640 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
641 | def getHistoryIndex(self): |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
642 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
643 | 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
|
644 | |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
645 | @return history index |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
646 | @rtype int |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
647 | """ |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
648 | return self.__histidx |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
649 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
650 | def loadHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
651 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
652 | 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
|
653 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
654 | @param clientType type of the debug client (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | """ |
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
|
656 | 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
|
657 | if hl is not None: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
658 | self.__historyLists[clientType] = hl[-self.__maxHistoryEntries:] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | else: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
660 | self.__historyLists[clientType] = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
661 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | def reloadHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
663 | """ |
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
|
664 | 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
|
665 | type. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | self.loadHistory(self.clientType) |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
668 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
669 | self.__setHistoryIndex() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | def saveHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | 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
|
674 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | @param clientType type of the debug client (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
676 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
677 | if clientType in self.__historyLists: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
678 | Preferences.Prefs.settings.setValue( |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
679 | "Shell/Histories/" + clientType, |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
680 | self.__historyLists[clientType]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
681 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | def getHistory(self, clientType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
684 | 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
|
685 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
686 | @param clientType type of the debug client (string). |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | If it is None, the current history is returned. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | @return reference to the history list (list of strings) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
690 | if clientType is None: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
691 | return self.__history |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
692 | elif clientType in self.__historyLists: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
693 | return self.__historyLists[clientType] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
695 | return [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
696 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
697 | def clearHistory(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
699 | Public slot to clear the current history. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | """ |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
701 | if self.clientType: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
702 | self.__historyLists[self.clientType] = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
703 | 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
|
704 | else: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
705 | self.__history = [] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
706 | self.__setHistoryIndex(index=-1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
707 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
708 | def selectHistory(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
709 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
710 | 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
|
711 | """ |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
712 | current = self.__histidx |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
713 | if current == -1: |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
714 | current = len(self.__history) - 1 |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
536
diff
changeset
|
715 | cmd, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
717 | 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
|
718 | 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
|
719 | " (most recent shown last)."), |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
720 | self.__history, |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
721 | current, False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | if ok: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | self.__insertHistory(cmd) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
724 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
725 | def showHistory(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
726 | """ |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
727 | Public slot to show the shell history dialog. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
728 | """ |
2409
df3820f08247
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
729 | from .ShellHistoryDialog import ShellHistoryDialog |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
730 | dlg = ShellHistoryDialog(self.__history, self.vm, self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
731 | if dlg.exec_() == QDialog.Accepted: |
5798
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
732 | 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
|
733 | self.__history = self.__historyLists[self.clientType] |
e4f9552f7f93
Started improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
734 | self.__setHistoryIndex(index=idx) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
735 | |
5108
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
736 | 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
|
737 | """ |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
738 | 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
|
739 | """ |
f5cb9cb98e6a
Added an action to clear the private data of the IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5020
diff
changeset
|
740 | 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
|
741 | 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
|
742 | 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
|
743 | 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
|
744 | 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
|
745 | |
5710
b5809b948010
Continued implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5709
diff
changeset
|
746 | 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
|
747 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
748 | def getClientType(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
749 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
750 | Public slot to get the clients type. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
751 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
752 | @return client type (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
753 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
754 | return self.clientType |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
755 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
756 | def __getBanner(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
758 | 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
|
759 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
760 | 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
|
761 | debug client side. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
762 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
763 | if self.passive: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
943
diff
changeset
|
764 | self.__writeBanner('', '', '') |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
765 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
766 | self.dbs.remoteBanner() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
767 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
768 | def __writeBanner(self, version, platform, dbgclient): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
769 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | 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
|
771 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | @param version interpreter version string (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
773 | @param platform platform of the remote interpreter (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | @param dbgclient debug client variant used (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
775 | """ |
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
|
776 | super(Shell, self).clear() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | 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
|
778 | 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
|
779 | self.__write(self.tr('\nNot connected')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
780 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
781 | version = version.replace("#", self.tr("No.")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
782 | if platform != "" and dbgclient != "": |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
783 | self.__write( |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
784 | self.tr('{0} on {1}, {2}') |
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
785 | .format(version, platform, dbgclient)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
787 | self.__write(version) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
788 | self.__write('\n') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
790 | self.__write(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
791 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
792 | def __writePrompt(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
793 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
794 | Private method to write the prompt. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
795 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
796 | self.__write(self.inContinue and sys.ps2 or sys.ps1) |
5712
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
797 | # little trick to get the cursor position registered within QScintilla |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
798 | self.SendScintilla(QsciScintilla.SCI_CHARLEFT) |
f0d08bdeacf4
Modified the handling of the Up/Down arrows of the shell widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5711
diff
changeset
|
799 | self.SendScintilla(QsciScintilla.SCI_CHARRIGHT) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
800 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
801 | def __clientStatement(self, more): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
803 | 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
|
804 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
805 | @param more flag indicating that more user input is required (boolean) |
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 | if not self.inRawMode: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
808 | self.inContinue = more |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
809 | self.__writePrompt() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
810 | self.inCommandExecution = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
811 | |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
812 | 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
|
813 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
814 | 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
|
815 | |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
816 | @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
|
817 | @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
|
818 | @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
|
819 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
820 | self .__clientError() |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
821 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
822 | if not self.__windowed and \ |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
823 | Preferences.getDebugger("ShowExceptionInShell"): |
5126
d28b92dabc2b
Fixed two little issues related to wrong parameter types.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5108
diff
changeset
|
824 | if exceptionType: |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
825 | if stackTrace: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
826 | self.__write( |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
827 | 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
|
828 | .format( |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
829 | exceptionType, |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
830 | exceptionMessage, |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
831 | stackTrace[0][0], |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
832 | stackTrace[0][1] |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
833 | ) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
834 | ) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
835 | else: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
836 | self.__write( |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
837 | 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
|
838 | .format( |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
839 | exceptionType, |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
840 | exceptionMessage) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
841 | ) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
842 | |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
843 | 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
|
844 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
845 | 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
|
846 | |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
847 | @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
|
848 | @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
|
849 | (string) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
850 | @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
|
851 | @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
|
852 | (integer) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
853 | """ |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
854 | self .__clientError() |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
855 | |
5709
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
856 | if not self.__windowed and \ |
f81d0eca2c62
Started implementing the standalone shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
857 | Preferences.getDebugger("ShowExceptionInShell"): |
3974
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
858 | if message is None: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
859 | 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
|
860 | else: |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
861 | self.__write( |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
862 | 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
|
863 | ' character {3}.\n') |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
864 | .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
|
865 | ) |
01991e605ba0
Added capability to show exceptions in the shell window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
866 | |
4366
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
867 | 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
|
868 | """ |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
869 | 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
|
870 | |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
871 | @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
|
872 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
873 | @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
|
874 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
875 | @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
|
876 | @type int |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
877 | @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
|
878 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
879 | @param funcArgs function arguments |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
880 | @type str |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
881 | """ |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
882 | self.__clientError() |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
883 | |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
884 | self.__write( |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
885 | 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
|
886 | """Function: {3}({4})""") |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
887 | .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
|
888 | ) |
9445c7cb991f
Implemented a signal handler for the Python debug clients.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
889 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | def __clientError(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
892 | Private method to handle an error in the client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
893 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
894 | self.inCommandExecution = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
895 | self.interruptCommandExecution = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | self.inContinue = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
897 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
898 | def __getEndPos(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
900 | 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
|
901 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
902 | @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
|
903 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
904 | 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
|
905 | return (line, len(self.text(line))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
906 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
907 | def __write(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
908 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
909 | Private method to display some text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
910 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
911 | @param s text to be displayed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
912 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
913 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
914 | 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
|
915 | self.insert(Utilities.filterAnsiSequences(s)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
916 | self.prline, self.prcol = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
917 | self.ensureCursorVisible() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
918 | self.ensureLineVisible(self.prline) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
919 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
920 | def __writeStdOut(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
921 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
922 | Private method to display some text with StdOut label. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
923 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
924 | @param s text to be displayed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
925 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
926 | self.__write(self.tr("StdOut: {0}").format(s)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
927 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
928 | def __writeStdErr(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
929 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
930 | Private method to display some text with StdErr label. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
931 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
932 | @param s text to be displayed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
933 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
934 | self.__write(self.tr("StdErr: {0}").format(s)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
935 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
936 | def __raw_input(self, s, echo): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
937 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
938 | Private method to handle raw input. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
939 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
940 | @param s prompt to be displayed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
941 | @param echo Flag indicating echoing of the input (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
942 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
943 | self.setFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
944 | self.inRawMode = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
945 | self.echoInput = echo |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
946 | self.__write(s) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
947 | 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
|
948 | 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
|
949 | 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
|
950 | 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
|
951 | 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
|
952 | 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
|
953 | buf = buf.replace(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
|
954 | self.prompt = buf |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
955 | # move cursor to end of line |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
956 | self.moveCursorToEOL() |
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 | def paste(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
959 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
960 | Public slot to handle the paste action. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
961 | """ |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
962 | 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
|
963 | 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
|
964 | lastLine = self.text(line) |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
965 | |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
966 | # 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
|
967 | 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
|
968 | 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
|
969 | if self.text(lineFrom).startswith(sys.ps1): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
970 | if indexFrom < len(sys.ps1): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
971 | indexFrom = len(sys.ps1) |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
972 | elif self.text(lineFrom).startswith(sys.ps2): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
973 | if indexFrom < len(sys.ps2): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
974 | indexFrom = len(sys.ps2) |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
975 | 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
|
976 | 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
|
977 | |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
978 | self.setCursorPosition(line, 0) |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
979 | 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
|
980 | |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
981 | 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
|
982 | 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
|
983 | 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
|
984 | 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
|
985 | 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
|
986 | self.setCursorPosition(line, pos) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
987 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
988 | def __middleMouseButton(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
989 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
990 | Private method to handle the middle mouse button press. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
991 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
992 | lines = QApplication.clipboard().text(QClipboard.Selection) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
993 | self.executeLines(lines) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
994 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
995 | def executeLines(self, lines, historyIndex=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
996 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
997 | 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
|
998 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
999 | @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
|
1000 | single commands |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1001 | @type str |
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1002 | @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
|
1003 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1004 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1005 | for line in lines.splitlines(True): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1006 | if line.endswith("\r\n"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1007 | fullline = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1008 | cmd = line[:-2] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1009 | elif line.endswith("\r") or line.endswith("\n"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1010 | fullline = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1011 | cmd = line[:-1] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1012 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1013 | fullline = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1014 | |
3631
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1015 | self.incrementalSearchActive = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1016 | self.__insertTextAtEnd(line) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1017 | 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
|
1018 | 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
|
1019 | if cmd.startswith(sys.ps1): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1020 | cmd = cmd[len(sys.ps1):] |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1021 | elif cmd.startswith(sys.ps2): |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1022 | cmd = cmd[len(sys.ps2):] |
2f5169646a4a
Shell: Paste at current location and a bug in using history fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3621
diff
changeset
|
1023 | |
5799
e87f52c0374a
Finished improving the Shell window history handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5798
diff
changeset
|
1024 | 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
|
1025 | if self.interruptCommandExecution: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1026 | self.__executeCommand("") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1027 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1028 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1029 | def __clearCurrentLine(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1030 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1031 | Private method to clear the line containing the cursor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1032 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1033 | line, col = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1034 | if self.text(line).startswith(sys.ps1): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1035 | col = len(sys.ps1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1036 | elif self.text(line).startswith(sys.ps2): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1037 | col = len(sys.ps2) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1038 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1039 | col = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1040 | self.setCursorPosition(line, col) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1041 | self.deleteLineRight() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1042 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1043 | def __insertText(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1044 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1045 | Private method to insert some text at the current cursor position. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1046 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1047 | @param s text to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1048 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1049 | 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
|
1050 | self.insertAt(Utilities.filterAnsiSequences(s), line, col) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1051 | self.setCursorPosition(line, col + len(s)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1052 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1053 | def __insertTextAtEnd(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1054 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1055 | 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
|
1056 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1057 | @param s text to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1058 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1059 | line, col = self.__getEndPos() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1060 | 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
|
1061 | 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
|
1062 | self.prline, _ = self.getCursorPosition() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1063 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1064 | def __insertTextNoEcho(self, s): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1065 | """ |
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
|
1066 | 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
|
1067 | echoing it. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1068 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1069 | @param s text to be inserted (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1070 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1071 | self.buff += s |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1072 | self.prline, self.prcol = self.getCursorPosition() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1073 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1074 | def mousePressEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1075 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1076 | Protected method to handle the mouse press event. |
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 | @param event the mouse press event (QMouseEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1079 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1080 | self.setFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1081 | if event.button() == Qt.MidButton: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1082 | self.__middleMouseButton() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1083 | 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
|
1084 | super(Shell, self).mousePressEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1085 | |
1507
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1086 | 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
|
1087 | """ |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1088 | 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
|
1089 | |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1090 | @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
|
1091 | """ |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1092 | if evt.modifiers() & Qt.ControlModifier: |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5712
diff
changeset
|
1093 | if qVersionTuple() >= (5, 0, 0): |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
1094 | delta = evt.angleDelta().y() |
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
1095 | else: |
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
1096 | delta = evt.delta() |
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3693
diff
changeset
|
1097 | 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
|
1098 | self.zoomOut() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1099 | else: |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1100 | self.zoomIn() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1101 | evt.accept() |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1102 | return |
9225700cbff5
- added capability to zoom by Ctrl + Mouse Wheel to the editor
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1103 | |
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
|
1104 | 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
|
1105 | |
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
|
1106 | 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
|
1107 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
1108 | 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
|
1109 | |
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
|
1110 | @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
|
1111 | @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
|
1112 | """ |
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
|
1113 | 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
|
1114 | 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
|
1115 | 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
|
1116 | |
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
|
1117 | 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
|
1118 | |
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
|
1119 | 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
|
1120 | """ |
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
|
1121 | 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
|
1122 | |
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
|
1123 | @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
|
1124 | """ |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detl
|