Tue, 20 Apr 2021 19:38:10 +0200
Tabview: added another guard against a sporadic issue
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a tabbed viewmanager class. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
12 | from PyQt5.QtCore import ( |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
13 | pyqtSlot, QPoint, QFileInfo, pyqtSignal, QEvent, QByteArray, QMimeData, |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
14 | Qt, QSize |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
15 | ) |
8256
26a8b92aeabd
Tabview: added another guard against a sporadic issue
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
16 | from PyQt5.QtGui import QColor, QDrag, QPixmap, QMouseEvent |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
17 | from PyQt5.QtWidgets import ( |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
18 | QWidget, QHBoxLayout, QSplitter, QTabBar, QApplication, QToolButton, |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
19 | QMenu, QLabel |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
20 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
22 | from E5Gui.E5Application import e5App |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | from ViewManager.ViewManager import ViewManager |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | import QScintilla.Editor |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
27 | from QScintilla.Editor import Editor |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
28 | from QScintilla.EditorAssembly import EditorAssembly |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | import UI.PixmapCache |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
32 | from E5Gui.E5TabWidget import E5TabWidget, E5WheelTabBar |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
33 | from E5Gui.E5Led import E5Led |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | import Preferences |
1428
6fdd3432654f
Fixed issues (on non-Mac platforms) caused by the latest Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1422
diff
changeset
|
36 | from Globals import isMacPlatform |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
38 | from eric6config import getConfig |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
40 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
41 | class TabBar(E5WheelTabBar): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | Class implementing a customized tab bar supporting drag & drop. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
45 | @signal tabMoveRequested(int, int) emitted to signal a tab move request |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
46 | giving the old and new index position |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
47 | @signal tabRelocateRequested(str, int, int) emitted to signal a tab |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
48 | relocation request giving the string encoded id of the old tab widget, |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
49 | the index in the old tab widget and the new index position |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
50 | @signal tabCopyRequested(str, int, int) emitted to signal a clone request |
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
51 | giving the string encoded id of the source tab widget, the index in the |
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
52 | source tab widget and the new index position |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | @signal tabCopyRequested(int, int) emitted to signal a clone request giving |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | the old and new index position |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | """ |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
56 | tabMoveRequested = pyqtSignal(int, int) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
57 | tabRelocateRequested = pyqtSignal(str, int, int) |
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
58 | tabCopyRequested = pyqtSignal((str, int, int), (int, int)) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
59 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
60 | def __init__(self, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
64 | @param parent reference to the parent widget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
65 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
67 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | self.setAcceptDrops(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | self.__dragStartPos = QPoint() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | def mousePressEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | Protected method to handle mouse press events. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
76 | @param event reference to the mouse press event |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
77 | @type QMouseEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
79 | if event.button() == Qt.MouseButton.LeftButton: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.__dragStartPos = QPoint(event.pos()) |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
81 | super().mousePressEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | def mouseMoveEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | Protected method to handle mouse move events. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
87 | @param event reference to the mouse move event |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
88 | @type QMouseEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | """ |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
90 | if ( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
91 | event.buttons() == Qt.MouseButtons(Qt.MouseButton.LeftButton) and |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
92 | (event.pos() - self.__dragStartPos).manhattanLength() > |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
93 | QApplication.startDragDistance() |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
94 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | drag = QDrag(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | mimeData = QMimeData() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | index = self.tabAt(event.pos()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | mimeData.setText(self.tabText(index)) |
4344
d096b2c767d8
Changed code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4298
diff
changeset
|
99 | mimeData.setData("action", b"tab-reordering") |
d096b2c767d8
Changed code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4298
diff
changeset
|
100 | mimeData.setData("tabbar-id", str(id(self)).encode("utf-8")) |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
101 | mimeData.setData( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
102 | "source-index", |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
103 | QByteArray.number(self.tabAt(self.__dragStartPos))) |
4344
d096b2c767d8
Changed code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4298
diff
changeset
|
104 | mimeData.setData( |
d096b2c767d8
Changed code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4298
diff
changeset
|
105 | "tabwidget-id", |
d096b2c767d8
Changed code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4298
diff
changeset
|
106 | str(id(self.parentWidget())).encode("utf-8")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | drag.setMimeData(mimeData) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
108 | if event.modifiers() == Qt.KeyboardModifiers( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
109 | Qt.KeyboardModifier.ShiftModifier |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
110 | ): |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
111 | drag.exec(Qt.DropActions(Qt.DropAction.CopyAction)) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
112 | elif event.modifiers() == Qt.KeyboardModifiers( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
113 | Qt.KeyboardModifier.NoModifier |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
114 | ): |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
115 | drag.exec(Qt.DropActions(Qt.DropAction.MoveAction)) |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
116 | super().mouseMoveEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | def dragEnterEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | Protected method to handle drag enter events. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
122 | @param event reference to the drag enter event |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
123 | @type QDragEnterEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | mimeData = event.mimeData() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | formats = mimeData.formats() |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
127 | if ( |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
128 | "action" in formats and |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
129 | mimeData.data("action") == b"tab-reordering" and |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
130 | "tabbar-id" in formats and |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
131 | "source-index" in formats and |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
132 | "tabwidget-id" in formats |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
133 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | event.acceptProposedAction() |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
135 | super().dragEnterEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | def dropEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | Protected method to handle drop events. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
141 | @param event reference to the drop event |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
142 | @type QDropEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | mimeData = event.mimeData() |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
145 | oldID = int(mimeData.data("tabbar-id")) |
4344
d096b2c767d8
Changed code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4298
diff
changeset
|
146 | fromIndex = int(mimeData.data("source-index")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | toIndex = self.tabAt(event.pos()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | if oldID != id(self): |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
149 | parentID = int(mimeData.data("tabwidget-id")) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
150 | if event.proposedAction() == Qt.DropAction.MoveAction: |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
151 | self.tabRelocateRequested.emit( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
152 | str(parentID), fromIndex, toIndex) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | event.acceptProposedAction() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
154 | elif event.proposedAction() == Qt.DropAction.CopyAction: |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
155 | self.tabCopyRequested[str, int, int].emit( |
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
156 | str(parentID), fromIndex, toIndex) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | event.acceptProposedAction() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | if fromIndex != toIndex: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
160 | if event.proposedAction() == Qt.DropAction.MoveAction: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
161 | self.tabMoveRequested.emit(fromIndex, toIndex) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | event.acceptProposedAction() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
163 | elif event.proposedAction() == Qt.DropAction.CopyAction: |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
164 | self.tabCopyRequested[int, int].emit(fromIndex, toIndex) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | event.acceptProposedAction() |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
166 | super().dropEvent(event) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
168 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
169 | class TabWidget(E5TabWidget): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | Class implementing a custimized tab widget. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | def __init__(self, vm): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
177 | @param vm view manager widget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
178 | @type Tabview |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
180 | super().__init__() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | self.__tabBar = TabBar(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | self.setTabBar(self.__tabBar) |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
184 | iconSize = self.__tabBar.iconSize() |
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
185 | self.__tabBar.setIconSize( |
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
186 | QSize(2 * iconSize.width(), iconSize.height())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | |
1422
47f1dffa398e
Fixed the tab bar issue observed for some styles (like Mac Aqua).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1419
diff
changeset
|
188 | self.setUsesScrollButtons(True) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
189 | self.setElideMode(Qt.TextElideMode.ElideNone) |
1428
6fdd3432654f
Fixed issues (on non-Mac platforms) caused by the latest Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1422
diff
changeset
|
190 | if isMacPlatform(): |
6fdd3432654f
Fixed issues (on non-Mac platforms) caused by the latest Mac related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1422
diff
changeset
|
191 | self.setDocumentMode(True) |
1422
47f1dffa398e
Fixed the tab bar issue observed for some styles (like Mac Aqua).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1419
diff
changeset
|
192 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
193 | self.__tabBar.tabMoveRequested.connect(self.moveTab) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
194 | self.__tabBar.tabRelocateRequested.connect(self.__relocateTab) |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
195 | self.__tabBar.tabCopyRequested[str, int, int].connect( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
196 | self.__copyTabOther) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
197 | self.__tabBar.tabCopyRequested[int, int].connect(self.__copyTab) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | self.vm = vm |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | self.editors = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
202 | self.indicator = E5Led(self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
203 | self.setCornerWidget(self.indicator, Qt.Corner.TopLeftCorner) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | self.rightCornerWidget = QWidget(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | self.rightCornerWidgetLayout = QHBoxLayout(self.rightCornerWidget) |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2770
diff
changeset
|
207 | self.rightCornerWidgetLayout.setContentsMargins(0, 0, 0, 0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | self.rightCornerWidgetLayout.setSpacing(0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | self.__navigationMenu = QMenu(self) |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
458
diff
changeset
|
211 | self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
212 | self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | self.navigationButton = QToolButton(self) |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
215 | self.navigationButton.setIcon(UI.PixmapCache.getIcon("1downarrow")) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
216 | self.navigationButton.setToolTip(self.tr("Show a navigation menu")) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
217 | self.navigationButton.setPopupMode( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
218 | QToolButton.ToolButtonPopupMode.InstantPopup) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | self.navigationButton.setMenu(self.__navigationMenu) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | self.navigationButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | self.rightCornerWidgetLayout.addWidget(self.navigationButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | |
6999
f23e546a7eb9
Web Browser, Web Browser NG, Tabview: removed the option to use only one close button instead of one per tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
223 | self.tabCloseRequested.connect(self.__closeRequested) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
225 | self.setCornerWidget(self.rightCornerWidget, Qt.Corner.TopRightCorner) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | self.__initMenu() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | self.contextMenuEditor = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | self.contextMenuIndex = -1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
231 | self.setTabContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) |
458
1695e7a2db54
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
425
diff
changeset
|
232 | self.customTabContextMenuRequested.connect(self.__showContextMenu) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
234 | ericPic = QPixmap( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
235 | os.path.join(getConfig('ericPixDir'), 'eric_small.png')) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | self.emptyLabel = QLabel() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | self.emptyLabel.setPixmap(ericPic) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
238 | self.emptyLabel.setAlignment( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
239 | Qt.AlignmentFlag.AlignVCenter | Qt.AlignmentFlag.AlignHCenter) |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
240 | super().addTab( |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
241 | self.emptyLabel, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
242 | UI.PixmapCache.getIcon("empty"), "") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | def __initMenu(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | Private method to initialize the tab context menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | self.__menu = QMenu(self) |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
249 | self.leftMenuAct = self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
250 | UI.PixmapCache.getIcon("1leftarrow"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
251 | self.tr('Move Left'), self.__contextMenuMoveLeft) |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
252 | self.rightMenuAct = self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
253 | UI.PixmapCache.getIcon("1rightarrow"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
254 | self.tr('Move Right'), self.__contextMenuMoveRight) |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
255 | self.firstMenuAct = self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
256 | UI.PixmapCache.getIcon("2leftarrow"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
257 | self.tr('Move First'), self.__contextMenuMoveFirst) |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
258 | self.lastMenuAct = self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
259 | UI.PixmapCache.getIcon("2rightarrow"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
260 | self.tr('Move Last'), self.__contextMenuMoveLast) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | self.__menu.addSeparator() |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
262 | self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
263 | UI.PixmapCache.getIcon("tabClose"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
264 | self.tr('Close'), self.__contextMenuClose) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
560
diff
changeset
|
265 | self.closeOthersMenuAct = self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
266 | UI.PixmapCache.getIcon("tabCloseOther"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
267 | self.tr("Close Others"), self.__contextMenuCloseOthers) |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
268 | self.__menu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
269 | self.tr('Close All'), self.__contextMenuCloseAll) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | self.__menu.addSeparator() |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
271 | self.saveMenuAct = self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
272 | UI.PixmapCache.getIcon("fileSave"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
273 | self.tr('Save'), self.__contextMenuSave) |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
274 | self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
275 | UI.PixmapCache.getIcon("fileSaveAs"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
276 | self.tr('Save As...'), self.__contextMenuSaveAs) |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
277 | self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
278 | UI.PixmapCache.getIcon("fileSaveAll"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
279 | self.tr('Save All'), self.__contextMenuSaveAll) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | self.__menu.addSeparator() |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
281 | self.openRejectionsMenuAct = self.__menu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
282 | self.tr("Open 'rejection' file"), |
1299
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
283 | self.__contextMenuOpenRejections) |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
284 | self.__menu.addSeparator() |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
285 | self.__menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
286 | UI.PixmapCache.getIcon("print"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
287 | self.tr('Print'), self.__contextMenuPrintFile) |
396
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
288 | self.__menu.addSeparator() |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
289 | self.copyPathAct = self.__menu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
290 | self.tr("Copy Path to Clipboard"), |
396
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
291 | self.__contextMenuCopyPathToClipboard) |
0
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 | def __showContextMenu(self, coord, index): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | Private slot to show the tab context menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
297 | @param coord the position of the mouse pointer |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
298 | @type QPoint |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
299 | @param index index of the tab the menu is requested for |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
300 | @type int |
0
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 | if self.editors: |
6102
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
303 | widget = self.widget(index) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
304 | if widget is not None: |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
305 | self.contextMenuEditor = widget.getEditor() |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
306 | if self.contextMenuEditor: |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
307 | self.saveMenuAct.setEnabled( |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
308 | self.contextMenuEditor.isModified()) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
309 | fileName = self.contextMenuEditor.getFileName() |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
310 | self.copyPathAct.setEnabled(bool(fileName)) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
311 | if fileName: |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
312 | rej = "{0}.rej".format(fileName) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
313 | self.openRejectionsMenuAct.setEnabled( |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
314 | os.path.exists(rej)) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
315 | else: |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
316 | self.openRejectionsMenuAct.setEnabled(False) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
317 | |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
318 | self.contextMenuIndex = index |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
319 | self.leftMenuAct.setEnabled(index > 0) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
320 | self.rightMenuAct.setEnabled(index < self.count() - 1) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
321 | self.firstMenuAct.setEnabled(index > 0) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
322 | self.lastMenuAct.setEnabled(index < self.count() - 1) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
323 | |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
324 | self.closeOthersMenuAct.setEnabled(self.count() > 1) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
325 | |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
326 | coord = self.mapToGlobal(coord) |
a5b9f6a38faf
Fixed a situation in the tabview view manager that could cause a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6072
diff
changeset
|
327 | self.__menu.popup(coord) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | def __showNavigationMenu(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | Private slot to show the navigation button menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | self.__navigationMenu.clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | for index in range(self.count()): |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
335 | act = self.__navigationMenu.addAction(self.tabIcon(index), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | self.tabText(index)) |
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
|
337 | act.setData(index) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | def __navigationMenuTriggered(self, act): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | Private slot called to handle the navigation button menu selection. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
343 | @param act reference to the selected action |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
344 | @type QAction |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | """ |
8
0ae9bd4d2993
Fixed a few bugs introduced introduced by the change to the QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7
diff
changeset
|
346 | index = act.data() |
0ae9bd4d2993
Fixed a few bugs introduced introduced by the change to the QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7
diff
changeset
|
347 | if index is not None: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | self.setCurrentIndex(index) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | def showIndicator(self, on): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | Public slot to set the indicator on or off. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
354 | @param on flag indicating the state of the indicator |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
355 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | if on: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | self.indicator.setColor(QColor("green")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | self.indicator.setColor(QColor("red")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
362 | def addTab(self, assembly, title): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
364 | Public method to add a new tab. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
366 | @param assembly editor assembly object to be added |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
367 | @type QScintilla.EditorAssembly.EditorAssembly |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
368 | @param title title for the new tab |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
369 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
371 | editor = assembly.getEditor() |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
372 | super().addTab( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
373 | assembly, UI.PixmapCache.getIcon("empty"), title) |
6999
f23e546a7eb9
Web Browser, Web Browser NG, Tabview: removed the option to use only one close button instead of one per tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
374 | self.setTabsClosable(True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | self.navigationButton.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | |
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
|
377 | if editor not in self.editors: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | self.editors.append(editor) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
379 | editor.captionChanged.connect(self.__captionChange) |
6115
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
380 | editor.cursorLineChanged.connect( |
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
381 | lambda lineno: self.__cursorLineChanged(lineno, editor)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | emptyIndex = self.indexOf(self.emptyLabel) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | if emptyIndex > -1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | self.removeTab(emptyIndex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
387 | def insertWidget(self, index, assembly, title): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
389 | Public method to insert a new tab. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
391 | @param index index position for the new tab |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
392 | @type int |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
393 | @param assembly editor assembly object to be added |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
394 | @type QScintilla.EditorAssembly.EditorAssembly |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
395 | @param title title for the new tab |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
396 | @type str |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
397 | @return index of the inserted tab |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
398 | @rtype int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
400 | editor = assembly.getEditor() |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
401 | newIndex = super().insertTab( |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
402 | index, assembly, |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
403 | UI.PixmapCache.getIcon("empty"), |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
404 | title) |
6999
f23e546a7eb9
Web Browser, Web Browser NG, Tabview: removed the option to use only one close button instead of one per tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
405 | self.setTabsClosable(True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | self.navigationButton.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | |
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
|
408 | if editor not in self.editors: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | self.editors.append(editor) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
410 | editor.captionChanged.connect(self.__captionChange) |
6115
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
411 | editor.cursorLineChanged.connect( |
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
412 | lambda lineno: self.__cursorLineChanged(lineno, editor)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | emptyIndex = self.indexOf(self.emptyLabel) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | if emptyIndex > -1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | self.removeTab(emptyIndex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | return newIndex |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | def __captionChange(self, cap, editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | """ |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
421 | Private slot to handle Caption change signals from the editor. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
423 | Updates the tab text and tooltip text to reflect the new caption |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
424 | information. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | @param cap Caption for the editor |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
427 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | @param editor Editor to update the caption for |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
429 | @type Editor |
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 | fn = editor.getFileName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | if fn: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | if Preferences.getUI("TabViewManagerFilenameOnly"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | txt = os.path.basename(fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | else: |
248
f4561c24989a
Changed code to better deal with project relative paths on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
436 | txt = e5App().getObject("Project").getRelativePath(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
438 | maxFileNameChars = Preferences.getUI( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
439 | "TabViewManagerFilenameLength") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | if len(txt) > maxFileNameChars: |
425
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
396
diff
changeset
|
441 | txt = "...{0}".format(txt[-maxFileNameChars:]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | if editor.isReadOnly(): |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
443 | txt = self.tr("{0} (ro)").format(txt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
445 | assembly = editor.parent() |
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
446 | index = self.indexOf(assembly) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | if index > -1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | self.setTabText(index, txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | self.setTabToolTip(index, fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | |
6115
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
451 | def __cursorLineChanged(self, lineno, editor): |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
452 | """ |
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
453 | Private slot to handle a change of the current editor's cursor line. |
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
454 | |
6115
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
455 | @param lineno line number of the editor's cursor (zero based) |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
456 | @type int |
6115
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
457 | @param editor reference to the editor |
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
458 | @type Editor |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
459 | """ |
3007
bad2e89047e7
Fixed an issue in the tabview view manager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3005
diff
changeset
|
460 | if editor and isinstance(editor, QScintilla.Editor.Editor): |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
461 | fn = editor.getFileName() |
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
462 | if fn: |
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
463 | self.vm.editorLineChanged.emit(fn, lineno + 1) |
7705
90a9aefd4253
Finished to implement a Python Disassembly Viewer showing the byte code generated from a Python source file loaded in an editor pane.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
464 | self.vm.editorLineChangedEd.emit(editor, lineno + 1) |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
465 | |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
466 | def removeWidget(self, widget): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | Public method to remove a widget. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
470 | @param widget widget to be removed |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
471 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | """ |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
473 | if isinstance(widget, QScintilla.Editor.Editor): |
6115
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
474 | widget.cursorLineChanged.disconnect() |
ac3a98f3ebc2
Started removing the use of QObject.sender() because it causes trouble sometimes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6102
diff
changeset
|
475 | widget.captionChanged.disconnect() |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
476 | self.editors.remove(widget) |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
477 | index = self.indexOf(widget.parent()) |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
478 | else: |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
479 | index = self.indexOf(widget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | if index > -1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | self.removeTab(index) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | if not self.editors: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
484 | super().addTab( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
485 | self.emptyLabel, UI.PixmapCache.getIcon("empty"), "") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | self.emptyLabel.show() |
6999
f23e546a7eb9
Web Browser, Web Browser NG, Tabview: removed the option to use only one close button instead of one per tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
487 | self.setTabsClosable(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | self.navigationButton.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
490 | def __relocateTab(self, sourceId, sourceIndex, targetIndex): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
492 | Private method to relocate an editor from another TabWidget. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
494 | @param sourceId id of the TabWidget to get the editor from |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
495 | @type str |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
496 | @param sourceIndex index of the tab in the old tab widget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
497 | @type int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
498 | @param targetIndex index position to place it to |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
499 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
501 | tw = self.vm.getTabWidgetById(int(sourceId)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | if tw is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | # step 1: get data of the tab of the source |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | toolTip = tw.tabToolTip(sourceIndex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | text = tw.tabText(sourceIndex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | icon = tw.tabIcon(sourceIndex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | whatsThis = tw.tabWhatsThis(sourceIndex) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
508 | assembly = tw.widget(sourceIndex) |
0
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 | # step 2: relocate the tab |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
511 | tw.removeWidget(assembly.getEditor()) |
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
512 | self.insertWidget(targetIndex, assembly, text) |
0
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 | # step 3: set the tab data again |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | self.setTabIcon(targetIndex, icon) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | self.setTabToolTip(targetIndex, toolTip) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | self.setTabWhatsThis(targetIndex, whatsThis) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | # step 4: set current widget |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | self.setCurrentIndex(targetIndex) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
522 | def __copyTabOther(self, sourceId, sourceIndex, targetIndex): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
524 | Private method to copy an editor from another TabWidget. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
526 | @param sourceId id of the TabWidget to get the editor from |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
527 | @type str |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
528 | @param sourceIndex index of the tab in the old tab widget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
529 | @type int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
530 | @param targetIndex index position to place it to |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
531 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
533 | tw = self.vm.getTabWidgetById(int(sourceId)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | if tw is not None: |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
535 | editor = tw.widget(sourceIndex).getEditor() |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
536 | newEditor, assembly = self.vm.cloneEditor( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
537 | editor, editor.getFileType(), editor.getFileName()) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
538 | self.vm.insertView(assembly, self, targetIndex, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | editor.getFileName(), editor.getNoName()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
541 | def __copyTab(self, sourceIndex, targetIndex): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
543 | Private method to copy an editor. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
545 | @param sourceIndex index of the tab |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
546 | @type int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
547 | @param targetIndex index position to place it to |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
548 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | """ |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
550 | editor = self.widget(sourceIndex).getEditor() |
3025
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
551 | newEditor, assembly = self.vm.cloneEditor( |
67064c71df21
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3007
diff
changeset
|
552 | editor, editor.getFileType(), editor.getFileName()) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
553 | self.vm.insertView(assembly, self, targetIndex, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | editor.getFileName(), editor.getNoName()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | def currentWidget(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
558 | Public method to return a reference to the current page. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
560 | @return reference to the current page |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
561 | @rtype Editor |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | if not self.editors: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | return None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | else: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
566 | return super().currentWidget() |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
567 | |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
568 | def setCurrentWidget(self, assembly): |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
569 | """ |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
570 | Public method to set the current tab by the given editor assembly. |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
571 | |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
572 | @param assembly editor assembly to determine current tab from |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
573 | @type EditorAssembly.EditorAssembly |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
574 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
575 | super().setCurrentWidget(assembly) |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
576 | |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
577 | def indexOf(self, widget): |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
578 | """ |
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
579 | Public method to get the tab index of the given editor. |
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
580 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
581 | @param widget widget to get the index for |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
582 | @type QLabel or Editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
583 | @return tab index of the editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
584 | @rtype int |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
585 | """ |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
586 | if isinstance(widget, QScintilla.Editor.Editor): |
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
587 | widget = widget.parent() |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
588 | return super().indexOf(widget) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | def hasEditor(self, editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | Public method to check for an editor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | @param editor editor object to check for |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
595 | @type Editor |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
596 | @return flag indicating, whether the editor to be checked belongs |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
597 | to the list of editors managed by this tab widget. |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
598 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
599 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | return editor in self.editors |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
601 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | def hasEditors(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
603 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
604 | Public method to test, if any editor is managed. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
605 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
606 | @return flag indicating editors are managed |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
607 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
608 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | return len(self.editors) > 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | def __contextMenuClose(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | Private method to close the selected tab. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
614 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | if self.contextMenuEditor: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | self.vm.closeEditorWindow(self.contextMenuEditor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
618 | def __contextMenuCloseOthers(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
619 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
620 | Private method to close the other tabs. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | index = self.contextMenuIndex |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
623 | for i in ( |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
624 | list(range(self.count() - 1, index, -1)) + |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
625 | list(range(index - 1, -1, -1)) |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
626 | ): |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
627 | editor = self.widget(i).getEditor() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | self.vm.closeEditorWindow(editor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | def __contextMenuCloseAll(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
631 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
632 | Private method to close all tabs. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
633 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
634 | savedEditors = self.editors[:] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | for editor in savedEditors: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | self.vm.closeEditorWindow(editor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
638 | def __contextMenuSave(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
639 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
640 | Private method to save the selected tab. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
641 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | if self.contextMenuEditor: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | self.vm.saveEditorEd(self.contextMenuEditor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | def __contextMenuSaveAs(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
646 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
647 | Private method to save the selected tab to a new file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
648 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
649 | if self.contextMenuEditor: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
650 | self.vm.saveAsEditorEd(self.contextMenuEditor) |
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 | def __contextMenuSaveAll(self): |
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 | Private method to save all tabs. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
656 | self.vm.saveEditorsList(self.editors) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | |
1299
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
658 | def __contextMenuOpenRejections(self): |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
659 | """ |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
660 | Private slot to open a rejections file associated with the selected |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
661 | tab. |
1299
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
662 | """ |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
663 | if self.contextMenuEditor: |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
664 | fileName = self.contextMenuEditor.getFileName() |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
665 | if fileName: |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
666 | rej = "{0}.rej".format(fileName) |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
667 | if os.path.exists(rej): |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
668 | self.vm.openSourceFile(rej) |
fd5d21389d2b
Added an action to the editor context menu and to the tabview and listview view managers to open an associated 'rejections' file (i.e. same file name with '.rej' appended).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
669 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | def __contextMenuPrintFile(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | Private method to print the selected tab. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
673 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | if self.contextMenuEditor: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | self.vm.printEditor(self.contextMenuEditor) |
396
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
676 | |
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
677 | def __contextMenuCopyPathToClipboard(self): |
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
678 | """ |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
679 | Private method to copy the file name of the selected tab to the |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
680 | clipboard. |
396
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
681 | """ |
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
682 | if self.contextMenuEditor: |
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
683 | fn = self.contextMenuEditor.getFileName() |
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
684 | if fn: |
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
685 | cb = QApplication.clipboard() |
b967825e73c6
Added action to copy the editor path to the clipboard to the tab context menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
248
diff
changeset
|
686 | cb.setText(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | def __contextMenuMoveLeft(self): |
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 | Private method to move a tab one position to the left. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
691 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
692 | self.moveTab(self.contextMenuIndex, self.contextMenuIndex - 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
693 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | def __contextMenuMoveRight(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
695 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
696 | Private method to move a tab one position to the right. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
697 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | self.moveTab(self.contextMenuIndex, self.contextMenuIndex + 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
699 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | def __contextMenuMoveFirst(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
701 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
702 | Private method to move a tab to the first position. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
703 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | self.moveTab(self.contextMenuIndex, 0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
705 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
706 | def __contextMenuMoveLast(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
707 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
708 | Private method to move a tab to the last position. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
709 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
710 | self.moveTab(self.contextMenuIndex, self.count() - 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
711 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | def __closeButtonClicked(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
714 | Private method to handle the press of the close button. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
715 | """ |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
716 | self.vm.closeEditorWindow(self.currentWidget().getEditor()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
717 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
718 | def __closeRequested(self, index): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
719 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
720 | Private method to handle the press of the individual tab close button. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
721 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | @param index index of the tab (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
724 | if index >= 0: |
1358
c1622c708cd9
Added source navigation function for Python 2, Python 3 and Ruby sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1356
diff
changeset
|
725 | self.vm.closeEditorWindow(self.widget(index).getEditor()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
726 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
727 | def mouseDoubleClickEvent(self, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
728 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
729 | Protected method handling double click events. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
730 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
731 | @param event reference to the event object (QMouseEvent) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
732 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
733 | self.vm.newEditor() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
734 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
735 | |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
736 | class Tabview(ViewManager): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
737 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
738 | Class implementing a tabbed viewmanager class embedded in a splitter. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
739 | |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
740 | @signal changeCaption(str) emitted if a change of the caption is necessary |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
741 | @signal editorChanged(str) emitted when the current editor has changed |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
742 | @signal editorChangedEd(Editor) emitted when the current editor has changed |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
743 | @signal lastEditorClosed() emitted after the last editor window was closed |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
744 | @signal editorOpened(str) emitted after an editor window was opened |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
745 | @signal editorOpenedEd(Editor) emitted after an editor window was opened |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
746 | @signal editorClosed(str) emitted just before an editor window gets closed |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
747 | @signal editorClosedEd(Editor) emitted just before an editor window gets |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
748 | closed |
4025
ffc69fe3a61d
Added three new signals to the viewmanager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
749 | @signal editorRenamed(str) emitted after an editor was renamed |
ffc69fe3a61d
Added three new signals to the viewmanager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
750 | @signal editorRenamedEd(Editor) emitted after an editor was renamed |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
751 | @signal editorSaved(str) emitted after an editor window was saved |
4025
ffc69fe3a61d
Added three new signals to the viewmanager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
752 | @signal editorSavedEd(Editor) emitted after an editor window was saved |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
753 | @signal checkActions(Editor) emitted when some actions should be checked |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
754 | for their status |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
755 | @signal cursorChanged(Editor) emitted after the cursor position of the |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
756 | active window has changed |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
757 | @signal breakpointToggled(Editor) emitted when a breakpoint is toggled. |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
758 | @signal bookmarkToggled(Editor) emitted when a bookmark is toggled. |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
759 | @signal syntaxerrorToggled(Editor) emitted when a syntax error is toggled. |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
760 | @signal previewStateChanged(bool) emitted to signal a change in the |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
761 | preview state |
6931
faac36ec9d76
Started implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
762 | @signal previewStateChanged(bool) emitted to signal a change in the |
faac36ec9d76
Started implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
763 | preview state |
6932
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6931
diff
changeset
|
764 | @signal astViewerStateChanged(bool) emitted to signal a change in the |
8a3df4c6ac9a
Continued implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6931
diff
changeset
|
765 | AST viewer state |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
766 | @signal editorLanguageChanged(Editor) emitted to signal a change of an |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
767 | editors language |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
768 | @signal editorTextChanged(Editor) emitted to signal a change of an |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
769 | editor's text |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
770 | @signal editorLineChanged(str,int) emitted to signal a change of an |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
771 | editor's current line (line is given one based) |
7705
90a9aefd4253
Finished to implement a Python Disassembly Viewer showing the byte code generated from a Python source file loaded in an editor pane.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
772 | @signal editorLineChangedEd(Editor,int) emitted to signal a change of an |
90a9aefd4253
Finished to implement a Python Disassembly Viewer showing the byte code generated from a Python source file loaded in an editor pane.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
773 | editor's current line (line is given one based) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | """ |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
775 | changeCaption = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
776 | editorChanged = pyqtSignal(str) |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
777 | editorChangedEd = pyqtSignal(Editor) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
778 | lastEditorClosed = pyqtSignal() |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
779 | editorOpened = pyqtSignal(str) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
780 | editorOpenedEd = pyqtSignal(Editor) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
781 | editorClosed = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
782 | editorClosedEd = pyqtSignal(Editor) |
4025
ffc69fe3a61d
Added three new signals to the viewmanager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
783 | editorRenamed = pyqtSignal(str) |
ffc69fe3a61d
Added three new signals to the viewmanager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
784 | editorRenamedEd = pyqtSignal(Editor) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
785 | editorSaved = pyqtSignal(str) |
4025
ffc69fe3a61d
Added three new signals to the viewmanager.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
786 | editorSavedEd = pyqtSignal(Editor) |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
787 | checkActions = pyqtSignal(Editor) |
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
788 | cursorChanged = pyqtSignal(Editor) |
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
789 | breakpointToggled = pyqtSignal(Editor) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
790 | bookmarkToggled = pyqtSignal(Editor) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
791 | syntaxerrorToggled = pyqtSignal(Editor) |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
792 | previewStateChanged = pyqtSignal(bool) |
6931
faac36ec9d76
Started implementing the Python AST Viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
793 | astViewerStateChanged = pyqtSignal(bool) |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
794 | editorLanguageChanged = pyqtSignal(Editor) |
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
795 | editorTextChanged = pyqtSignal(Editor) |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
796 | editorLineChanged = pyqtSignal(str, int) |
7705
90a9aefd4253
Finished to implement a Python Disassembly Viewer showing the byte code generated from a Python source file loaded in an editor pane.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
797 | editorLineChangedEd = pyqtSignal(Editor, int) |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
798 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
799 | def __init__(self, parent): |
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 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
803 | @param parent parent widget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
804 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
805 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
806 | self.tabWidgets = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
807 | |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
808 | self.__splitter = QSplitter(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
809 | ViewManager.__init__(self) |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
810 | self.__splitter.setChildrenCollapsible(False) |
4393
aa574fe5ea93
Fixed an issue where the splitted view were collapsed once one such view was removed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4344
diff
changeset
|
811 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
812 | tw = TabWidget(self) |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
813 | self.__splitter.addWidget(tw) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
814 | self.tabWidgets.append(tw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
815 | self.currentTabWidget = tw |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
816 | self.currentTabWidget.showIndicator(True) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
817 | tw.currentChanged.connect(self.__currentChanged) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
818 | tw.installEventFilter(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
819 | tw.tabBar().installEventFilter(self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
820 | self.__splitter.setOrientation(Qt.Orientation.Vertical) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
821 | self.__inRemoveView = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
822 | |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
823 | self.maxFileNameChars = Preferences.getUI( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
824 | "TabViewManagerFilenameLength") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
825 | self.filenameOnly = Preferences.getUI("TabViewManagerFilenameOnly") |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
826 | |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
827 | def mainWidget(self): |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
828 | """ |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
829 | Public method to return a reference to the main Widget of a |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
830 | specific view manager subclass. |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
831 | |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
832 | @return reference to the main widget |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
833 | @rtype QWidget |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
834 | """ |
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
835 | return self.__splitter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
836 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
837 | def canCascade(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
838 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
839 | Public method to signal if cascading of managed windows is available. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
840 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
841 | @return flag indicating cascading of windows is available |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
842 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
843 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | return False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
845 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
846 | def canTile(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
848 | Public method to signal if tiling of managed windows is available. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
849 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | @return flag indicating tiling of windows is available |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
851 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
853 | return False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
854 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | def canSplit(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | public method to signal if splitting of the view is available. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
858 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
859 | @return flag indicating splitting of the view is available. |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
860 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
861 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
862 | return True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | def tile(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
865 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
866 | Public method to tile the managed windows. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
867 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
868 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
870 | def cascade(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
871 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
872 | Public method to cascade the managed windows. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
873 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
874 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
875 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
876 | def _removeAllViews(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
877 | """ |
2964
84b65fb9e780
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
878 | Protected method to remove all views (i.e. windows). |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
880 | for win in self.editors: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | self._removeView(win) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
882 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
883 | def _removeView(self, win): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
884 | """ |
2964
84b65fb9e780
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
885 | Protected method to remove a view (i.e. window). |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | @param win editor window to be removed |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
888 | @type Editor |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | self.__inRemoveView = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | for tw in self.tabWidgets: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
892 | if tw.hasEditor(win): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
893 | tw.removeWidget(win) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
894 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
895 | win.closeIt() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | self.__inRemoveView = 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 | # if this was the last editor in this view, switch to the next, that |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | # still has open editors |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
900 | for i in ( |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
901 | list(range(self.tabWidgets.index(tw), -1, -1)) + |
3037
a417a0670a36
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3025
diff
changeset
|
902 | list(range(self.tabWidgets.index(tw) + 1, |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
903 | len(self.tabWidgets))) |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
904 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
905 | if self.tabWidgets[i].hasEditors(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
906 | self.currentTabWidget.showIndicator(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
907 | self.currentTabWidget = self.tabWidgets[i] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
908 | self.currentTabWidget.showIndicator(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
909 | self.activeWindow().setFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
910 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
911 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
912 | aw = self.activeWindow() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
913 | fn = aw and aw.getFileName() or None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
914 | if fn: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
915 | self.changeCaption.emit(fn) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
916 | self.editorChanged.emit(fn) |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
917 | self.editorLineChanged.emit(fn, aw.getCursorPosition()[0] + 1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
918 | else: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
919 | self.changeCaption.emit("") |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
920 | self.editorChangedEd.emit(aw) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
921 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
922 | def _addView(self, win, fn=None, noName="", addNext=False, indexes=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
923 | """ |
2964
84b65fb9e780
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
924 | Protected method to add a view (i.e. window). |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
925 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
926 | @param win editor assembly to be added |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
927 | @type EditorAssembly |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
928 | @param fn filename of this editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
929 | @type str |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
930 | @param noName name to be used for an unnamed editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
931 | @type str |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
932 | @param addNext flag indicating to add the view next to the current |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
933 | view |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
934 | @type bool |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
935 | @param indexes of the editor, first the split view index, second the |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
936 | index within the view |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
937 | @type tuple of two int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
938 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
939 | editor = win.getEditor() |
6055
ab7128b76524
Fixed an issue cloning an editor without a file name.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6052
diff
changeset
|
940 | if not fn: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
941 | if not noName: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
942 | self.untitledCount += 1 |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
943 | noName = self.tr("Untitled {0}").format(self.untitledCount) |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
944 | if addNext: |
4298
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
945 | index = self.currentTabWidget.currentIndex() + 1 |
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
946 | self.currentTabWidget.insertWidget(index, win, noName) |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
947 | elif indexes: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
948 | if indexes[0] < len(self.tabWidgets): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
949 | tw = self.tabWidgets[indexes[0]] |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
950 | else: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
951 | tw = self.tabWidgets[-1] |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
952 | tw.insertWidget(indexes[1], win, noName) |
4298
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
953 | else: |
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
954 | self.currentTabWidget.addTab(win, noName) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
955 | editor.setNoName(noName) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
956 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
957 | if self.filenameOnly: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
958 | txt = os.path.basename(fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
959 | else: |
248
f4561c24989a
Changed code to better deal with project relative paths on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
960 | txt = e5App().getObject("Project").getRelativePath(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
961 | if len(txt) > self.maxFileNameChars: |
425
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
396
diff
changeset
|
962 | txt = "...{0}".format(txt[-self.maxFileNameChars:]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
963 | if not QFileInfo(fn).isWritable(): |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
964 | txt = self.tr("{0} (ro)").format(txt) |
5588
6ba512d9f46a
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
965 | if addNext: |
4298
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
966 | index = self.currentTabWidget.currentIndex() + 1 |
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
967 | self.currentTabWidget.insertWidget(index, win, txt) |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
968 | elif indexes: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
969 | if indexes[0] < len(self.tabWidgets): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
970 | tw = self.tabWidgets[indexes[0]] |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
971 | else: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
972 | tw = self.tabWidgets[-1] |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
973 | tw.insertWidget(indexes[1], win, txt) |
4298
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
974 | else: |
4e7a0e2c20fc
Extended the viewmanager interface to allow to open a new editor next to the current one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4025
diff
changeset
|
975 | self.currentTabWidget.addTab(win, txt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
976 | index = self.currentTabWidget.indexOf(win) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
977 | self.currentTabWidget.setTabToolTip(index, fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
978 | self.currentTabWidget.setCurrentWidget(win) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
979 | win.show() |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
980 | editor.setFocus() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
981 | if fn: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
982 | self.changeCaption.emit(fn) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
983 | self.editorChanged.emit(fn) |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
984 | self.editorLineChanged.emit(fn, editor.getCursorPosition()[0] + 1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | else: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
986 | self.changeCaption.emit("") |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
987 | self.editorChangedEd.emit(editor) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
988 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
989 | def insertView(self, win, tabWidget, index, fn=None, noName=""): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
990 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
991 | Public method to add a view (i.e. window). |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
992 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
993 | @param win editor assembly to be inserted |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
994 | @type EditorAssembly |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
995 | @param tabWidget reference to the tab widget to insert the editor into |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
996 | @type TabWidget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
997 | @param index index position to insert at |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
998 | @type int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
999 | @param fn filename of this editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1000 | @type str |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1001 | @param noName name to be used for an unnamed editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1002 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1003 | """ |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
1004 | editor = win.getEditor() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1005 | if fn is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1006 | if not noName: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1007 | self.untitledCount += 1 |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1008 | noName = self.tr("Untitled {0}").format(self.untitledCount) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1009 | tabWidget.insertWidget(index, win, noName) |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
1010 | editor.setNoName(noName) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1011 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1012 | if self.filenameOnly: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1013 | txt = os.path.basename(fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1014 | else: |
248
f4561c24989a
Changed code to better deal with project relative paths on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
88
diff
changeset
|
1015 | txt = e5App().getObject("Project").getRelativePath(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1016 | if len(txt) > self.maxFileNameChars: |
425
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
396
diff
changeset
|
1017 | txt = "...{0}".format(txt[-self.maxFileNameChars:]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1018 | if not QFileInfo(fn).isWritable(): |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1019 | txt = self.tr("{0} (ro)").format(txt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1020 | nindex = tabWidget.insertWidget(index, win, txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1021 | tabWidget.setTabToolTip(nindex, fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1022 | tabWidget.setCurrentWidget(win) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1023 | win.show() |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
1024 | editor.setFocus() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1025 | if fn: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1026 | self.changeCaption.emit(fn) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1027 | self.editorChanged.emit(fn) |
2769
8cbebde7a984
Added support to highlight the current class/method name of the current editor to the project sources viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
1028 | self.editorLineChanged.emit(fn, editor.getCursorPosition()[0] + 1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1029 | else: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1030 | self.changeCaption.emit("") |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1031 | self.editorChangedEd.emit(editor) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1032 | |
1416
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
1033 | self._modificationStatusChanged(editor.isModified(), editor) |
c547d0b2e9c6
Fixed a few issues related to the new editor assembly and to drag&drop of tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1358
diff
changeset
|
1034 | self._checkActions(editor) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1035 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
825
diff
changeset
|
1036 | def _showView(self, win, fn=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1037 | """ |
2964
84b65fb9e780
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
1038 | Protected method to show a view (i.e. window). |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1039 | |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1040 | @param win editor assembly to be shown |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1041 | @type EditorAssembly |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1042 | @param fn filename of this editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1043 | @type str |
0
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 | win.show() |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1046 | editor = win.getEditor() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1047 | for tw in self.tabWidgets: |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1048 | if tw.hasEditor(editor): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1049 | tw.setCurrentWidget(win) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1050 | self.currentTabWidget.showIndicator(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1051 | self.currentTabWidget = tw |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1052 | self.currentTabWidget.showIndicator(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1053 | break |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1054 | editor.setFocus() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1055 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1056 | def activeWindow(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1057 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1058 | Public method to return the active (i.e. current) window. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1059 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1060 | @return reference to the active editor |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1061 | @rtype Editor |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1062 | """ |
1419
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1063 | cw = self.currentTabWidget.currentWidget() |
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1064 | if cw: |
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1065 | return cw.getEditor() |
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1066 | else: |
e200f9084c5d
Fixed a few more editor assembly related issues and made 'listspace' the default view manager for Mac.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1416
diff
changeset
|
1067 | return None |
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 | def showWindowMenu(self, windowMenu): |
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 | Public method to set up the viewmanager part of the Window menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1072 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1073 | @param windowMenu reference to the window menu |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1074 | @type QMenu |
0
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 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1077 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1078 | def _initWindowActions(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1079 | """ |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1080 | Protected method to define the user interface actions for window |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1081 | handling. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1082 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1083 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1084 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1085 | def setEditorName(self, editor, newName): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1086 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1087 | Public method to change the displayed name of the editor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1088 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1089 | @param editor editor window to be changed |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1090 | @type Editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1091 | @param newName new name to be shown |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1092 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1093 | """ |
560
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1094 | if newName: |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1095 | if self.filenameOnly: |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1096 | tabName = os.path.basename(newName) |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1097 | else: |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1098 | tabName = e5App().getObject("Project").getRelativePath(newName) |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1099 | if len(tabName) > self.maxFileNameChars: |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1100 | tabName = "...{0}".format(tabName[-self.maxFileNameChars:]) |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1101 | index = self.currentTabWidget.indexOf(editor) |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1102 | self.currentTabWidget.setTabText(index, tabName) |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1103 | self.currentTabWidget.setTabToolTip(index, newName) |
0a621357b213
Fixed bugs in some view manager plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
501
diff
changeset
|
1104 | self.changeCaption.emit(newName) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1105 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1106 | def _modificationStatusChanged(self, m, editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1107 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1108 | Protected slot to handle the modificationStatusChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1109 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1110 | @param m flag indicating the modification status |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1111 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1112 | @param editor editor window changed |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1113 | @type Editor |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1114 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1115 | for tw in self.tabWidgets: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1116 | if tw.hasEditor(editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1117 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1118 | index = tw.indexOf(editor) |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1119 | keys = [] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1120 | if m: |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1121 | keys.append("fileModified") |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1122 | if editor.hasSyntaxErrors(): |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1123 | keys.append("syntaxError22") |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3037
diff
changeset
|
1124 | elif editor.hasWarnings(): |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1125 | keys.append("warning22") |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1126 | if not keys: |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1127 | keys.append("empty") |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1128 | tw.setTabIcon(index, UI.PixmapCache.getCombinedIcon(keys)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1129 | self._checkActions(editor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1130 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1131 | def _syntaxErrorToggled(self, editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1132 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1133 | Protected slot to handle the syntaxerrorToggled signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1134 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1135 | @param editor editor that sent the signal |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1136 | @type Editor |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1137 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1138 | for tw in self.tabWidgets: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1139 | if tw.hasEditor(editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1140 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1141 | index = tw.indexOf(editor) |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1142 | keys = [] |
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1143 | if editor.isModified(): |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1144 | keys.append("fileModified") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1145 | if editor.hasSyntaxErrors(): |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1146 | keys.append("syntaxError22") |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3037
diff
changeset
|
1147 | elif editor.hasWarnings(): |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1148 | keys.append("warning22") |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1149 | if not keys: |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1150 | keys.append("empty") |
3270
d8532d902e76
Extended Tabview and Listview to show an editor's state using two icons (modified, syntax error/warning).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3201
diff
changeset
|
1151 | tw.setTabIcon(index, UI.PixmapCache.getCombinedIcon(keys)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1152 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1153 | ViewManager._syntaxErrorToggled(self, editor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1154 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1155 | def addSplit(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1156 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1157 | Public method used to split the current view. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1158 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1159 | tw = TabWidget(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1160 | tw.show() |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1161 | self.__splitter.addWidget(tw) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1162 | self.tabWidgets.append(tw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1163 | self.currentTabWidget.showIndicator(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1164 | self.currentTabWidget = self.tabWidgets[-1] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1165 | self.currentTabWidget.showIndicator(True) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1166 | tw.currentChanged.connect(self.__currentChanged) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1167 | tw.installEventFilter(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1168 | tw.tabBar().installEventFilter(self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1169 | if self.__splitter.orientation() == Qt.Orientation.Horizontal: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1170 | size = self.width() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1171 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1172 | size = self.height() |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1173 | self.__splitter.setSizes( |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1174 | [int(size / len(self.tabWidgets))] * len(self.tabWidgets)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1175 | self.splitRemoveAct.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1176 | self.nextSplitAct.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1177 | self.prevSplitAct.setEnabled(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1178 | |
6072
059c8f981ef4
Fixed a signal/slot issue with the "Remove Split" action.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6055
diff
changeset
|
1179 | @pyqtSlot() |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1180 | def removeSplit(self, index=-1): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1181 | """ |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1182 | Public method used to remove the current split view or a split view |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1183 | by index. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1184 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1185 | @param index index of the split to be removed (-1 means to |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1186 | delete the current split) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1187 | @type int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1188 | @return flag indicating successful deletion |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1189 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1190 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1191 | if len(self.tabWidgets) > 1: |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1192 | if index == -1: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1193 | tw = self.currentTabWidget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1194 | else: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1195 | if index < len(self.tabWidgets): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1196 | tw = self.tabWidgets[index] |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1197 | else: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1198 | tw = self.tabWidgets[-1] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1199 | res = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1200 | savedEditors = tw.editors[:] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1201 | for editor in savedEditors: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1202 | res &= self.closeEditor(editor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1203 | if res: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1204 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1205 | i = self.tabWidgets.index(tw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1206 | except ValueError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1207 | return True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1208 | if i == len(self.tabWidgets) - 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1209 | i -= 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1210 | self.tabWidgets.remove(tw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1211 | tw.close() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1212 | self.currentTabWidget = self.tabWidgets[i] |
4403
bd43fd5b4606
Fixed an issue in the TabView causing multiple green LEDs and an issue in the ListView causing a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4393
diff
changeset
|
1213 | for tw in self.tabWidgets: |
bd43fd5b4606
Fixed an issue in the TabView causing multiple green LEDs and an issue in the ListView causing a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4393
diff
changeset
|
1214 | tw.showIndicator(tw == self.currentTabWidget) |
bd43fd5b4606
Fixed an issue in the TabView causing multiple green LEDs and an issue in the ListView causing a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4393
diff
changeset
|
1215 | if self.currentTabWidget is not None: |
bd43fd5b4606
Fixed an issue in the TabView causing multiple green LEDs and an issue in the ListView causing a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4393
diff
changeset
|
1216 | assembly = self.currentTabWidget.currentWidget() |
bd43fd5b4606
Fixed an issue in the TabView causing multiple green LEDs and an issue in the ListView causing a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4393
diff
changeset
|
1217 | if assembly is not None: |
bd43fd5b4606
Fixed an issue in the TabView causing multiple green LEDs and an issue in the ListView causing a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4393
diff
changeset
|
1218 | editor = assembly.getEditor() |
bd43fd5b4606
Fixed an issue in the TabView causing multiple green LEDs and an issue in the ListView causing a traceback.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4393
diff
changeset
|
1219 | if editor is not None: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1220 | editor.setFocus(Qt.FocusReason.OtherFocusReason) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1221 | if len(self.tabWidgets) == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1222 | self.splitRemoveAct.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1223 | self.nextSplitAct.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1224 | self.prevSplitAct.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1225 | return True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1226 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1227 | return False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1228 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1229 | def splitCount(self): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1230 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1231 | Public method to get the number of splitted views. |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1232 | |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1233 | @return number of splitted views |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1234 | @rtype int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1235 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1236 | return len(self.tabWidgets) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1237 | |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1238 | def setSplitCount(self, count): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1239 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1240 | Public method to set the number of split views. |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1241 | |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1242 | @param count number of split views |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1243 | @type int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1244 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1245 | if count > self.splitCount(): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1246 | while self.splitCount() < count: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1247 | self.addSplit() |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1248 | elif count < self.splitCount(): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1249 | while self.splitCount() > count: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1250 | # use an arbitrarily large index to remove the last one |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1251 | self.removeSplit(index=100) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1252 | |
3100
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3062
diff
changeset
|
1253 | def getSplitOrientation(self): |
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3062
diff
changeset
|
1254 | """ |
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3062
diff
changeset
|
1255 | Public method to get the orientation of the split view. |
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3062
diff
changeset
|
1256 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1257 | @return orientation of the split |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1258 | @rtype Qt.Orientation.Horizontal or Qt.Orientation.Vertical |
3100
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3062
diff
changeset
|
1259 | """ |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1260 | return self.__splitter.orientation() |
3100
1c86bf655433
Added icons to the editor context menu 'New View' entries and gave them better titles.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3062
diff
changeset
|
1261 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1262 | def setSplitOrientation(self, orientation): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1263 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1264 | Public method used to set the orientation of the split view. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1265 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1266 | @param orientation orientation of the split |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1267 | @type Qt.Orientation.Horizontal or Qt.Orientation.Vertical |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1268 | """ |
4896
5ace700023de
Changed code to get rid of multiple inheritance in the viewmanager subclasses.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1269 | self.__splitter.setOrientation(orientation) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1270 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1271 | def nextSplit(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1272 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1273 | Public slot used to move to the next split. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1274 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1275 | aw = self.activeWindow() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1276 | _hasFocus = aw and aw.hasFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1277 | ind = self.tabWidgets.index(self.currentTabWidget) + 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1278 | if ind == len(self.tabWidgets): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1279 | ind = 0 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1280 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1281 | self.currentTabWidget.showIndicator(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1282 | self.currentTabWidget = self.tabWidgets[ind] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1283 | self.currentTabWidget.showIndicator(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1284 | if _hasFocus: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1285 | aw = self.activeWindow() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1286 | if aw: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1287 | aw.setFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1288 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1289 | def prevSplit(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1290 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1291 | Public slot used to move to the previous split. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1292 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1293 | aw = self.activeWindow() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1294 | _hasFocus = aw and aw.hasFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1295 | ind = self.tabWidgets.index(self.currentTabWidget) - 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1296 | if ind == -1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1297 | ind = len(self.tabWidgets) - 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1298 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1299 | self.currentTabWidget.showIndicator(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1300 | self.currentTabWidget = self.tabWidgets[ind] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1301 | self.currentTabWidget.showIndicator(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1302 | if _hasFocus: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1303 | aw = self.activeWindow() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1304 | if aw: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1305 | aw.setFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1306 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1307 | def __currentChanged(self, index): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1308 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1309 | Private slot to handle the currentChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1310 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1311 | @param index index of the current tab |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1312 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1313 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1314 | if index == -1 or not self.editors: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1315 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1316 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1317 | editor = self.activeWindow() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1318 | if editor is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1319 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1320 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1321 | self._checkActions(editor) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1322 | editor.setFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1323 | fn = editor.getFileName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1324 | if fn: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1325 | self.changeCaption.emit(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1326 | if not self.__inRemoveView: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1327 | self.editorChanged.emit(fn) |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1328 | self.editorLineChanged.emit( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1329 | fn, editor.getCursorPosition()[0] + 1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1330 | else: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1331 | self.changeCaption.emit("") |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1332 | self.editorChangedEd.emit(editor) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1333 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1334 | def eventFilter(self, watched, event): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1335 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1336 | Public method called to filter the event queue. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1337 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1338 | @param watched the QObject being watched |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1339 | @type QObject |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1340 | @param event the event that occurred |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1341 | @type QEvent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1342 | @return always False |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1343 | @rtype bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1344 | """ |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1345 | if ( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1346 | event.type() == QEvent.Type.MouseButtonPress and |
8256
26a8b92aeabd
Tabview: added another guard against a sporadic issue
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1347 | isinstance(event, QMouseEvent) and |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
1348 | event.button() != Qt.MouseButton.RightButton |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1349 | ): |
3893
52c53efa7627
Fixed an issue in the tab view and list view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
1350 | switched = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1351 | self.currentTabWidget.showIndicator(False) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
1352 | if isinstance(watched, E5TabWidget): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1353 | switched = watched is not self.currentTabWidget |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1354 | self.currentTabWidget = watched |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1355 | elif isinstance(watched, QTabBar): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1356 | switched = watched.parent() is not self.currentTabWidget |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1357 | self.currentTabWidget = watched.parent() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1358 | if switched: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1359 | index = self.currentTabWidget.selectTab(event.pos()) |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1360 | switched = ( |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1361 | self.currentTabWidget.widget(index) is |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1362 | self.activeWindow() |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1363 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1364 | elif isinstance(watched, QScintilla.Editor.Editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1365 | for tw in self.tabWidgets: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1366 | if tw.hasEditor(watched): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1367 | switched = tw is not self.currentTabWidget |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1368 | self.currentTabWidget = tw |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1369 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1370 | self.currentTabWidget.showIndicator(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1371 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1372 | aw = self.activeWindow() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1373 | if aw is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1374 | self._checkActions(aw) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1375 | aw.setFocus() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1376 | fn = aw.getFileName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1377 | if fn: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1378 | self.changeCaption.emit(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1379 | if switched: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1380 | self.editorChanged.emit(fn) |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1381 | self.editorLineChanged.emit( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1382 | fn, aw.getCursorPosition()[0] + 1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1383 | else: |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
1384 | self.changeCaption.emit("") |
2424
8fe1fdc174ab
Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1385 | self.editorChangedEd.emit(aw) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1386 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1387 | return False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1388 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1389 | def preferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1390 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1391 | Public slot to handle the preferencesChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1392 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1393 | ViewManager.preferencesChanged(self) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1394 | |
3005
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1395 | self.maxFileNameChars = Preferences.getUI( |
3953ddfb991d
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2964
diff
changeset
|
1396 | "TabViewManagerFilenameLength") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1397 | self.filenameOnly = Preferences.getUI("TabViewManagerFilenameOnly") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1398 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1399 | for tabWidget in self.tabWidgets: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1400 | for index in range(tabWidget.count()): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1401 | editor = tabWidget.widget(index) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1402 | if isinstance(editor, QScintilla.Editor.Editor): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1403 | fn = editor.getFileName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1404 | if fn: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1405 | if self.filenameOnly: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1406 | txt = os.path.basename(fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1407 | else: |
7258
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1408 | txt = e5App().getObject( |
aff39db4dacc
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
1409 | "Project").getRelativePath(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1410 | if len(txt) > self.maxFileNameChars: |
425
ca5e65413fc5
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
396
diff
changeset
|
1411 | txt = "...{0}".format(txt[-self.maxFileNameChars:]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1412 | if not QFileInfo(fn).isWritable(): |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1413 | txt = self.tr("{0} (ro)").format(txt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1414 | tabWidget.setTabText(index, txt) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1415 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1416 | def getTabWidgetById(self, id_): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1417 | """ |
2763
e4794166ad70
Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2424
diff
changeset
|
1418 | Public method to get a reference to a tab widget knowing its ID. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1419 | |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1420 | @param id_ id of the tab widget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1421 | @type int |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1422 | @return reference to the tab widget |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1423 | @rtype TabWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1424 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1425 | for tw in self.tabWidgets: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1426 | if id(tw) == id_: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1427 | return tw |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
1428 | return None |
6052
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1429 | |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1430 | def getOpenEditorsForSession(self): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1431 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1432 | Public method to get a lists of all open editors. |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1433 | |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1434 | The returned list contains one list per split view. If the view manager |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1435 | cannot split the view, only one list of editors is returned. |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1436 | |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1437 | @return list of list of editor references |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1438 | @rtype list of list of Editor |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1439 | """ |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1440 | editorLists = [] |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1441 | for tabWidget in self.tabWidgets: |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1442 | editors = [] |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1443 | for index in range(tabWidget.count()): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1444 | widget = tabWidget.widget(index) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1445 | if isinstance(widget, EditorAssembly): |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1446 | editor = widget.getEditor() |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1447 | editors.append(editor) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1448 | editorLists.append(editors) |
8b49d3e0b4c8
Extended the session to store/retrieve the split views and the order of the editors.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1449 | return editorLists |