Mon, 14 Apr 2025 12:22:18 +0200
Modified the 'parent' handling for the DeleteFilesConfirmationDialog class.
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 | |
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11006
diff
changeset
|
3 | # Copyright (c) 2002 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a class used to display the resources part of the project. |
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 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
10 | import contextlib |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import os |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9150
diff
changeset
|
12 | import pathlib |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
14 | from PyQt6.QtCore import QProcess, QThread, pyqtSignal |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
15 | from PyQt6.QtWidgets import QApplication, QDialog, QMenu |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
17 | from eric7 import Preferences |
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
|
18 | from eric7.EricGui import EricPixmapCache |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
19 | from eric7.EricWidgets import EricFileDialog, EricMessageBox |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
20 | from eric7.EricWidgets.EricApplication import ericApp |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
21 | from eric7.EricWidgets.EricProgressDialog import EricProgressDialog |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
22 | from eric7.SystemUtilities import FileSystemUtilities, QtUtilities |
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 eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog |
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
|
24 | from eric7.UI.NotificationWidget import NotificationTypes |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
9520
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
26 | from .FileCategoryRepositoryItem import FileCategoryRepositoryItem |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
27 | from .ProjectBaseBrowser import ProjectBaseBrowser |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
28 | from .ProjectBrowserModel import ( |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
29 | ProjectBrowserFileItem, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
30 | ProjectBrowserSimpleDirectoryItem, |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9462
diff
changeset
|
31 | ) |
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:
9520
diff
changeset
|
32 | from .ProjectBrowserRepositoryItem import ProjectBrowserRepositoryItem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
34 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | class ProjectResourcesBrowser(ProjectBaseBrowser): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
37 | A class used to display the resources part of the project. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
38 | |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
500
diff
changeset
|
39 | @signal appendStderr(str) emitted after something was received from |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
40 | a QProcess on stderr |
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
41 | @signal showMenu(str, QMenu) emitted when a menu is about to be shown. |
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
42 | The name of the menu and a reference to the menu are given. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
44 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
45 | appendStderr = pyqtSignal(str) |
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
46 | showMenu = pyqtSignal(str, QMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
47 | |
427
6af5d12cfecb
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
48 | RCFilenameFormatPython = "{0}_rc.py" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
49 | |
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
|
50 | def __init__(self, project, projectBrowser, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
53 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | @param project reference to the project object |
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
|
55 | @type Project |
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 | @param projectBrowser reference to the project browser object |
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 | @type ProjectBrowser |
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 | @param parent parent widget of this 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
|
59 | @type QWidget |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
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:
9525
diff
changeset
|
61 | ProjectBaseBrowser.__init__(self, project, "resource", parent) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
62 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
63 | self.selectedItemsFilter = [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
64 | ProjectBrowserFileItem, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
65 | ProjectBrowserSimpleDirectoryItem, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
66 | ] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
67 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
68 | self.setWindowTitle(self.tr("Resources")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
70 | self.setWhatsThis( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
71 | self.tr( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
72 | """<b>Project Resources Browser</b>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
73 | """<p>This allows to easily see all resources contained in the""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
74 | """ current project. Several actions can be executed via the""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
75 | """ context menu.</p>""" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
76 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
77 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
78 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.compileProc = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
80 | |
9520
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
81 | # Add the file category handled by the browser. |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
82 | project.addFileCategory( |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
83 | "RESOURCES", |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
84 | FileCategoryRepositoryItem( |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
85 | fileCategoryFilterTemplate=self.tr("Resource Files ({0})"), |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
86 | fileCategoryUserString=self.tr("Resource Files"), |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
87 | fileCategoryTyeString=self.tr("Resources"), |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
88 | fileCategoryExtensions=["*.qrc"], |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
89 | ), |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
90 | ) |
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
91 | |
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:
9520
diff
changeset
|
92 | # Add the project browser type to the browser type 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:
9520
diff
changeset
|
93 | projectBrowser.addTypedProjectBrowser( |
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:
9520
diff
changeset
|
94 | "resources", |
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:
9520
diff
changeset
|
95 | 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:
9520
diff
changeset
|
96 | projectBrowser=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:
9520
diff
changeset
|
97 | projectBrowserUserString=self.tr("Resources Browser"), |
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
|
98 | priority=75, |
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:
9520
diff
changeset
|
99 | fileCategory="RESOURCES", |
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:
9525
diff
changeset
|
100 | fileFilter="resource", |
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:
9520
diff
changeset
|
101 | getIcon=self.getIcon, |
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:
9520
diff
changeset
|
102 | ), |
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:
9520
diff
changeset
|
103 | ) |
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:
9520
diff
changeset
|
104 | |
9520
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
105 | # Connect signals of Project. |
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
|
106 | project.projectClosed.connect(self._projectClosed) |
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
|
107 | project.projectOpened.connect(self._projectOpened) |
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
|
108 | project.newProject.connect(self._newProject) |
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
|
109 | project.reinitVCS.connect(self._initMenusAndVcs) |
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
|
110 | project.projectPropertiesChanged.connect(self._initMenusAndVcs) |
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
|
111 | |
9520
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
112 | # Connect signals of ProjectBrowser. |
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
|
113 | projectBrowser.preferencesChanged.connect(self.handlePreferencesChanged) |
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:
9516
diff
changeset
|
114 | projectBrowser.processChangedProjectFiles.connect( |
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:
9516
diff
changeset
|
115 | self.__compileChangedResources |
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:
9516
diff
changeset
|
116 | ) |
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
|
117 | |
9520
e12589f1d408
Continued refactoring of the project browser related code in order to extract some as plugins later on (added a file category repository to the Project class).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9517
diff
changeset
|
118 | # Connect some of our own signals. |
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
|
119 | self.appendStderr.connect(projectBrowser.appendStderr) |
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
|
120 | self.closeSourceWindow.connect(projectBrowser.closeSourceWindow) |
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
|
121 | self.sourceFile[str].connect(projectBrowser.sourceFile[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
|
122 | |
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:
9520
diff
changeset
|
123 | def getIcon(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:
9520
diff
changeset
|
124 | """ |
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:
9520
diff
changeset
|
125 | Public method to get an icon for 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:
9520
diff
changeset
|
126 | |
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:
9520
diff
changeset
|
127 | @return icon for the 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:
9520
diff
changeset
|
128 | @rtype QIcon |
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:
9520
diff
changeset
|
129 | """ |
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:
9520
diff
changeset
|
130 | return EricPixmapCache.getIcon("projectResources") |
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:
9520
diff
changeset
|
131 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | def _createPopupMenus(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | Protected overloaded method to generate the popup menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | self.menuActions = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | self.multiMenuActions = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | self.dirMenuActions = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | self.dirMultiMenuActions = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
140 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | self.menu = QMenu(self) |
10708
a6094987c1be
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10704
diff
changeset
|
142 | if FileSystemUtilities.isPlainFileName( |
a6094987c1be
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10704
diff
changeset
|
143 | self.project.getProjectPath() |
a6094987c1be
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10704
diff
changeset
|
144 | ) and self.project.getProjectType() in [ |
a6094987c1be
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10704
diff
changeset
|
145 | "PySide6", |
a6094987c1be
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10704
diff
changeset
|
146 | "PySide6C", |
a6094987c1be
Corrected some code formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10704
diff
changeset
|
147 | ]: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
148 | self.menu.addAction(self.tr("Compile resource"), self.__compileResource) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
149 | self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
150 | self.tr("Compile all resources"), self.__compileAllResources |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
151 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | self.menu.addSeparator() |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
153 | self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
154 | self.tr("Configure rcc Compiler"), self.__configureRccCompiler |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
155 | ) |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
156 | self.menu.addSeparator() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | if self.hooks["compileResource"] is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | self.menu.addAction( |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
160 | self.hooksMenuEntries.get( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
161 | "compileResource", self.tr("Compile resource") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
162 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
163 | self.__compileResource, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
164 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | if self.hooks["compileAllResources"] is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | self.menu.addAction( |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
167 | self.hooksMenuEntries.get( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
168 | "compileAllResources", self.tr("Compile all resources") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
169 | ), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
170 | self.__compileAllResources, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
171 | ) |
7266
d001bc703c29
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
172 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
173 | self.hooks["compileResource"] is not None |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
174 | or self.hooks["compileAllResources"] is not None |
7266
d001bc703c29
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
175 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | self.menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
177 | self.menu.addAction(self.tr("Open"), self.__openFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | self.menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
179 | act = self.menu.addAction(self.tr("Rename file"), self._renameFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | self.menuActions.append(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
181 | act = self.menu.addAction(self.tr("Remove from project"), self._removeFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | self.menuActions.append(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
183 | act = self.menu.addAction(self.tr("Delete"), self.__deleteFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | self.menuActions.append(act) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | self.menu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
186 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
187 | if self.project.getProjectType() in [ |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
188 | "PySide6", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
189 | "PySide6C", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
190 | ]: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
191 | self.menu.addAction(self.tr("New resource..."), self.__newResource) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
192 | else: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
193 | if self.hooks["newResource"] is not None: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
194 | self.menu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
195 | self.hooksMenuEntries.get( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
196 | "newResource", self.tr("New resource...") |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
197 | ), |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
198 | self.__newResource, |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
199 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
200 | self.menu.addAction(self.tr("Add resources..."), self.__addResourceFiles) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
201 | self.menu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
202 | self.tr("Add resources directory..."), self.__addResourcesDirectory |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
203 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
204 | self.menu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
205 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
206 | self.menu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
207 | self.tr("Show in File Manager"), self._showInFileManager |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
208 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
209 | self.menu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | self.menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
211 | self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
212 | self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | self.menu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
214 | self.menu.addAction(self.tr("Configure..."), self._configure) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | self.backMenu = QMenu(self) |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
217 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
218 | if self.project.getProjectType() in [ |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
219 | "PySide6", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
220 | "PySide6C", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
221 | ]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | self.backMenu.addAction( |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
223 | self.tr("Compile all resources"), self.__compileAllResources |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
224 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
225 | self.backMenu.addSeparator() |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
226 | self.backMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
227 | self.tr("Configure rcc Compiler"), self.__configureRccCompiler |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
228 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | self.backMenu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
230 | self.backMenu.addAction(self.tr("New resource..."), self.__newResource) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
231 | else: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
232 | if self.hooks["compileAllResources"] is not None: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
233 | self.backMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
234 | self.hooksMenuEntries.get( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
235 | "compileAllResources", self.tr("Compile all resources") |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
236 | ), |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
237 | self.__compileAllResources, |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
238 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
239 | self.backMenu.addSeparator() |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
240 | if self.hooks["newResource"] is not None: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
241 | self.backMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
242 | self.hooksMenuEntries.get( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
243 | "newResource", self.tr("New resource...") |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
244 | ), |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
245 | self.__newResource, |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
246 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
247 | self.backMenu.addAction( |
9516
0f023e61a9b5
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9514
diff
changeset
|
248 | self.tr("Add resources..."), lambda: self.project.addFiles("RECOURCES") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
249 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
250 | self.backMenu.addAction( |
9516
0f023e61a9b5
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9514
diff
changeset
|
251 | self.tr("Add resources directory..."), |
0f023e61a9b5
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9514
diff
changeset
|
252 | lambda: self.project.addDirectory("RESOURCES"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
253 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | self.backMenu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
255 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
256 | self.backMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
257 | self.tr("Show in File Manager"), self._showProjectInFileManager |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
258 | ) |
10398
ef1ea18994d5
Project Browser
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10256
diff
changeset
|
259 | self.backMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
260 | self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
261 | self.backMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
262 | self.tr("Collapse all directories"), self._collapseAllDirs |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
263 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | self.backMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
265 | self.backMenu.addAction(self.tr("Configure..."), self._configure) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | self.backMenu.setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | # create the menu for multiple selected files |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | self.multiMenu = QMenu(self) |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
270 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
271 | if self.project.getProjectType() in [ |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
272 | "PySide6", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
273 | "PySide6C", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
274 | ]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | act = self.multiMenu.addAction( |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
276 | self.tr("Compile resources"), self.__compileSelectedResources |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
277 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | self.multiMenu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
279 | self.multiMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
280 | self.tr("Configure rcc Compiler"), self.__configureRccCompiler |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
281 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
282 | self.multiMenu.addSeparator() |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
283 | else: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
284 | if self.hooks["compileSelectedResources"] is not None: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
285 | act = self.multiMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
286 | self.hooksMenuEntries.get( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
287 | "compileSelectedResources", self.tr("Compile resources") |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
288 | ), |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
289 | self.__compileSelectedResources, |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
290 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
291 | self.multiMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
292 | self.multiMenu.addAction(self.tr("Open"), self.__openFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | self.multiMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
294 | act = self.multiMenu.addAction(self.tr("Remove from project"), self._removeFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.multiMenuActions.append(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
296 | act = self.multiMenu.addAction(self.tr("Delete"), self.__deleteFile) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | self.multiMenuActions.append(act) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | self.multiMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
299 | self.multiMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
300 | self.multiMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
301 | self.tr("Collapse all directories"), self._collapseAllDirs |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
302 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | self.multiMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
304 | self.multiMenu.addAction(self.tr("Configure..."), self._configure) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | self.dirMenu = QMenu(self) |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
307 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
308 | if self.project.getProjectType() in [ |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
309 | "PySide6", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
310 | "PySide6C", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
311 | ]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | self.dirMenu.addAction( |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
313 | self.tr("Compile all resources"), self.__compileAllResources |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
314 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | self.dirMenu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
316 | self.dirMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
317 | self.tr("Configure rcc Compiler"), self.__configureRccCompiler |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
318 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
319 | self.dirMenu.addSeparator() |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
320 | else: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
321 | if self.hooks["compileAllResources"] is not None: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
322 | self.dirMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
323 | self.hooksMenuEntries.get( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
324 | "compileAllResources", self.tr("Compile all resources") |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
325 | ), |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
326 | self.__compileAllResources, |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
327 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
328 | self.dirMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
329 | act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeDir) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | self.dirMenuActions.append(act) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
331 | act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory) |
2540
f346433ea963
Added a context menu entry to delete the selected directory to the project viewers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2408
diff
changeset
|
332 | self.dirMenuActions.append(act) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | self.dirMenu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
334 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
335 | self.dirMenu.addAction(self.tr("New resource..."), self.__newResource) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
336 | self.dirMenu.addAction(self.tr("Add resources..."), self.__addResourceFiles) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
337 | self.dirMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
338 | self.tr("Add resources directory..."), self.__addResourcesDirectory |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
339 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | self.dirMenu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
341 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
342 | self.dirMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
343 | self.tr("Show in File Manager"), self._showInFileManager |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
344 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
345 | self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
346 | self.dirMenu.addSeparator() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
347 | self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
348 | self.dirMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
349 | self.tr("Collapse all directories"), self._collapseAllDirs |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
350 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | self.dirMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
352 | self.dirMenu.addAction(self.tr("Configure..."), self._configure) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
353 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | self.dirMultiMenu = QMenu(self) |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
355 | if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()): |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
356 | if self.project.getProjectType() in [ |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
357 | "PySide6", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
358 | "PySide6C", |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
359 | ]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | self.dirMultiMenu.addAction( |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
361 | self.tr("Compile all resources"), self.__compileAllResources |
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 | self.dirMultiMenu.addSeparator() |
10635
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
364 | self.dirMultiMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
365 | self.tr("Configure rcc Compiler"), self.__configureRccCompiler |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
366 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
367 | self.dirMultiMenu.addSeparator() |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
368 | else: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
369 | if self.hooks["compileAllResources"] is not None: |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
370 | self.dirMultiMenu.addAction( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
371 | self.hooksMenuEntries.get( |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
372 | "compileAllResources", self.tr("Compile all resources") |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
373 | ), |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
374 | self.__compileAllResources, |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
375 | ) |
dcec2e0c0036
Adapted the project forms, translations and resources browser with respect to 'eric-ide' server projects.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
376 | self.dirMultiMenu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
377 | self.dirMultiMenu.addAction( |
9516
0f023e61a9b5
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9514
diff
changeset
|
378 | self.tr("Add resources..."), lambda: self.project.addFiles("RECOURCES") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
379 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
380 | self.dirMultiMenu.addAction( |
9516
0f023e61a9b5
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9514
diff
changeset
|
381 | self.tr("Add resources directory..."), |
0f023e61a9b5
Continued refactoring of the project browser related code in order to extract some as plugins later on.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9514
diff
changeset
|
382 | lambda: self.project.addDirectory("RESOURCES"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
383 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | self.dirMultiMenu.addSeparator() |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
385 | self.dirMultiMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
386 | self.tr("Expand all directories"), self._expandAllDirs |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
387 | ) |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
388 | self.dirMultiMenu.addAction( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
389 | self.tr("Collapse all directories"), self._collapseAllDirs |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
390 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | self.dirMultiMenu.addSeparator() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
392 | self.dirMultiMenu.addAction(self.tr("Configure..."), self._configure) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
393 | |
461
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
427
diff
changeset
|
394 | self.menu.aboutToShow.connect(self.__showContextMenu) |
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
427
diff
changeset
|
395 | self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) |
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
427
diff
changeset
|
396 | self.dirMenu.aboutToShow.connect(self.__showContextMenuDir) |
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
427
diff
changeset
|
397 | self.dirMultiMenu.aboutToShow.connect(self.__showContextMenuDirMulti) |
34528aaedf1c
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
427
diff
changeset
|
398 | self.backMenu.aboutToShow.connect(self.__showContextMenuBack) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | self.mainMenu = self.menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
400 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | def _contextMenuRequested(self, coord): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | Protected slot to show the context menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
404 | |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
405 | @param coord the position of the mouse pointer |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
406 | @type QPoint |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | if not self.project.isOpen(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
410 | |
9462
e65379fdbd97
Changed code to resolve or acknowledge some potential security issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
411 | with contextlib.suppress(Exception): # secok |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
412 | categories = self.getSelectedItemsCountCategorized( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
413 | [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
414 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | cnt = categories["sum"] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | if cnt <= 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | index = self.indexAt(coord) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | if index.isValid(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | self._selectSingleItem(index) |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
553
diff
changeset
|
420 | categories = self.getSelectedItemsCountCategorized( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
421 | [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
422 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | cnt = categories["sum"] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
424 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
425 | bfcnt = categories[str(ProjectBrowserFileItem)] |
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
426 | sdcnt = categories[str(ProjectBrowserSimpleDirectoryItem)] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | if cnt > 1 and cnt == bfcnt: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | self.multiMenu.popup(self.mapToGlobal(coord)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | elif cnt > 1 and cnt == sdcnt: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | self.dirMultiMenu.popup(self.mapToGlobal(coord)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | index = self.indexAt(coord) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | if cnt == 1 and index.isValid(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | if bfcnt == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | self.menu.popup(self.mapToGlobal(coord)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | elif sdcnt == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | self.dirMenu.popup(self.mapToGlobal(coord)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | self.backMenu.popup(self.mapToGlobal(coord)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | self.backMenu.popup(self.mapToGlobal(coord)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
442 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | def __showContextMenu(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | Private slot called by the menu aboutToShow signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | ProjectBaseBrowser._showContextMenu(self, self.menu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
448 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
449 | self.showMenu.emit("Main", self.menu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
450 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | def __showContextMenuMulti(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | Private slot called by the multiMenu aboutToShow signal. |
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 | ProjectBaseBrowser._showContextMenuMulti(self, self.multiMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
456 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
457 | self.showMenu.emit("MainMulti", self.multiMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
458 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | def __showContextMenuDir(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | Private slot called by the dirMenu aboutToShow signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | ProjectBaseBrowser._showContextMenuDir(self, self.dirMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
464 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
465 | self.showMenu.emit("MainDir", self.dirMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
466 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | def __showContextMenuDirMulti(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | Private slot called by the dirMultiMenu aboutToShow signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | ProjectBaseBrowser._showContextMenuDirMulti(self, self.dirMultiMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
472 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
473 | self.showMenu.emit("MainDirMulti", self.dirMultiMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
474 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | def __showContextMenuBack(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | Private slot called by the backMenu aboutToShow signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | ProjectBaseBrowser._showContextMenuBack(self, self.backMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
480 | |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
481 | self.showMenu.emit("MainBack", self.backMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
482 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | def __addResourceFiles(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | Private method to add resource files to the project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | """ |
10256
1b728f26d1ae
Project Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10113
diff
changeset
|
487 | self.project.addFiles("RESOURCES", self.currentDirectory()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
488 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
489 | def __addResourcesDirectory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
490 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
491 | Private method to add resource files of a directory to the project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | """ |
10256
1b728f26d1ae
Project Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10113
diff
changeset
|
493 | self.project.addDirectory("RESOURCES", self.currentDirectory()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
494 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | def _openItem(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | Protected slot to handle the open popup menu entry. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | self.__openFile() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
500 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | def __openFile(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | Private slot to handle the Open menu action. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | itmList = self.getSelectedItems() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | for itm in itmList[:]: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | if isinstance(itm, ProjectBrowserFileItem): |
476
121633976eca
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
470
diff
changeset
|
508 | self.sourceFile.emit(itm.fileName()) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
509 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | def __newResource(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | Private slot to handle the New Resource menu action. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | itm = self.model().item(self.currentIndex()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | if itm is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | path = self.project.ppath |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | path = os.path.dirname(itm.fileName()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | except AttributeError: |
1040
9e25732c452a
Fixed an issue adding a new form or a new resource file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
949
diff
changeset
|
521 | try: |
9e25732c452a
Fixed an issue adding a new form or a new resource file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
949
diff
changeset
|
522 | path = itm.dirName() |
9e25732c452a
Fixed an issue adding a new form or a new resource file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
949
diff
changeset
|
523 | except AttributeError: |
9e25732c452a
Fixed an issue adding a new form or a new resource file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
949
diff
changeset
|
524 | path = os.path.join(self.project.ppath, itm.data(0)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
525 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | if self.hooks["newResource"] is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | self.hooks["newResource"](path) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | else: |
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:
8336
diff
changeset
|
529 | fname, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
531 | self.tr("New Resource"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | path, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
533 | self.tr("Qt Resource Files (*.qrc)"), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | "", |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
535 | EricFileDialog.DontConfirmOverwrite, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
536 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
537 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
538 | if not fname: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | # user aborted or didn't enter a filename |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
541 | |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9150
diff
changeset
|
542 | fpath = pathlib.Path(fname) |
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9150
diff
changeset
|
543 | if not fpath.suffix: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | ex = selectedFilter.split("(*")[1].split(")")[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | if ex: |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9150
diff
changeset
|
546 | fpath = fpath.with_suffix(ex) |
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9150
diff
changeset
|
547 | if fpath.exists(): |
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:
8336
diff
changeset
|
548 | res = EricMessageBox.yesNo( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2995
diff
changeset
|
549 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
550 | self.tr("New Resource"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
551 | self.tr("The file already exists! Overwrite it?"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
552 | icon=EricMessageBox.Warning, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
553 | ) |
541
00e1a5d060c5
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
539
diff
changeset
|
554 | if not res: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | # user selected to not overwrite |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
557 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
559 | newline = ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
560 | None if self.project.useSystemEol() else self.project.getEolString() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
561 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
562 | with fpath.open("w", encoding="utf-8", newline=newline) as rcfile: |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
563 | rcfile.write("<!DOCTYPE RCC>\n") |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
564 | rcfile.write('<RCC version="1.0">\n') |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
565 | rcfile.write("<qresource>\n") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
566 | rcfile.write("</qresource>\n") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
567 | rcfile.write("</RCC>\n") |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
568 | except OSError as e: |
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:
8336
diff
changeset
|
569 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2995
diff
changeset
|
570 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
571 | self.tr("New Resource"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
572 | self.tr( |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
573 | "<p>The new resource file <b>{0}</b> could not" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
574 | " be created.<br>Problem: {1}</p>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
575 | ).format(fpath, str(e)), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
576 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
577 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
578 | |
9152
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9150
diff
changeset
|
579 | self.project.appendFile(str(fpath)) |
8a68afaf1ba2
Started replacing the use of "QFileInfo()" with Python equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9150
diff
changeset
|
580 | self.sourceFile.emit(str(fpath)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
581 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | def __deleteFile(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | Private method to delete a resource file from the project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | itmList = self.getSelectedItems() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
587 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | files = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | fullNames = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | for itm in itmList: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | fn2 = itm.fileName() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | fullNames.append(fn2) |
248
f4561c24989a
Changed code to better deal with project relative paths on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
245
diff
changeset
|
593 | fn = self.project.getRelativePath(fn2) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | files.append(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
595 | |
3030
4a0a82ddd9d2
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
596 | dlg = DeleteFilesConfirmationDialog( |
11218
43dfc40728d2
Modified the 'parent' handling for the DeleteFilesConfirmationDialog class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11217
diff
changeset
|
597 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
598 | self.tr("Delete resources"), |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9527
diff
changeset
|
599 | self.tr("Do you really want to delete these resources from the project?"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
600 | files, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
601 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
602 | |
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:
7959
diff
changeset
|
603 | if dlg.exec() == QDialog.DialogCode.Accepted: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
604 | for fn2, fn in zip(fullNames, files): |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
605 | self.closeSourceWindow.emit(fn2) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
606 | self.project.deleteFile(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
607 | |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
608 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | ## Methods to handle the various compile commands |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
610 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
611 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | def __readStdout(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
614 | Private slot to handle the readyReadStandardOutput signal of the |
11216 | 615 | pyrcc5/pyside6-rcc process. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | if self.compileProc is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
618 | return |
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:
7959
diff
changeset
|
619 | self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardOutput) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
620 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | while self.compileProc and self.compileProc.canReadLine(): |
9627
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
622 | self.__buf.append( |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
623 | str( |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
624 | self.compileProc.readLine(), |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
625 | Preferences.getSystem("IOEncoding"), |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
626 | "replace", |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
627 | ).rstrip() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
628 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
629 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | def __readStderr(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
631 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
632 | Private slot to handle the readyReadStandardError signal of the |
11216 | 633 | pyrcc5/pyside6-rcc process. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
634 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | if self.compileProc is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | return |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
637 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
638 | ioEncoding = Preferences.getSystem("IOEncoding") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
639 | |
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:
7959
diff
changeset
|
640 | self.compileProc.setReadChannel(QProcess.ProcessChannel.StandardError) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
641 | while self.compileProc and self.compileProc.canReadLine(): |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
642 | s = self.rccCompiler + ": " |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
643 | error = str(self.compileProc.readLine(), ioEncoding, "replace") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | s += error |
500
c3abc7895a01
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
476
diff
changeset
|
645 | self.appendStderr.emit(s) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
646 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
647 | def __compileQRCDone(self, exitCode, exitStatus): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
648 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
649 | Private slot to handle the finished signal of the compile process. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
650 | |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
651 | @param exitCode exit code of the process |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
652 | @type int |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
653 | @param exitStatus exit status of the process |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
654 | @type QProcess.ExitStatus |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
656 | self.compileRunning = False |
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:
8336
diff
changeset
|
657 | ericApp().getObject("ViewManager").enableEditorsCheckFocusIn(True) |
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:
8336
diff
changeset
|
658 | ui = ericApp().getObject("UserInterface") |
9627
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
659 | if ( |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
660 | exitStatus == QProcess.ExitStatus.NormalExit |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
661 | and exitCode == 0 |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
662 | and self.__buf |
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
663 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
664 | ofn = os.path.join(self.project.ppath, self.compiledFile) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
665 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
666 | newline = ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
667 | None if self.project.useSystemEol() else self.project.getEolString() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
668 | ) |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
669 | with open(ofn, "w", encoding="utf-8", newline=newline) as f: |
9627
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
670 | f.write("\n".join(self.__buf) + "\n") |
9514
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
671 | if self.compiledFile not in self.project.getProjectData( |
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
672 | dataKey="SOURCES" |
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
673 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | self.project.appendFile(ofn) |
7955
567f2ec958c3
Changed code to always use the reworked notification system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
675 | ui.showNotification( |
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
|
676 | EricPixmapCache.getPixmap("resourcesCompiler48"), |
7955
567f2ec958c3
Changed code to always use the reworked notification system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
677 | self.tr("Resource Compilation"), |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9527
diff
changeset
|
678 | self.tr("The compilation of the resource file was successful."), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
679 | ) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
680 | except OSError as msg: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
681 | if not self.noDialog: |
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:
8336
diff
changeset
|
682 | EricMessageBox.information( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2995
diff
changeset
|
683 | self, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
684 | self.tr("Resource Compilation"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
685 | self.tr( |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
686 | "<p>The compilation of the resource file" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
687 | " failed.</p><p>Reason: {0}</p>" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
688 | ).format(str(msg)), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
689 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
690 | else: |
7955
567f2ec958c3
Changed code to always use the reworked notification system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
691 | ui.showNotification( |
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
|
692 | EricPixmapCache.getPixmap("resourcesCompiler48"), |
7955
567f2ec958c3
Changed code to always use the reworked notification system.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
693 | self.tr("Resource Compilation"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
694 | self.tr("The compilation of the resource file failed."), |
8265
0090cfa83159
Converted enum names to use all uppercase letters (except for E5PathPickerModes to keep plug-ins using this compatible with previous eric releases).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
695 | kind=NotificationTypes.CRITICAL, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
696 | timeout=0, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
697 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | self.compileProc = None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
699 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
700 | def __compileQRC(self, fn, noDialog=False, progress=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
701 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3515
diff
changeset
|
702 | Private method to compile a .qrc file to a .py file. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
703 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | @param fn filename of the .ui file to be compiled |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
705 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
706 | @param noDialog flag indicating silent operations |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
707 | @type bool |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
708 | @param progress reference to the progress dialog |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
709 | @type QProgressDialog |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
710 | @return reference to the compile process |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
711 | @rtype QProcess |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | self.compileProc = QProcess() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
714 | args = [] |
9627
4e926eb7e148
Fixed some performance issues in ProjectFormsBrowser and ProjectResourcesBrowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
715 | self.__buf = [] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
716 | |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
717 | if self.project.getProjectLanguage() == "Python3": |
11217 | 718 | if self.project.getProjectType() in ["PySide6", "PySide6C"]: |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
719 | self.rccCompiler = QtUtilities.generatePySideToolPath( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
720 | "pyside6-rcc", variant=6 |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
721 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | return None |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
724 | defaultParameters = self.project.getDefaultRccCompilerParameters() |
9514
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
725 | rccParameters = self.project.getProjectData(dataKey="RCCPARAMS") |
7266
d001bc703c29
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
726 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
727 | rccParameters["CompressionThreshold"] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
728 | != defaultParameters["CompressionThreshold"] |
7266
d001bc703c29
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
729 | ): |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
730 | args.append("-threshold") |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
731 | args.append(str(rccParameters["CompressionThreshold"])) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
732 | if rccParameters["CompressLevel"] != defaultParameters["CompressLevel"]: |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
733 | args.append("-compress") |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
734 | args.append(str(rccParameters["CompressLevel"])) |
7266
d001bc703c29
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
735 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
736 | rccParameters["CompressionDisable"] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
737 | != defaultParameters["CompressionDisable"] |
7266
d001bc703c29
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
738 | ): |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
739 | args.append("-no-compress") |
7266
d001bc703c29
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
740 | if rccParameters["PathPrefix"] != defaultParameters["PathPrefix"]: |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
741 | args.append("-root") |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
742 | args.append(rccParameters["PathPrefix"]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
743 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
744 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
745 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | rcc = self.rccCompiler |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
747 | |
10692
9becf9ca115c
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
748 | ofn, _ext = os.path.splitext(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
749 | fn = os.path.join(self.project.ppath, fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
750 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
751 | dirname, filename = os.path.split(ofn) |
7635
0cdead130a81
Removed support for Python2 and removed support for Qt4 (PyQt4 and pyside).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7628
diff
changeset
|
752 | if self.project.getProjectLanguage() == "Python3": |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
753 | self.compiledFile = os.path.join( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
754 | dirname, self.RCFilenameFormatPython.format(filename) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
755 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
756 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | args.append(fn) |
464
a2b1d1770ef0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
758 | self.compileProc.finished.connect(self.__compileQRCDone) |
a2b1d1770ef0
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
461
diff
changeset
|
759 | self.compileProc.readyReadStandardOutput.connect(self.__readStdout) |
470
99d8c50ba42f
Fixed some bugs introduced by signal/slot API conversion.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
464
diff
changeset
|
760 | self.compileProc.readyReadStandardError.connect(self.__readStderr) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
761 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
762 | self.noDialog = noDialog |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
763 | self.compileProc.start(rcc, args) |
2771
281c9b30dd91
Changed all QProcess.waitForStarted() calls to use a 5s timeout (except the debugger interfaces, which have a 10s timeout).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2741
diff
changeset
|
764 | procStarted = self.compileProc.waitForStarted(5000) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
765 | if procStarted: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
766 | self.compileRunning = True |
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:
8336
diff
changeset
|
767 | ericApp().getObject("ViewManager").enableEditorsCheckFocusIn(False) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
768 | return self.compileProc |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
769 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | self.compileRunning = False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
771 | if progress is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | progress.cancel() |
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:
8336
diff
changeset
|
773 | EricMessageBox.critical( |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2995
diff
changeset
|
774 | self, |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
775 | self.tr("Process Generation Error"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
776 | self.tr( |
9576
be9f8e7e42e0
Corrected some 'wrong' string quotes caused by the Black line merging.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9527
diff
changeset
|
777 | "Could not start {0}.<br>Ensure that it is in the search path." |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
778 | ).format(self.rccCompiler), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
779 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
780 | return None |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
781 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
782 | def __compileResource(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
783 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
784 | Private method to compile a resource to a source file. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
785 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | itm = self.model().item(self.currentIndex()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
787 | fn2 = itm.fileName() |
248
f4561c24989a
Changed code to better deal with project relative paths on Windows systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
245
diff
changeset
|
788 | fn = self.project.getRelativePath(fn2) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | if self.hooks["compileResource"] is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
790 | self.hooks["compileResource"](fn) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
791 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
792 | self.__compileQRC(fn) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
793 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
794 | def __compileAllResources(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
795 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
796 | Private method to compile all resources to source files. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
798 | if self.hooks["compileAllResources"] is not None: |
9514
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
799 | self.hooks["compileAllResources"]( |
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
800 | self.project.getProjectData(dataKey="RESOURCES") |
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
801 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | else: |
9514
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
803 | numResources = len(self.project.getProjectData(dataKey="RESOURCES")) |
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:
8336
diff
changeset
|
804 | progress = EricProgressDialog( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
805 | self.tr("Compiling resources..."), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
806 | self.tr("Abort"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
807 | 0, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
808 | numResources, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
809 | self.tr("%v/%m Resources"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
810 | self, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
811 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
812 | progress.setModal(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
813 | progress.setMinimumDuration(0) |
3478
beec1d9c1851
Correct window titles of progress dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
814 | progress.setWindowTitle(self.tr("Resources")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
815 | |
9514
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
816 | for prog, fn in enumerate(self.project.getProjectData(dataKey="RESOURCES")): |
8220
006ee31b4835
Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
817 | progress.setValue(prog) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
818 | if progress.wasCanceled(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
819 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
820 | proc = self.__compileQRC(fn, True, progress) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
821 | if proc is not None: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7959
diff
changeset
|
822 | while proc.state() == QProcess.ProcessState.Running: |
8943
23f9c7b9e18e
Implemented some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
823 | QThread.msleep(100) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
824 | QApplication.processEvents() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
825 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
826 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
827 | progress.setValue(numResources) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
828 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
829 | def __compileSelectedResources(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
830 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
831 | Private method to compile selected resources to source files. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
832 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
833 | items = self.getSelectedItems() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
834 | files = [self.project.getRelativePath(itm.fileName()) for itm in items] |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
835 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
836 | if self.hooks["compileSelectedResources"] is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
837 | self.hooks["compileSelectedResources"](files) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
838 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
839 | numResources = len(files) |
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:
8336
diff
changeset
|
840 | progress = EricProgressDialog( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
841 | self.tr("Compiling resources..."), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
842 | self.tr("Abort"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
843 | 0, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
844 | numResources, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
845 | self.tr("%v/%m Resources"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
846 | self, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
847 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
848 | progress.setModal(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
849 | progress.setMinimumDuration(0) |
3478
beec1d9c1851
Correct window titles of progress dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
850 | progress.setWindowTitle(self.tr("Resources")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
851 | |
8220
006ee31b4835
Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
852 | for prog, fn in enumerate(files): |
006ee31b4835
Applied some more code simplifications suggested by the new Simplify checker (Y113: use enumerate()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
853 | progress.setValue(prog) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
854 | if progress.wasCanceled(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | break |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
856 | if not fn.endswith(".ui.h"): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | proc = self.__compileQRC(fn, True, progress) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
858 | if proc is not None: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7959
diff
changeset
|
859 | while proc.state() == QProcess.ProcessState.Running: |
8943
23f9c7b9e18e
Implemented some performance improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
860 | QThread.msleep(100) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
861 | QApplication.processEvents() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
862 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | progress.setValue(numResources) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
865 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
866 | def __checkResourcesNewer(self, filename, mtime): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
867 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
868 | Private method to check, if any file referenced in a resource |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | file is newer than a given time. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
870 | |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
871 | @param filename filename of the resource file |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
872 | @type str |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
873 | @param mtime modification time to check against |
10430
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
874 | @type int |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
875 | @return flag indicating some file is newer |
e440aaf179ce
Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10398
diff
changeset
|
876 | @rtype boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
877 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
878 | try: |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
879 | with open(filename, "r", encoding="utf-8") as f: |
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
880 | buf = f.read() |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
881 | except OSError: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
882 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
883 | |
1676
54f387117fee
Fixed an issue in the project resources viewer causing a resourcefile not being recompiled when a linked resource has changed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
884 | qrcDirName = os.path.dirname(filename) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | lbuf = "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | for line in buf.splitlines(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | line = line.strip() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
888 | if line.lower().startswith("<file>") or line.lower().startswith("<file "): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | lbuf = line |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | elif lbuf: |
427
6af5d12cfecb
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
891 | lbuf = "{0}{1}".format(lbuf, line) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
892 | if lbuf.lower().endswith("</file>"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
893 | rfile = lbuf.split(">", 1)[1].split("<", 1)[0] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
894 | if not os.path.isabs(rfile): |
1676
54f387117fee
Fixed an issue in the project resources viewer causing a resourcefile not being recompiled when a linked resource has changed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
895 | rfile = os.path.join(qrcDirName, rfile) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
896 | if os.path.exists(rfile) and os.stat(rfile).st_mtime > mtime: |
826
2e3e2055e715
Fixed a few PEP 8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
897 | return True |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
898 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | lbuf = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
900 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
901 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
902 | |
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:
9516
diff
changeset
|
903 | def __compileChangedResources(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
904 | """ |
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:
9516
diff
changeset
|
905 | Private method to compile all changed resources to source files. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
906 | """ |
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:
9516
diff
changeset
|
907 | if Preferences.getProject("AutoCompileResources"): |
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:
9516
diff
changeset
|
908 | if self.hooks["compileChangedResources"] is not None: |
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:
9516
diff
changeset
|
909 | self.hooks["compileChangedResources"]( |
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:
9516
diff
changeset
|
910 | self.project.getProjectData(dataKey="RESOURCES") |
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:
9516
diff
changeset
|
911 | ) |
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:
9516
diff
changeset
|
912 | else: |
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:
9516
diff
changeset
|
913 | if len(self.project.getProjectData(dataKey="RESOURCES")) == 0: |
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:
9516
diff
changeset
|
914 | # The project does not contain resource 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:
9516
diff
changeset
|
915 | return |
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:
9516
diff
changeset
|
916 | |
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:
9516
diff
changeset
|
917 | progress = EricProgressDialog( |
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:
9516
diff
changeset
|
918 | self.tr("Determining changed resources..."), |
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:
9516
diff
changeset
|
919 | self.tr("Abort"), |
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:
9516
diff
changeset
|
920 | 0, |
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:
9516
diff
changeset
|
921 | 100, |
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:
9516
diff
changeset
|
922 | self.tr("%v/%m Resources"), |
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:
9516
diff
changeset
|
923 | self, |
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:
9516
diff
changeset
|
924 | ) |
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:
9516
diff
changeset
|
925 | progress.setMinimumDuration(0) |
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:
9516
diff
changeset
|
926 | progress.setWindowTitle(self.tr("Resources")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
927 | |
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:
9516
diff
changeset
|
928 | # get list of changed resources |
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:
9516
diff
changeset
|
929 | changedResources = [] |
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:
9516
diff
changeset
|
930 | progress.setMaximum( |
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:
9516
diff
changeset
|
931 | len(self.project.getProjectData(dataKey="RESOURCES")) |
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:
9516
diff
changeset
|
932 | ) |
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:
9516
diff
changeset
|
933 | for prog, fn in enumerate( |
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:
9516
diff
changeset
|
934 | self.project.getProjectData(dataKey="RESOURCES") |
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:
9516
diff
changeset
|
935 | ): |
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:
9516
diff
changeset
|
936 | progress.setValue(prog) |
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:
9516
diff
changeset
|
937 | QApplication.processEvents() |
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:
9516
diff
changeset
|
938 | ifn = os.path.join(self.project.ppath, fn) |
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:
9516
diff
changeset
|
939 | if self.project.getProjectLanguage() == "Python3": |
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:
9516
diff
changeset
|
940 | dirname, filename = os.path.split(os.path.splitext(ifn)[0]) |
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:
9516
diff
changeset
|
941 | ofn = os.path.join( |
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:
9516
diff
changeset
|
942 | dirname, self.RCFilenameFormatPython.format(filename) |
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:
9516
diff
changeset
|
943 | ) |
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:
9516
diff
changeset
|
944 | else: |
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:
9516
diff
changeset
|
945 | return |
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:
9516
diff
changeset
|
946 | if ( |
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:
9516
diff
changeset
|
947 | not os.path.exists(ofn) |
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:
9516
diff
changeset
|
948 | or os.stat(ifn).st_mtime > os.stat(ofn).st_mtime |
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:
9516
diff
changeset
|
949 | or self.__checkResourcesNewer(ifn, os.stat(ofn).st_mtime) |
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:
9516
diff
changeset
|
950 | ): |
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:
9516
diff
changeset
|
951 | changedResources.append(fn) |
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:
9516
diff
changeset
|
952 | progress.setValue(len(self.project.getProjectData(dataKey="RESOURCES"))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
953 | QApplication.processEvents() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
954 | |
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:
9516
diff
changeset
|
955 | if changedResources: |
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:
9516
diff
changeset
|
956 | progress.setLabelText(self.tr("Compiling changed resources...")) |
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:
9516
diff
changeset
|
957 | progress.setMaximum(len(changedResources)) |
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:
9516
diff
changeset
|
958 | progress.setValue(0) |
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:
9516
diff
changeset
|
959 | QApplication.processEvents() |
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:
9516
diff
changeset
|
960 | for prog, fn in enumerate(changedResources): |
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:
9516
diff
changeset
|
961 | progress.setValue(prog) |
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:
9516
diff
changeset
|
962 | if progress.wasCanceled(): |
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:
9516
diff
changeset
|
963 | break |
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:
9516
diff
changeset
|
964 | proc = self.__compileQRC(fn, True, progress) |
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:
9516
diff
changeset
|
965 | if proc is not None: |
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:
9516
diff
changeset
|
966 | while proc.state() == QProcess.ProcessState.Running: |
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:
9516
diff
changeset
|
967 | QThread.msleep(100) |
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:
9516
diff
changeset
|
968 | QApplication.processEvents() |
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:
9516
diff
changeset
|
969 | else: |
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:
9516
diff
changeset
|
970 | break |
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:
9516
diff
changeset
|
971 | progress.setValue(len(changedResources)) |
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:
9516
diff
changeset
|
972 | QApplication.processEvents() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
973 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
974 | def handlePreferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
975 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
976 | Public slot used to handle the preferencesChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
977 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
978 | ProjectBaseBrowser.handlePreferencesChanged(self) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
979 | |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
980 | def __configureRccCompiler(self): |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
981 | """ |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
982 | Private slot to configure some non-common rcc compiler options. |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
983 | """ |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
984 | from .RccCompilerOptionsDialog import RccCompilerOptionsDialog |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
985 | |
9514
2b104ad132a4
Made the project pdata structure private and added getter and setter methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9512
diff
changeset
|
986 | params = self.project.getProjectData(dataKey="RCCPARAMS") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
987 | |
11006
a671918232f3
Modified modal dialog usage to always include a valid parent (needed for Wayland).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10708
diff
changeset
|
988 | dlg = RccCompilerOptionsDialog(params, parent=self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7959
diff
changeset
|
989 | if dlg.exec() == QDialog.DialogCode.Accepted: |
6604
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
990 | threshold, compression, noCompression, root = dlg.getData() |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
991 | if threshold != params["CompressionThreshold"]: |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
992 | params["CompressionThreshold"] = threshold |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
993 | self.project.setDirty(True) |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
994 | if compression != params["CompressLevel"]: |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
995 | params["CompressLevel"] = compression |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
996 | self.project.setDirty(True) |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
997 | if noCompression != params["CompressionDisable"]: |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
998 | params["CompressionDisable"] = noCompression |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
999 | self.project.setDirty(True) |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
1000 | if root != params["PathPrefix"]: |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
1001 | params["PathPrefix"] = root |
a73d553ef521
ProjectFormsBrowser: started implementing support for rcc compiler options
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6371
diff
changeset
|
1002 | self.project.setDirty(True) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1003 | |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
1004 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1005 | ## Support for hooks below |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
1006 | ########################################################################### |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1007 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1008 | def _initHookMethods(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1009 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1010 | Protected method to initialize the hooks dictionary. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1011 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1012 | Supported hook methods are: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1013 | <ul> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1014 | <li>compileResource: takes filename as parameter</li> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1015 | <li>compileAllResources: takes list of filenames as parameter</li> |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1016 | <li>compileChangedResources: takes list of filenames as parameter</li> |
2995
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
1017 | <li>compileSelectedResources: takes list of all form filenames as |
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
1018 | parameter</li> |
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
1019 | <li>newResource: takes full directory path of new file as |
63d874899b8b
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2771
diff
changeset
|
1020 | parameter</li> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1021 | </ul> |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
1022 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1023 | <b>Note</b>: Filenames are relative to the project directory, if not |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1024 | specified differently. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1025 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1026 | self.hooks = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1027 | "compileResource": None, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1028 | "compileAllResources": None, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1029 | "compileChangedResources": None, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1030 | "compileSelectedResources": None, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
1031 | "newResource": None, |
788
5b1b59777460
Added a feature where flags can be given at the end of a source file. The only flag supported is 'FileType' to overwrite the filetype detection mechanism.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1032 | } |