Fri, 07 Jan 2022 20:25:38 +0100
Fixed an issue in EricApplication.
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 | |
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
|
12 | from PyQt6.QtCore import Qt, QCoreApplication |
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 | |
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
|
16 | QCoreApplication.setAttribute( |
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
|
17 | 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 | |
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
|
19 | 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
|
20 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
21 | |
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
|
22 | class EricApplication(QApplication): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Eric application class with an object registry. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
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
|
26 | 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
|
27 | "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
|
28 | "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
|
29 | "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
|
30 | "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
|
31 | "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
|
32 | "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
|
33 | " 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
|
34 | "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
|
35 | "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
|
36 | "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
|
37 | "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
|
38 | "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
|
39 | "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
|
40 | "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
|
41 | "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
|
42 | } |
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 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | def __init__(self, argv): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | Constructor |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | @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
|
49 | @type list |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | """ |
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
|
51 | super().__init__(argv) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
7984
e48dd1b7b2fa
E5Application: did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
53 | QCoreApplication.setAttribute( |
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
|
54 | Qt.ApplicationAttribute.AA_DontCreateNativeWidgetSiblings, True) |
5767
e899248519e0
Added code to suppress the generation of native widget siblings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
55 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.__objectRegistry = {} |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | self.__pluginObjectRegistry = {} |
8729
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
58 | |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
59 | self.__smallScreen = False |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
60 | if "--small-screen" in argv: |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
61 | self.__smallScreen = True |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
62 | argv.remove("--small-screen") |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
63 | if not self.__smallScreen: |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
64 | primaryScreenSize = self.primaryScreen().size() |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
65 | self.__smallScreen = ( |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
66 | primaryScreenSize.width() < 1920 or |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
67 | primaryScreenSize.height() < 1080 |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
68 | ) |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
69 | |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
70 | def usesSmallScreen(self): |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
71 | """ |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
72 | 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
|
73 | screen. |
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 | @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
|
76 | @rtype bool |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
77 | """ |
226da2e26a84
Changed the 'small-screen' related code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
78 | return self.__smallScreen |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
79 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
80 | def registerObject(self, name, objectRef): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | Public method to register an object in the object registry. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
84 | @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
|
85 | @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
|
86 | @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
|
87 | @type any |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | @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
|
89 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | if name in self.__objectRegistry: |
410
e5d1addeb90c
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
91 | raise KeyError('Object "{0}" already registered.'.format(name)) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | 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
|
93 | self.__objectRegistry[name] = objectRef |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
94 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | def getObject(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | Public method to get a reference to a registered object. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
99 | @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
|
100 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | @return reference to the registered object |
7502
426f64d419f0
Regenerated the source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7493
diff
changeset
|
102 | @rtype any |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | @exception KeyError raised when the given name is not known |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | """ |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
105 | if name not in self.__objectRegistry: |
410
e5d1addeb90c
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
106 | raise KeyError('Object "{0}" is not registered.'.format(name)) |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
107 | |
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
108 | return self.__objectRegistry[name] |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
109 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
110 | def registerPluginObject(self, name, objectRef, pluginType=None): |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | Public method to register a plugin object in the object registry. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
114 | @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
|
115 | @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
|
116 | @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
|
117 | @type any |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
118 | @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
|
119 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | @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
|
121 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | if name in self.__pluginObjectRegistry: |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
123 | raise KeyError( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
124 | 'Pluginobject "{0}" already registered.'.format(name)) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | 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
|
126 | self.__pluginObjectRegistry[name] = (objectRef, pluginType) |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
127 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | def unregisterPluginObject(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | Public method to unregister a plugin object in the object registry. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
132 | @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
|
133 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | if name in self.__pluginObjectRegistry: |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | del self.__pluginObjectRegistry[name] |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
137 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | def getPluginObject(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | Public method to get a reference to a registered plugin object. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
142 | @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
|
143 | @type str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | @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
|
145 | @rtype any |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | @exception KeyError raised when the given name is not known |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | """ |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
148 | if name not in self.__pluginObjectRegistry: |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
149 | raise KeyError( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
150 | 'Pluginobject "{0}" is not registered.'.format(name)) |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
151 | |
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
152 | return self.__pluginObjectRegistry[name][0] |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
153 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | def getPluginObjects(self): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | 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
|
157 | registered plugin objects. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | @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
|
160 | @rtype list of (str, any) |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | objects = [] |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | for name in self.__pluginObjectRegistry: |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | objects.append((name, self.__pluginObjectRegistry[name][0])) |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | return objects |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
166 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | def getPluginObjectType(self, name): |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | """ |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | Public method to get the type of a registered plugin object. |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
171 | @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
|
172 | @type str |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
173 | @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
|
174 | @rtype str |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | @exception KeyError raised when the given name is not known |
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | """ |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
177 | if name not in self.__pluginObjectRegistry: |
2990
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
178 | raise KeyError( |
583beaf0b4b8
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
179 | 'Pluginobject "{0}" is not registered.'.format(name)) |
8205
4a0f1f896341
Applied some code simplifications suggested by the new Simplify checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
180 | |
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] |
7493
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
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. |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
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 | """ |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
193 | import Preferences |
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
|
194 | import Utilities |
8864
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
195 | from eric7config import getConfig |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
196 | |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
197 | 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
|
198 | 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
|
199 | # 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
|
200 | # directory |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
201 | styleIconsPath = os.path.join( |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
202 | getConfig('ericIconDir'), "StyleIcons") |
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
203 | |
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 | if universal: |
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 Utilities.fromNativeSeparators(styleIconsPath) |
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
|
206 | 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
|
207 | return styleIconsPath |
8864
4a0f7105dbd8
Added configuration capability for the path containing the style icon sub-directories.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8843
diff
changeset
|
208 | |
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
|
209 | 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
|
210 | """ |
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
|
211 | 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
|
212 | style sheet based on its contents. |
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 | |
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 | @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
|
215 | @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
|
216 | """ |
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 | 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
|
218 | 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
|
219 | 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
|
220 | 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
|
221 | 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
|
222 | EricMessageBox.warning( |
8908
48f55b2e7fe5
Fixed an issue in EricApplication.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8881
diff
changeset
|
223 | 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
|
224 | 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
|
225 | "EricApplication", "Loading 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
|
226 | 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
|
227 | "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
|
228 | """<p>The Qt Style Sheet file <b>{0}</b> could""" |
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
|
229 | """ not be read.<br>Reason: {1}</p>""") |
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
|
230 | .format(filename, str(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
|
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 = "" |
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
|
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) |
586ee2c4553a
Enhanced style sheet previewer and style sheet handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8840
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) |
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
|
243 | |
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) |
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
|
245 | |
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. |
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
|
249 | |
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() |
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
|
254 | |
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)) |
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
|
263 | |
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) |
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
|
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. |
1696e91a5393
Added vector icons for the mercurial and subversion plug-ins.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
270 | |
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 | |
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
|
278 | ericApp = QCoreApplication.instance |