Sun, 18 Dec 2022 19:33:46 +0100
Refactored the Utilities and Globals modules in order to enhance the maintainability.
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
8881
54e42bc2437a
Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8880
diff
changeset
|
3 | # Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Class implementing a specialized application class. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
8843
586ee2c4553a
Enhanced style sheet previewer and style sheet handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8840
diff
changeset
|
10 | import os |
586ee2c4553a
Enhanced style sheet previewer and style sheet handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8840
diff
changeset
|
11 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9448
diff
changeset
|
12 | from PyQt6.QtCore import QCoreApplication, Qt |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
13 | from PyQt6.QtGui import QColor, QPalette |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
14 | from PyQt6.QtWidgets import QApplication |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
9400
5494faeaead2
Fixed a little nuisance setting the "AA_ShareOpenGLContexts" attribute.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
16 | if not QCoreApplication.testAttribute(Qt.ApplicationAttribute.AA_ShareOpenGLContexts): |
5494faeaead2
Fixed a little nuisance setting the "AA_ShareOpenGLContexts" attribute.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
17 | QCoreApplication.setAttribute(Qt.ApplicationAttribute.AA_ShareOpenGLContexts, True) |
7589
c1f81fd8c33a
E5Application: fixed a warning related to initialisation of Qt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7502
diff
changeset
|
18 | |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
19 | from eric7.SystemUtilities import FileSystemUtilities |
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
20 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
21 | from . import EricMessageBox |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
22 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
23 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
24 | class EricApplication(QApplication): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | Eric application class with an object registry. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
28 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
29 | PaletteRoleMapping = { |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
30 | "alternate-base": QPalette.ColorRole.AlternateBase, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
31 | "base": QPalette.ColorRole.Base, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
32 | "text": QPalette.ColorRole.Text, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
33 | "bright-text": QPalette.ColorRole.BrightText, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
34 | "placeholder-text": QPalette.ColorRole.PlaceholderText, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
35 | "window": QPalette.ColorRole.Window, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
36 | " window-text": QPalette.ColorRole.WindowText, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
37 | "tooltip-base": QPalette.ColorRole.ToolTipBase, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
38 | "tooltip-text": QPalette.ColorRole.ToolTipText, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
39 | "button": QPalette.ColorRole.Button, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
40 | "button-text": QPalette.ColorRole.ButtonText, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
41 | "highlight": QPalette.ColorRole.Highlight, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
42 | "highlighted-text": QPalette.ColorRole.HighlightedText, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
43 | "link": QPalette.ColorRole.Link, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
44 | "link-visited": QPalette.ColorRole.LinkVisited, |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
45 | } |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
46 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | def __init__(self, argv): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
50 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | @param argv command line arguments |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
52 | @type list |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
54 | super().__init__(argv) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
55 | |
7984
e48dd1b7b2fa
E5Application: did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
56 | QCoreApplication.setAttribute( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
57 | Qt.ApplicationAttribute.AA_DontCreateNativeWidgetSiblings, True |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
58 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
59 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | self.__objectRegistry = {} |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | self.__pluginObjectRegistry = {} |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
62 | |
8729
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
63 | self.__smallScreen = False |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
64 | if "--small-screen" in argv: |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
65 | self.__smallScreen = True |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
66 | argv.remove("--small-screen") |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
67 | if not self.__smallScreen: |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
68 | primaryScreenSize = self.primaryScreen().size() |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
69 | self.__smallScreen = ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
70 | primaryScreenSize.width() < 1920 or primaryScreenSize.height() < 1080 |
8729
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
71 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
72 | |
8729
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
73 | def usesSmallScreen(self): |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
74 | """ |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
75 | Public method to determine, if the application is used on a small |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
76 | screen. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
77 | |
8729
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
78 | @return flag indicating the use of a small screen |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
79 | @rtype bool |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
80 | """ |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
81 | return self.__smallScreen |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
82 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
83 | def registerObject(self, name, objectRef): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | Public method to register an object in the object registry. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
86 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
87 | @param name name of the object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
88 | @type str |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
89 | @param objectRef reference to the object |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
90 | @type any |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | @exception KeyError raised when the given name is already in use |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | if name in self.__objectRegistry: |
410
e5d1addeb90c
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
94 | raise KeyError('Object "{0}" already registered.'.format(name)) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | else: |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
96 | self.__objectRegistry[name] = objectRef |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
97 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | def getObject(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | Public method to get a reference to a registered object. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
101 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
102 | @param name name of the object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
103 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | @return reference to the registered object |
7502
426f64d419f0
Regenerated the source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7493
diff
changeset
|
105 | @rtype any |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | @exception KeyError raised when the given name is not known |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | """ |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
108 | if name not in self.__objectRegistry: |
410
e5d1addeb90c
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
109 | raise KeyError('Object "{0}" is not registered.'.format(name)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
110 | |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
111 | return self.__objectRegistry[name] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
112 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
113 | def registerPluginObject(self, name, objectRef, pluginType=None): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | Public method to register a plugin object in the object registry. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
116 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
117 | @param name name of the plugin object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
118 | @type str |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
119 | @param objectRef reference to the plugin object |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
120 | @type any |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
121 | @param pluginType type of the plugin object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
122 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | @exception KeyError raised when the given name is already in use |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | if name in self.__pluginObjectRegistry: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
126 | raise KeyError('Pluginobject "{0}" already registered.'.format(name)) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | else: |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
128 | self.__pluginObjectRegistry[name] = (objectRef, pluginType) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
129 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | def unregisterPluginObject(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | Public method to unregister a plugin object in the object registry. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
133 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
134 | @param name name of the plugin object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
135 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | if name in self.__pluginObjectRegistry: |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | del self.__pluginObjectRegistry[name] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
139 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | def getPluginObject(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | Public method to get a reference to a registered plugin object. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
143 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
144 | @param name name of the plugin object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
145 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | @return reference to the registered plugin object |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
147 | @rtype any |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | @exception KeyError raised when the given name is not known |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | """ |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
150 | if name not in self.__pluginObjectRegistry: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
151 | raise KeyError('Pluginobject "{0}" is not registered.'.format(name)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
152 | |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
153 | return self.__pluginObjectRegistry[name][0] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
154 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | def getPluginObjects(self): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | Public method to get a list of (name, reference) pairs of all |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | registered plugin objects. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
159 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | @return list of (name, reference) pairs |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
161 | @rtype list of (str, any) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | objects = [] |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | for name in self.__pluginObjectRegistry: |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | objects.append((name, self.__pluginObjectRegistry[name][0])) |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | return objects |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
167 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | def getPluginObjectType(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | Public method to get the type of a registered plugin object. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
171 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
172 | @param name name of the plugin object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
173 | @type str |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
174 | @return type of the plugin object |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
175 | @rtype str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | @exception KeyError raised when the given name is not known |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | """ |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
178 | if name not in self.__pluginObjectRegistry: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
179 | raise KeyError('Pluginobject "{0}" is not registered.'.format(name)) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
180 | |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
181 | return self.__pluginObjectRegistry[name][1] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
182 | |
8880
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
183 | def getStyleIconsPath(self, universal=False): |
8864
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
184 | """ |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
185 | Public method to get the path for the style icons. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
186 | |
8880
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
187 | @param universal flag indicating a universal file path (defaults to |
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
188 | False) |
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
189 | @type bool (optional) |
8864
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
190 | @return directory path containing the style icons |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
191 | @rtype str |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
192 | """ |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
193 | from eric7 import Preferences |
9448
ea215f7afab3
Fixed an issue importing the eric7config module.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
194 | from eric7.Globals import getConfig |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
195 | |
8864
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
196 | styleIconsPath = Preferences.getUI("StyleIconsPath") |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
197 | if not styleIconsPath: |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
198 | # default is the 'StyleIcons' sub-directory of the icons |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
199 | # directory |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
200 | styleIconsPath = os.path.join(getConfig("ericIconDir"), "StyleIcons") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
201 | |
8880
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
202 | if universal: |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9473
diff
changeset
|
203 | return FileSystemUtilities.fromNativeSeparators(styleIconsPath) |
8880
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
204 | else: |
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
205 | return styleIconsPath |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
206 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
207 | def setStyleSheetFile(self, filename): |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
208 | """ |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
209 | Public method to read a QSS style sheet file and set the application |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
210 | style sheet based on its contents. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
211 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
212 | @param filename name of the QSS style sheet file |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
213 | @type str |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
214 | """ |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
215 | if filename: |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
216 | try: |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
217 | with open(filename, "r", encoding="utf-8") as f: |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
218 | styleSheet = f.read() |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
219 | except OSError as msg: |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
220 | EricMessageBox.warning( |
8908
48f55b2e7fe5
Fixed an issue in EricApplication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
221 | None, |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
222 | QCoreApplication.translate( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
223 | "EricApplication", "Loading Style Sheet" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
224 | ), |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
225 | QCoreApplication.translate( |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
226 | "EricApplication", |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
227 | """<p>The Qt Style Sheet file <b>{0}</b> could""" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
228 | """ not be read.<br>Reason: {1}</p>""", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
229 | ).format(filename, str(msg)), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
230 | ) |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
231 | return |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
232 | else: |
8840
c9fa102d0194
Fixed an issue during startup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8837
diff
changeset
|
233 | styleSheet = "" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
234 | |
8843
586ee2c4553a
Enhanced style sheet previewer and style sheet handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8840
diff
changeset
|
235 | if styleSheet: |
8880
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
236 | # pre-process the style sheet to replace the placeholder for the |
8843
586ee2c4553a
Enhanced style sheet previewer and style sheet handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8840
diff
changeset
|
237 | # path to the icons |
8880
4b631598f752
Corrected the style sheet path replacement function to use a path with forward slashes (i.e. non-native on Windows platforms).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8864
diff
changeset
|
238 | styleIconsPath = self.getStyleIconsPath(universal=True) |
8843
586ee2c4553a
Enhanced style sheet previewer and style sheet handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8840
diff
changeset
|
239 | styleSheet = styleSheet.replace("${path}", styleIconsPath) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
240 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
241 | if "QPalette {" in styleSheet: |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
242 | self.__setPaletteFromStyleSheet(styleSheet) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
243 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
244 | ericApp().setStyleSheet(styleSheet) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
245 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
246 | def __setPaletteFromStyleSheet(self, styleSheet): |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
247 | """ |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
248 | Private method to set the palette from a style sheet. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
249 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
250 | @param styleSheet style sheet |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
251 | @type str |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
252 | """ |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
253 | palette = self.palette() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
254 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
255 | paletteStr = styleSheet.split("QPalette {")[1].split("}")[0] |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
256 | paletteLines = paletteStr.strip().splitlines() |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
257 | for line in paletteLines: |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
258 | role, value = line.strip().split() |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
259 | role = role.strip("\t :").lower() |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
260 | value = value.strip("\t ;") |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
261 | if role in self.PaletteRoleMapping and value.startswith("#"): |
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
262 | palette.setColor(self.PaletteRoleMapping[role], QColor(value)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
263 | |
8837
6b4b2acc5324
Added capability to configure the eric application palette via a QSS file (handled internally by eric).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8729
diff
changeset
|
264 | self.setPalette(palette) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
265 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
266 | def usesDarkPalette(self): |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
267 | """ |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
268 | Public method to check, if the application uses a palette with a dark |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
269 | background. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
270 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
271 | @return flag indicating the use of a palette with a dark background |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
272 | @rtype bool |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
273 | """ |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
274 | palette = self.palette() |
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:
7984
diff
changeset
|
275 | lightness = palette.color(QPalette.ColorRole.Window).lightness() |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
276 | return lightness <= 128 |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
278 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
279 | ericApp = QCoreApplication.instance |