Tue, 09 Apr 2024 14:27:03 +0200
Editor Outline, File Browser, Project Browser
- Improved the navigation capability by respecting the column offset when placing the cursor of the editor (see issue 554).
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10430
diff
changeset
|
3 | # Copyright (c) 2002 - 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
7 | Module implementing the project browser part of the eric UI. |
0
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 | |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
10 | import contextlib |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
11 | |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
12 | from PyQt6.QtCore import Qt, pyqtSignal |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
13 | from PyQt6.QtGui import QColor, QIcon |
9647
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
14 | from PyQt6.QtWidgets import QToolButton |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
16 | from eric7 import Preferences |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
17 | from eric7.EricGui import EricPixmapCache |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
18 | from eric7.EricWidgets import EricMessageBox |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
19 | from eric7.EricWidgets.EricLed import EricClickableLed |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
20 | from eric7.EricWidgets.EricTabWidget import EricTabWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
22 | from .ProjectBrowserRepositoryItem import ProjectBrowserRepositoryItem |
9482
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
23 | from .ProjectFormsBrowser import ProjectFormsBrowser |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
24 | from .ProjectOthersBrowser import ProjectOthersBrowser |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
25 | from .ProjectResourcesBrowser import ProjectResourcesBrowser |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
26 | from .ProjectSourcesBrowser import ProjectSourcesBrowser |
a2bc06a54d9d
Corrected/acknowledged some bad import style and removed some obsolete code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
27 | from .ProjectTranslationsBrowser import ProjectTranslationsBrowser |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
29 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
30 | class ProjectBrowser(EricTabWidget): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
32 | Class implementing the project browser part of the eric UI. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
33 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | It generates a widget with up to seven tabs. The individual tabs contain |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | the project sources browser, the project forms browser, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | the project resources browser, the project translations browser, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | the project interfaces (IDL) browser and a browser for stuff, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | that doesn't fit these categories. Optionally it contains an additional |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | tab with the file system browser. |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
40 | |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
41 | Note: The following signals are defined here to proxy the individual browser |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
42 | signals. |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
43 | |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
44 | @signal appendStderr(str) emitted after something was received from |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
45 | a QProcess on stderr |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
46 | @signal appendStdout(str) emitted after something was received from |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
47 | a QProcess on stdout |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
48 | @signal binaryFile(filename) emitted to open a file as binary (str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
49 | @signal closeSourceWindow(str) emitted to close a source file |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
50 | @signal designerFile(filename) emitted to open a Qt-Designer file (str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
51 | @signal linguistFile(filename) emitted to open a Qt-Linguist (*.ts) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
52 | file (str) |
9697
cdaa3cc805f7
Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
53 | @signal pdfFile(filename) emitted to open a PDF file (str) |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
54 | @signal pixmapEditFile(filename) emitted to edit a pixmap file (str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
55 | @signal pixmapFile(filename) emitted to open a pixmap file (str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
56 | @signal preferencesChanged() emitted when the preferences have been changed |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
57 | @signal sourceFile(filename) emitted to open a Python file at a line (str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
58 | @signal sourceFile(filename, lineno) emitted to open a Python file at a |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
59 | line (str, int) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
60 | @signal sourceFile(filename, lineno, type) emitted to open a Python file |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
61 | at a line giving an explicit file type (str, int, str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
62 | @signal sourceFile(filename, linenos) emitted to open a Python file giving |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
63 | a list of lines(str, list) |
10677
6ee2e475490c
Editor Outline, File Browser, Project Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
64 | @signal sourceFile(filename, lineno, col_offset) emitted to open a Python file at a |
6ee2e475490c
Editor Outline, File Browser, Project Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
65 | line and column (str, int, int) |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
66 | @signal svgFile(filename) emitted to open a SVG file (str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
67 | @signal testFile(filename) emitted to open a Python file for a |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
68 | unit test (str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
69 | @signal trpreview(filenames) emitted to preview Qt-Linguist (*.qm) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
70 | files (list of str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
71 | @signal trpreview(filenames, ignore) emitted to preview Qt-Linguist (*.qm) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
72 | files indicating whether non-existent files shall be ignored |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
73 | (list of str, bool) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
74 | @signal uipreview(str) emitted to preview a forms file |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
75 | @signal umlFile(filename) emitted to open an eric UML file (str) |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
76 | @signal processChangedProjectFiles() emitted to indicate, that changed project files |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
77 | should be processed |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
79 | |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
80 | appendStderr = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
81 | appendStdout = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
82 | binaryFile = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
83 | closeSourceWindow = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
84 | designerFile = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
85 | linguistFile = pyqtSignal(str) |
9697
cdaa3cc805f7
Started implementing a PDF viewer tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
86 | pdfFile = pyqtSignal(str) |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
87 | pixmapEditFile = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
88 | pixmapFile = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
89 | preferencesChanged = pyqtSignal() |
10677
6ee2e475490c
Editor Outline, File Browser, Project Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
90 | sourceFile = pyqtSignal( |
6ee2e475490c
Editor Outline, File Browser, Project Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
91 | (str,), (str, int), (str, int, int), (str, list), (str, int, str) |
6ee2e475490c
Editor Outline, File Browser, Project Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10621
diff
changeset
|
92 | ) |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
93 | svgFile = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
94 | testFile = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
95 | trpreview = pyqtSignal((list,), (list, bool)) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
96 | uipreview = pyqtSignal(str) |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
97 | umlFile = pyqtSignal(str) |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
98 | processChangedProjectFiles = pyqtSignal() |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
99 | |
6416
a915f8dd1ca6
File-Browser, Shell: changed code so file-browser and shell are always a standalone windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
100 | def __init__(self, project, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
103 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | @param project reference to the project object |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
105 | @type Project |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
106 | @param parent parent widget |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
107 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | """ |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
109 | EricTabWidget.__init__(self, parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.project = project |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
111 | |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
112 | self.setWindowIcon(EricPixmapCache.getIcon("eric")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
113 | |
1422
47f1dffa398e
Fixed the tab bar issue observed for some styles (like Mac Aqua).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1112
diff
changeset
|
114 | self.setUsesScrollButtons(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
115 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | self.vcsStatusColorNames = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
117 | "A": "VcsAdded", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
118 | "M": "VcsModified", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
119 | "O": "VcsRemoved", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
120 | "R": "VcsReplaced", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
121 | "U": "VcsUpdate", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
122 | "Z": "VcsConflict", |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | } |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | self.vcsStatusText = { |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
125 | " ": self.tr("up to date"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
126 | "A": self.tr("files added"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
127 | "M": self.tr("local modifications"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
128 | "O": self.tr("files removed"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
129 | "R": self.tr("files replaced"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
130 | "U": self.tr("update required"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
131 | "Z": self.tr("conflict"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | } |
9647
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
133 | self.vcsStatusIndicator = EricClickableLed(self) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
134 | self.vcsStatusIndicator.clicked.connect(self.__vcsStatusIndicatorClicked) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
135 | self.setCornerWidget(self.vcsStatusIndicator, Qt.Corner.TopLeftCorner) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
136 | self.vcsCheckStatusButton = QToolButton(self) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
137 | self.vcsCheckStatusButton.setIcon(EricPixmapCache.getIcon("reload")) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
138 | self.vcsCheckStatusButton.setToolTip( |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
139 | self.tr("Press to check the current VCS status.") |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
140 | ) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
141 | self.vcsCheckStatusButton.clicked.connect(self.project.checkVCSStatus) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
142 | self.setCornerWidget(self.vcsCheckStatusButton, Qt.Corner.TopRightCorner) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | self.__vcsStateChanged(" ") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
144 | |
9526
c2fe17f95b56
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9525
diff
changeset
|
145 | self.__currentBrowsersList = [] |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
146 | self.__browserRepository = {} |
9527
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
147 | self.__fileFilterMapping = {} # redundant data store for speed reasons |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
148 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
149 | self.project.getModel().setProjectBrowserReference(self) |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
150 | |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
151 | # create all the individual browsers |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
152 | for browserClass in ( |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
153 | ProjectSourcesBrowser, |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
154 | ProjectFormsBrowser, |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
155 | ProjectResourcesBrowser, |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
156 | ProjectTranslationsBrowser, |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
157 | ProjectOthersBrowser, |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
158 | ): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
159 | browserClass(self.project, self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
160 | |
6285
045dc4c38701
Corrected a typo in several files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
161 | # add signal connection to ourselves |
486
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
162 | self.project.projectOpened.connect(self.__projectOpened) |
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
163 | self.project.projectClosed.connect(self.__projectClosed) |
e4711a55e482
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
216
diff
changeset
|
164 | self.project.newProject.connect(self.__newProject) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
165 | self.project.projectPropertiesChanged.connect(self.__projectPropertiesChanged) |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
166 | self.currentChanged.connect(self.__currentChanged) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
486
diff
changeset
|
167 | self.project.getModel().vcsStateChanged.connect(self.__vcsStateChanged) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
168 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | self.__projectPropertiesChanged() |
6416
a915f8dd1ca6
File-Browser, Shell: changed code so file-browser and shell are always a standalone windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
170 | self.setCurrentIndex(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
171 | |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
172 | def addTypedProjectBrowser(self, browserType, projectBrowserItem): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
173 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
174 | Public method to add a project browser type to the browser repository. |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
175 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
176 | @param browserType type of the project browser |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
177 | @type str |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
178 | @param projectBrowserItem data structure containing the type specific data |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
179 | @type ProjectBrowserRepositoryItem |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
180 | @exception TypeError raised to signal a wrong type for the project browser item |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
181 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
182 | if not isinstance(projectBrowserItem, ProjectBrowserRepositoryItem): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
183 | raise TypeError( |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
184 | "'projectBrowserItem' must be an instance of" |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
185 | " 'ProjectBrowserRepositoryItem'." |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
186 | ) |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
187 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
188 | if browserType in self.__browserRepository: |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
189 | EricMessageBox.critical( |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
190 | self.ui, |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
191 | self.tr("Add Project Browser Type"), |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
192 | self.tr( |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
193 | "<p>The project browser type <b>{0}</b> has already been added." |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
194 | " This attempt will be ignored.</p>" |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
195 | ), |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
196 | ) |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
197 | else: |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
198 | self.__browserRepository[browserType] = projectBrowserItem |
10621
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
199 | self.__fileFilterMapping[projectBrowserItem.fileCategory] = ( |
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
200 | projectBrowserItem.fileFilter |
f5631f40c4d9
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
201 | ) |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
202 | |
9526
c2fe17f95b56
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9525
diff
changeset
|
203 | self.__setBrowsersAvailable(self.__currentBrowsersList) |
c2fe17f95b56
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9525
diff
changeset
|
204 | |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
205 | def removeTypedProjectBrowser(self, browserType): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
206 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
207 | Public method to remove a browser type from the browsers repository. |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
208 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
209 | Note: If the browser type is not contained in the repository, the request to |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
210 | remove it will be ignored silently. |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
211 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
212 | @param browserType project browser type |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
213 | @type str |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
214 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
215 | with contextlib.suppress(KeyError): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
216 | browserIndex = self.indexOf(self.getProjectBrowser(browserType)) |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
217 | if browserIndex >= 0: |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
218 | self.removeTab(browserIndex) |
9527
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
219 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
220 | del self.__fileFilterMapping[ |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
221 | self.__browserRepository[browserType].fileCategory |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
222 | ] |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
223 | del self.__browserRepository[browserType] |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
224 | |
9526
c2fe17f95b56
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9525
diff
changeset
|
225 | self.__setBrowsersAvailable(self.__currentBrowsersList) |
c2fe17f95b56
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9525
diff
changeset
|
226 | |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
227 | def getProjectBrowsers(self): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
228 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
229 | Public method to get references to the individual project browsers. |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
230 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
231 | @return list of references to project browsers |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
232 | @rtype list of ProjectBaseBrowser |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
233 | """ |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
234 | return [itm.projectBrowser for itm in self.__browserRepository.values()] |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
235 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
236 | def getProjectBrowser(self, browserType): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
237 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
238 | Public method to get a reference to the project browser of given type. |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
239 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
240 | @param browserType type of the requested project browser |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
241 | @type str |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
242 | @return reference to the requested browser or None |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
243 | @rtype ProjectBaseBrowser or None |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
244 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
245 | try: |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
246 | return self.__browserRepository[browserType].projectBrowser |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
247 | except KeyError: |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
248 | return None |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
249 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
250 | def getProjectBrowserNames(self): |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
251 | """ |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
252 | Public method to get the types of the various project browsers. |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
253 | |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
254 | @return list of project browser types |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
255 | @rtype list of str |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
256 | """ |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
257 | return list(self.__browserRepository) |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
258 | |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
259 | def getProjectBrowserUserStrings(self): |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
260 | """ |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
261 | Public method to get a dictionary of defined project browser user strings. |
9527
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
262 | |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
263 | @return dictionary of defined project browser user strings |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
264 | @rtype dict |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
265 | """ |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
266 | return { |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
267 | key: item.projectBrowserUserString |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
268 | for key, item in self.__browserRepository.items() |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
269 | } |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
270 | |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
271 | def getProjectBrowserIcon(self, browserType): |
9527
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
272 | """ |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
273 | Public method to get the icon for a project browser. |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
274 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
275 | @param browserType type of the project browser |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
276 | @type str |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
277 | @return icon for the project browser |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
278 | @rtype QIcon |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
279 | """ |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
280 | try: |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
281 | return self.__browserRepository[browserType].getIcon() |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
282 | except KeyError: |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
283 | return QIcon() |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
284 | |
9527
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
285 | def getProjectBrowserType(self, fileCategory): |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
286 | """ |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
287 | Public method to get the project browser type for a file category. |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
288 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
289 | @param fileCategory file category |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
290 | @type str |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
291 | @return project browser type |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
292 | @rtype str |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
293 | """ |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
294 | for browserType, browserItem in self.__browserRepository.items(): |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
295 | if browserItem.fileCategory == fileCategory: |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
296 | return browserType |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
297 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
298 | return "" |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
299 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
300 | def getProjectBrowserFilter(self, fileCategory): |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
301 | """ |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
302 | Public method to get the project browser file filter for a file category. |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
303 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
304 | @param fileCategory file category |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
305 | @type str |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
306 | @return project browser file filter |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
307 | @rtype str |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
308 | """ |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
309 | with contextlib.suppress(KeyError): |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
310 | return self.__fileFilterMapping[fileCategory] |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
311 | |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
312 | return "" |
8601253e7633
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9526
diff
changeset
|
313 | |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
314 | def __setBrowsersAvailable(self, browsersList): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | """ |
2965
d133c7edd88a
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2769
diff
changeset
|
316 | Private method to add selected browsers to the project browser. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
317 | |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
318 | @param browsersList list of project browsers to be shown |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
319 | @type list of str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | # step 1: remove all tabs |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | while self.count() > 0: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | self.removeTab(0) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
324 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | # step 2: add browsers |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
326 | for browser in sorted( |
9613
7154cc0373dd
Fixed an issue in ProjectBrowser that could cause in to throw a KeyError exception.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9559
diff
changeset
|
327 | [b for b in browsersList if b in self.__browserRepository], |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
328 | key=lambda x: self.__browserRepository[x].priority, |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
329 | reverse=True, |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
330 | ): |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2995
diff
changeset
|
331 | index = self.addTab( |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
332 | self.__browserRepository[browser].projectBrowser, |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
333 | self.__browserRepository[browser].getIcon(), |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
334 | "", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
335 | ) |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
336 | self.setTabToolTip( |
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
337 | index, |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
338 | self.__browserRepository[browser].projectBrowser.windowTitle(), |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
339 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
340 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | def __currentChanged(self, index): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | Private slot to handle the currentChanged(int) signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
344 | |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
345 | @param index index of the tab |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
346 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | if index > -1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | browser = self.widget(index) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | if browser is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | browser.layoutDisplay() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
352 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | def __projectOpened(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | Private slot to handle the projectOpened signal. |
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 | self.__projectPropertiesChanged() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | self.setCurrentIndex(0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | self.__vcsStateChanged(" ") |
9647
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
360 | self.vcsStatusIndicator.setVisible(self.project.isVcsControlled()) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
361 | self.vcsCheckStatusButton.setVisible(self.project.isVcsControlled()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
362 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | def __projectClosed(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | Private slot to handle the projectClosed signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | self.__projectPropertiesChanged() |
6416
a915f8dd1ca6
File-Browser, Shell: changed code so file-browser and shell are always a standalone windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
368 | self.setCurrentIndex(0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | self.__setSourcesIcon() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | self.__vcsStateChanged(" ") |
9647
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
371 | self.vcsStatusIndicator.setVisible(False) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
372 | self.vcsCheckStatusButton.setVisible(False) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
373 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | def __newProject(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | Private slot to handle the newProject signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | self.setCurrentIndex(0) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | self.__projectPropertiesChanged() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
380 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | def __projectPropertiesChanged(self): |
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 | Private slot to handle the projectPropertiesChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | """ |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
385 | browsersList = ( |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
386 | Preferences.getProjectBrowsers(self.project.getProjectType()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
387 | if self.project.isOpen() |
10373
093dcebe5ecb
Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10069
diff
changeset
|
388 | else list(self.__browserRepository) |
8259
2bbec88047dd
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8207
diff
changeset
|
389 | ) |
9559
34fc53e6159d
Project Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9527
diff
changeset
|
390 | browsersList = [b for b in browsersList if b in self.__browserRepository] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
391 | |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
392 | if browsersList != self.__currentBrowsersList: |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
393 | self.__currentBrowsersList = browsersList[:] |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
394 | self.__setBrowsersAvailable(browsersList) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
395 | |
6416
a915f8dd1ca6
File-Browser, Shell: changed code so file-browser and shell are always a standalone windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6285
diff
changeset
|
396 | endIndex = self.count() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
397 | for index in range(endIndex): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | self.setTabEnabled(index, self.project.isOpen()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
399 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | self.__setSourcesIcon() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
401 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | def __setSourcesIcon(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | Private method to set the right icon for the sources browser tab. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | """ |
9525
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
406 | self.setTabIcon( |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
407 | self.indexOf(self.getProjectBrowser("sources")), |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
408 | self.getProjectBrowserIcon("sources"), |
477545eef9f4
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9524
diff
changeset
|
409 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
410 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | def handleEditorChanged(self, fn): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | Public slot to handle the editorChanged signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
414 | |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
415 | @param fn filename of the changed file |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
416 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | if Preferences.getProject("FollowEditor"): |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
419 | for fileCategory in ( |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
420 | cat |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
421 | for cat in self.project.getFileCategories() |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
422 | if cat not in ("TRANSLATIONS", "OTHERS") |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
423 | ): |
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
424 | if self.project.isProjectCategory(fn, fileCategory): |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
425 | self.getProjectBrowser(fileCategory.lower()).selectFile(fn) |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
426 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
427 | |
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:
2408
diff
changeset
|
428 | def handleEditorLineChanged(self, fn, lineno): |
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:
2408
diff
changeset
|
429 | """ |
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:
2408
diff
changeset
|
430 | Public slot to handle the editorLineChanged signal. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
431 | |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
432 | @param fn filename of the changed file |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
433 | @type str |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
434 | @param lineno one based line number of the item |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
435 | @type int |
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:
2408
diff
changeset
|
436 | """ |
7265
0665c4d509c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
437 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
438 | Preferences.getProject("FollowEditor") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
439 | and Preferences.getProject("FollowCursorLine") |
9517
d73c3a1e432b
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
440 | and self.project.isProjectCategory(fn, "SOURCES") |
7265
0665c4d509c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
441 | ): |
9524
6a730f4d0080
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
442 | self.getProjectBrowser("sources").selectFileLine(fn, lineno) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
443 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | def handlePreferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | Public slot used to handle the preferencesChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | self.__projectPropertiesChanged() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | self.__vcsStateChanged(self.currentVcsStatus) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
450 | |
9512
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
451 | self.preferencesChanged.emit() # propagate the signal to the browsers |
6e29913ba7b6
Started refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9482
diff
changeset
|
452 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | def __vcsStateChanged(self, state): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | Private slot to handle a change in the vcs state. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
456 | |
9647
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
457 | @param state new vcs state |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
458 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | """ |
9647
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
460 | self.vcsStatusIndicator.setVisible(self.project.isVcsControlled()) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
461 | self.vcsCheckStatusButton.setVisible(self.project.isVcsControlled()) |
e4c2ae118781
Added a but to check the current VCS status to the top of the project viewer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9613
diff
changeset
|
462 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | self.currentVcsStatus = state |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | if state == " " or state not in self.vcsStatusColorNames: |
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:
7960
diff
changeset
|
465 | self.vcsStatusIndicator.setColor(QColor(Qt.GlobalColor.lightGray)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | else: |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
467 | self.vcsStatusIndicator.setColor( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
468 | Preferences.getProjectBrowserColour(self.vcsStatusColorNames[state]) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
469 | ) |
1627
f3280c6a04ba
Fixed an issue that can cause a crash in the project browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
470 | if state not in self.vcsStatusText: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
471 | self.vcsStatusIndicator.setToolTip(self.tr("unknown status")) |
1627
f3280c6a04ba
Fixed an issue that can cause a crash in the project browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
472 | else: |
f3280c6a04ba
Fixed an issue that can cause a crash in the project browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
473 | self.vcsStatusIndicator.setToolTip(self.vcsStatusText[state]) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
474 | |
10069
435cc5875135
Corrected and checked some code style issues (unused function arguments).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9697
diff
changeset
|
475 | def __vcsStatusIndicatorClicked(self, pos): # noqa: U100 |
3369
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
476 | """ |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
477 | Private slot to react upon clicks on the VCS indicator LED. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
478 | |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
479 | @param pos position of the click |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10373
diff
changeset
|
480 | @type QPoint |
3369
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
481 | """ |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
482 | vcs = self.project.getVcs() |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
483 | if vcs: |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
484 | if self.currentVcsStatus == " ": |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
485 | # call log browser dialog |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
486 | vcs.vcsLogBrowser(self.project.getProjectPath()) |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
487 | else: |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
488 | # call status dialog |
6580dc0fe205
Added click functions to the project browser VCS status LED.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
489 | vcs.vcsStatus(self.project.getProjectPath()) |