Fri, 16 Nov 2018 20:00:03 +0100
Globals, UserInterface: improved the detection of the Qt tools.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6034
diff
changeset
|
3 | # Copyright (c) 2006 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module defining common data to be used by all modules. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
4343
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4241
diff
changeset
|
10 | # |
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4241
diff
changeset
|
11 | # Note: Do not import any eric stuff in here!!!!!!! |
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4241
diff
changeset
|
12 | # |
afe0da217745
Added the '--settings=' command line switch to store the settings files in a non-standard directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4241
diff
changeset
|
13 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
14 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
15 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | import sys |
1162
ab292b7f4f8a
Added code to search for a Python2 interpreter in some known places. If none is found, the user can configure it on the Debugger, Python config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
17 | import os |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
18 | import re |
6474
72c063cc730b
Globals.__init__: fixed an issue that caused startup issues on Windows if both _eric6 and .eric6 were existing.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6366
diff
changeset
|
19 | import shutil |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
21 | from PyQt5.QtCore import QDir, QLibraryInfo, QByteArray, QCoreApplication, \ |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
22 | QT_VERSION_STR, QT_VERSION |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
23 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | # names of the various settings objects |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
25 | settingsNameOrganization = "Eric6" |
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
26 | settingsNameGlobal = "eric6" |
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
27 | settingsNameRecent = "eric6recent" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | # key names of the various recent entries |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | recentNameMultiProject = "MultiProjects" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | recentNameProject = "Projects" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | recentNameFiles = "Files" |
4695
9dc08852de25
Added a 'Recent Files' menu to the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4686
diff
changeset
|
33 | recentNameHexFiles = "HexFiles" |
1221
291dc0a51947
Added code to the cooperation functions to support IPv6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1162
diff
changeset
|
34 | recentNameHosts = "Hosts6" |
6034
4f88f70d2cd4
Added the capability to remember the most recently used file names and conditions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5859
diff
changeset
|
35 | recentNameBreakpointFiles = "BreakPointFiles" |
4f88f70d2cd4
Added the capability to remember the most recently used file names and conditions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5859
diff
changeset
|
36 | recentNameBreakpointConditions = "BreakPointConditions" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
38 | configDir = None |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
39 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
40 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | def isWindowsPlatform(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | Function to check, if this is a Windows platform. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @return flag indicating Windows platform (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
6289
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
47 | return sys.platform.startswith(("win", "cygwin")) |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
48 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
49 | |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
50 | def isMacPlatform(): |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
51 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
52 | Function to check, if this is a Mac platform. |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
53 | |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
54 | @return flag indicating Mac platform (boolean) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
55 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
56 | return sys.platform == "darwin" |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
57 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
882
diff
changeset
|
58 | |
882
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
59 | def isLinuxPlatform(): |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
60 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
61 | Function to check, if this is a Linux platform. |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
62 | |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
63 | @return flag indicating Linux platform (boolean) |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
64 | """ |
34b86be88bf0
Redid the native file dialog code to be future proof.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
65 | return sys.platform.startswith("linux") |
1162
ab292b7f4f8a
Added code to search for a Python2 interpreter in some known places. If none is found, the user can configure it on the Debugger, Python config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
66 | |
ab292b7f4f8a
Added code to search for a Python2 interpreter in some known places. If none is found, the user can configure it on the Debugger, Python config page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
67 | |
6289
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
68 | def desktopName(): |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
69 | """ |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
70 | Function to determine the name of the desktop environment used |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
71 | (Linux only). |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
72 | |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
73 | @return name of the desktop environment |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
74 | @rtype str |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
75 | """ |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
76 | if not isLinuxPlatform(): |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
77 | return "" |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
78 | |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
79 | currDesktop = os.environ.get("XDG_CURRENT_DESKTOP", "") |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
80 | if currDesktop: |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
81 | return currDesktop |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
82 | |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
83 | currDesktop = os.environ.get("XDG_SESSION_DESKTOP", "") |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
84 | if currDesktop: |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
85 | return currDesktop |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
86 | |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
87 | currDesktop = os.environ.get("GDMSESSION", "") |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
88 | if currDesktop: |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
89 | return currDesktop |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
90 | |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
91 | return "" |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
92 | |
f481df37413c
Extended the error report to send the desktop environment in use (Linux only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
93 | |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
94 | def checkBlacklistedVersions(): |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
95 | """ |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
96 | Module functions to check for blacklisted versions of the prerequisites. |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
97 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
98 | @return flag indicating good versions were found (boolean) |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
99 | """ |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
100 | from install import BlackLists, PlatformsBlackLists |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
101 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
102 | # determine the platform dependent black list |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
103 | if isWindowsPlatform(): |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
104 | PlatformBlackLists = PlatformsBlackLists["windows"] |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
105 | elif isLinuxPlatform(): |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
106 | PlatformBlackLists = PlatformsBlackLists["linux"] |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
107 | else: |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
108 | PlatformBlackLists = PlatformsBlackLists["mac"] |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
109 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
110 | # check version of sip |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
111 | try: |
6364
6a496f0886ad
Prepared the "import sip" statements for PyQt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6345
diff
changeset
|
112 | try: |
6365
85f8745427a6
Redid the "import sip" statements for PyQt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6364
diff
changeset
|
113 | from PyQt5 import sip |
6364
6a496f0886ad
Prepared the "import sip" statements for PyQt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6345
diff
changeset
|
114 | except ImportError: |
6365
85f8745427a6
Redid the "import sip" statements for PyQt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6364
diff
changeset
|
115 | import sip |
5401
dbbbd94aec0b
Fixed a change of the latest changeset.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5400
diff
changeset
|
116 | sipVersion = sip.SIP_VERSION_STR |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
117 | # always assume, that snapshots are good |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
118 | if "snapshot" not in sipVersion: |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
119 | # check for blacklisted versions |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
120 | for vers in BlackLists["sip"] + PlatformBlackLists["sip"]: |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
121 | if vers == sipVersion: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2615
diff
changeset
|
122 | print( |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
123 | 'Sorry, sip version {0} is not compatible with eric6.' |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2615
diff
changeset
|
124 | .format(vers)) |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
125 | print('Please install another version.') |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
126 | return False |
5401
dbbbd94aec0b
Fixed a change of the latest changeset.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5400
diff
changeset
|
127 | except (ImportError, AttributeError): |
dbbbd94aec0b
Fixed a change of the latest changeset.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5400
diff
changeset
|
128 | pass |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
129 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
130 | # check version of PyQt |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
131 | from PyQt5.QtCore import PYQT_VERSION_STR |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
132 | pyqtVersion = PYQT_VERSION_STR |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
133 | # always assume, that snapshots are good |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
134 | if "snapshot" not in pyqtVersion: |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
135 | # check for blacklisted versions |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
136 | pyqtVariant = "PyQt{0}".format(pyqtVersion[0]) |
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
137 | for vers in BlackLists[pyqtVariant] + PlatformBlackLists[pyqtVariant]: |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
138 | if vers == pyqtVersion: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
139 | print('Sorry, PyQt version {0} is not compatible with eric6.' |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
140 | .format(vers)) |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
141 | print('Please install another version.') |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
142 | return False |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
143 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
144 | # check version of QScintilla |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
145 | from PyQt5.Qsci import QSCINTILLA_VERSION_STR |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
146 | scintillaVersion = QSCINTILLA_VERSION_STR |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
147 | # always assume, that snapshots are new enough |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
148 | if "snapshot" not in scintillaVersion: |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
149 | # check for blacklisted versions |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2615
diff
changeset
|
150 | for vers in BlackLists["QScintilla2"] + \ |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2615
diff
changeset
|
151 | PlatformBlackLists["QScintilla2"]: |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
152 | if vers == scintillaVersion: |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2615
diff
changeset
|
153 | print( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2615
diff
changeset
|
154 | 'Sorry, QScintilla2 version {0} is not compatible' |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
155 | ' with eric6.'.format(vers)) |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
156 | print('Please install another version.') |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
157 | return False |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
158 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
159 | return True |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
160 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
161 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
162 | def getConfigDir(): |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
163 | """ |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
164 | Module function to get the name of the directory storing the config data. |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
165 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
166 | @return directory name of the config dir (string) |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
167 | """ |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
168 | if configDir is not None and os.path.exists(configDir): |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
169 | hp = configDir |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
170 | else: |
6303
ec9ebaf206fb
Got rid of the Windows "DotNet"-Hack (i.e. using _ instead of . as first character of special directories).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6289
diff
changeset
|
171 | cdn = ".eric6" |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
172 | if isWindowsPlatform(): |
6303
ec9ebaf206fb
Got rid of the Windows "DotNet"-Hack (i.e. using _ instead of . as first character of special directories).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6289
diff
changeset
|
173 | # migrate the old config directory (< v18.06) |
ec9ebaf206fb
Got rid of the Windows "DotNet"-Hack (i.e. using _ instead of . as first character of special directories).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6289
diff
changeset
|
174 | cdnOld = "_eric6" |
ec9ebaf206fb
Got rid of the Windows "DotNet"-Hack (i.e. using _ instead of . as first character of special directories).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6289
diff
changeset
|
175 | hpOld = os.path.join(os.path.expanduser("~"), cdnOld) |
ec9ebaf206fb
Got rid of the Windows "DotNet"-Hack (i.e. using _ instead of . as first character of special directories).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6289
diff
changeset
|
176 | if os.path.exists(hpOld): |
ec9ebaf206fb
Got rid of the Windows "DotNet"-Hack (i.e. using _ instead of . as first character of special directories).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6289
diff
changeset
|
177 | hpNew = os.path.join(os.path.expanduser("~"), cdn) |
6474
72c063cc730b
Globals.__init__: fixed an issue that caused startup issues on Windows if both _eric6 and .eric6 were existing.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6366
diff
changeset
|
178 | if os.path.exists(hpNew): |
72c063cc730b
Globals.__init__: fixed an issue that caused startup issues on Windows if both _eric6 and .eric6 were existing.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6366
diff
changeset
|
179 | # simply delete the old config directory |
6530
25b9dcfd6fcc
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6474
diff
changeset
|
180 | shutil.rmtree(hpOld, True) |
6474
72c063cc730b
Globals.__init__: fixed an issue that caused startup issues on Windows if both _eric6 and .eric6 were existing.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6366
diff
changeset
|
181 | else: |
72c063cc730b
Globals.__init__: fixed an issue that caused startup issues on Windows if both _eric6 and .eric6 were existing.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6366
diff
changeset
|
182 | os.rename(hpOld, hpNew) |
6303
ec9ebaf206fb
Got rid of the Windows "DotNet"-Hack (i.e. using _ instead of . as first character of special directories).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6289
diff
changeset
|
183 | |
5823
70dfe6a4aa03
Fixed an issue getting the home directory during uninstallation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
184 | hp = os.path.join(os.path.expanduser("~"), cdn) |
70dfe6a4aa03
Fixed an issue getting the home directory during uninstallation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
185 | if not os.path.exists(hp): |
70dfe6a4aa03
Fixed an issue getting the home directory during uninstallation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
186 | os.mkdir(hp) |
70dfe6a4aa03
Fixed an issue getting the home directory during uninstallation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
187 | return hp |
2087
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
188 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
189 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
190 | def setConfigDir(d): |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
191 | """ |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
192 | Module function to set the name of the directory storing the config data. |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
193 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
194 | @param d name of an existing directory (string) |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
195 | """ |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
196 | global configDir |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
197 | configDir = os.path.expanduser(d) |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
198 | |
795992a5c561
Made the sixth set of Qt5 compatibility changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
199 | |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
200 | def getPythonModulesDirectory(): |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
201 | """ |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
202 | Function to determine the path to Python's modules directory. |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
203 | |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
204 | @return path to the Python modules directory (string) |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
205 | """ |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
206 | import distutils.sysconfig |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
207 | return distutils.sysconfig.get_python_lib(True) |
2614
9c49b4419ea7
Changed the logic for detecting and using the PyQt4 module directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
208 | |
9c49b4419ea7
Changed the logic for detecting and using the PyQt4 module directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
209 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
210 | def getPyQt5ModulesDirectory(): |
2614
9c49b4419ea7
Changed the logic for detecting and using the PyQt4 module directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
211 | """ |
3807
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
212 | Function to determine the path to PyQt5's (or PyQt4's) modules directory. |
2614
9c49b4419ea7
Changed the logic for detecting and using the PyQt4 module directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
213 | |
3807
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
214 | @return path to the PyQt5/PyQt4 modules directory (string) |
2614
9c49b4419ea7
Changed the logic for detecting and using the PyQt4 module directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
215 | """ |
9c49b4419ea7
Changed the logic for detecting and using the PyQt4 module directory.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2608
diff
changeset
|
216 | import distutils.sysconfig |
3807
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
217 | for pyqt in ["PyQt5", "PyQt4"]: |
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
218 | pyqtPath = os.path.join(distutils.sysconfig.get_python_lib(True), pyqt) |
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
219 | if os.path.exists(pyqtPath): |
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
220 | return pyqtPath |
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
221 | |
91fc2089c401
Added some more PyQt4 compatibility code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3778
diff
changeset
|
222 | return "" |
2608
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
223 | |
01118174a2f5
Changed code to be compatible with latest PyQt4 Windows installers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
224 | |
5696
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
225 | def getPyQtToolsPath(version=5): |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
226 | """ |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
227 | Module function to get the path of the PyQt tools. |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
228 | |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
229 | @param version PyQt major version |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
230 | @type int |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
231 | @return path to the PyQt tools |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
232 | @rtype str |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
233 | """ |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
234 | import Preferences |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
235 | |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
236 | path = "" |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
237 | |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
238 | # step 1: check, if the user has configured a tools path |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
239 | path = Preferences.getQt("PyQtToolsDir") |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
240 | |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
241 | # step 2: determine from used Python interpreter (pyrcc is test object) |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
242 | if not path: |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
243 | program = "pyrcc{0}".format(version) |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
244 | if isWindowsPlatform(): |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
245 | program += ".exe" |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
246 | dirName = os.path.dirname(sys.executable) |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
247 | if os.path.exists(os.path.join(dirName, program)): |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
248 | path = dirName |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
249 | elif os.path.exists(os.path.join(dirName, "Scripts", program)): |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
250 | path = os.path.join(dirName, "Scripts") |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
251 | else: |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
252 | dirName = os.path.dirname(sys.executable) |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
253 | if os.path.exists(os.path.join(dirName, program)): |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
254 | path = dirName |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
255 | |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
256 | return path |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
257 | |
68af0e9c57ad
Started implementing the capability to configure the path to the PyQt tools or determine it based on the current Python interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5401
diff
changeset
|
258 | |
2615
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
259 | def getQtBinariesPath(): |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
260 | """ |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
261 | Module function to get the path of the Qt binaries. |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
262 | |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
263 | @return path of the Qt binaries (string) |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
264 | """ |
5070
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
265 | import Preferences |
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
266 | |
2615
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
267 | path = "" |
5070
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
268 | |
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
269 | # step 1: check, if the user has configured a tools path |
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
270 | path = Preferences.getQt("QtToolsDir") |
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
271 | |
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
272 | if not path and isWindowsPlatform(): |
4e4651e88674
Added capability to set the path to the Qt tools manually (because they are not included in the PyQt5 wheels).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4828
diff
changeset
|
273 | # step 2.1: check for PyQt5 Windows installer (designer is test object) |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
274 | modDir = getPyQt5ModulesDirectory() |
2615
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
275 | if os.path.exists(os.path.join(modDir, "bin", "designer.exe")): |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
276 | path = os.path.join(modDir, "bin") |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
277 | elif os.path.exists(os.path.join(modDir, "designer.exe")): |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
278 | path = modDir |
5735
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
279 | |
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
280 | if not path: |
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
281 | import distutils.sysconfig |
6589
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
282 | # step 2.2.1: check for the pyqt5-tools wheel (new variant) |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
283 | # (Windows only) |
5735
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
284 | pyqt5ToolsPath = os.path.join( |
6589
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
285 | distutils.sysconfig.get_python_lib(True), "pyqt5_tools") |
5735
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
286 | if os.path.exists(os.path.join(pyqt5ToolsPath, "designer.exe")): |
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
287 | path = pyqt5ToolsPath |
6589
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
288 | if not path: |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
289 | # step 2.2.2: check for the pyqt5-tools wheel (old variant) |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
290 | # (Windows only) |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
291 | pyqt5ToolsPath = os.path.join( |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
292 | distutils.sysconfig.get_python_lib(True), "pyqt5-tools") |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
293 | if os.path.exists(os.path.join(pyqt5ToolsPath, |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
294 | "designer.exe")): |
613426e62983
Globals, UserInterface: improved the detection of the Qt tools.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6530
diff
changeset
|
295 | path = pyqt5ToolsPath |
2615
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
296 | |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
297 | if not path: |
5735
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
298 | # step 3: get the path from Qt |
f606dbe20be6
Added code to auto-discover the presence of the new 'pyqt5-tools' wheel (Windows only).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5696
diff
changeset
|
299 | # Note: no Qt tools are to be found there for PyQt 5.7.0 |
2615
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
300 | path = QLibraryInfo.location(QLibraryInfo.BinariesPath) |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
301 | if not os.path.exists(path): |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
302 | path = "" |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
303 | |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
304 | return QDir.toNativeSeparators(path) |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
305 | |
bdc9b4659826
Added a method to determine the Qt binaries path to the Globals package.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2614
diff
changeset
|
306 | |
4828 | 307 | def translate(*args): |
308 | """ | |
309 | Module function to handle different PyQt 4/5 QCoreApplication.translate | |
310 | parameter. | |
311 | ||
312 | @param args tuple of arguments from QCoreApplication.translate (tuple) | |
313 | @return translated string (string) | |
314 | """ | |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
315 | if QT_VERSION_STR.startswith('4.'): |
4828 | 316 | args = list(args) |
317 | args.insert(3, QCoreApplication.CodecForTr) | |
318 | return QCoreApplication.translate(*args) | |
319 | ||
320 | ||
2997
7f0ef975da9e
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
321 | ############################################################################### |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
322 | ## functions for version handling |
4686
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
323 | ############################################################################### |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
324 | |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
325 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
326 | def versionToTuple(version): |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
327 | """ |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
328 | Module function to convert a version string into a tuple. |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
329 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
330 | Note: A version string consists of non-negative decimals separated by "." |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
331 | optionally followed by a suffix. Suffix is everything after the last |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
332 | decimal. |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
333 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
334 | @param version version string |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
335 | @type str |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
336 | @return version tuple without the suffix |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
337 | @rtype tuple of int |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
338 | """ |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
339 | versionParts = [] |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
340 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
341 | # step 1: extract suffix |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
342 | version = re.split(r"[^\d.]", version)[0] |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
343 | for part in version.split("."): |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
344 | versionParts.append(int(part)) |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
345 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
346 | return tuple(versionParts) |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
347 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
348 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
349 | def qVersionTuple(): |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
350 | """ |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
351 | Module function to get the Qt version as a tuple. |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
352 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
353 | @return Qt version as a tuple |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
354 | @rtype tuple of int |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
355 | """ |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
356 | return ( |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
357 | (QT_VERSION & 0xff0000) >> 16, |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
358 | (QT_VERSION & 0xff00) >> 8, |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
359 | QT_VERSION & 0xff, |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
360 | ) |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
361 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
362 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
363 | ############################################################################### |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
364 | ## functions for extended string handling |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
365 | ############################################################################### |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
366 | |
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5735
diff
changeset
|
367 | |
4686
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
368 | def strGroup(txt, sep, groupLen=4): |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
369 | """ |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
370 | Module function to group a string into sub-strings separated by a |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
371 | separator. |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
372 | |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
373 | @param txt text to be grouped |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
374 | @type str |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
375 | @param sep separator string |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
376 | @type str |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
377 | @param groupLen length of each group |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
378 | @type int |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
379 | @return result string |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
380 | @rtype str |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
381 | """ |
4724
682f009d086d
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4695
diff
changeset
|
382 | groups = [] |
4686
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
383 | |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
384 | while len(txt) // groupLen != 0: |
4724
682f009d086d
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4695
diff
changeset
|
385 | groups.insert(0, txt[-groupLen:]) |
4686
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
386 | txt = txt[:-groupLen] |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
387 | if len(txt) > 0: |
4724
682f009d086d
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4695
diff
changeset
|
388 | groups.insert(0, txt) |
682f009d086d
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4695
diff
changeset
|
389 | return sep.join(groups) |
4686
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
390 | |
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
391 | |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
392 | def strToQByteArray(txt): |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
393 | """ |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
394 | Module function to convert a Python string into a QByteArray. |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
395 | |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
396 | @param txt Python string to be converted |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
397 | @type str, bytes, bytearray, unicode |
5859
28282fa0df7b
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
398 | @return converted QByteArray |
28282fa0df7b
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
399 | @rtype QByteArray |
5848
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
400 | """ |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
401 | if sys.version_info[0] == 2: |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
402 | if isinstance(txt, unicode): # __IGNORE_WARNING__ |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
403 | txt = txt.encode("utf-8") |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
404 | else: |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
405 | if isinstance(txt, str): |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
406 | txt = txt.encode("utf-8") |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
407 | |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
408 | return QByteArray(txt) |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
409 | |
56388f41b1e6
Fixed an issue sending input to the mercurial and subversion processes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5823
diff
changeset
|
410 | |
4686
5f8a5c568230
Improved the display of addresses and sizes in the hex editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
411 | ############################################################################### |
4241
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
412 | ## functions for converting QSetting return types to valid types |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
413 | ############################################################################### |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
414 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
415 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
416 | def toBool(value): |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
417 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
418 | Module function to convert a value to bool. |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
419 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
420 | @param value value to be converted |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
421 | @return converted data |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
422 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
423 | if value in ["true", "1", "True"]: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
424 | return True |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
425 | elif value in ["false", "0", "False"]: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
426 | return False |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
427 | else: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
428 | return bool(value) |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
429 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
430 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
431 | def toList(value): |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
432 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
433 | Module function to convert a value to a list. |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
434 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
435 | @param value value to be converted |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
436 | @return converted data |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
437 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
438 | if value is None: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
439 | return [] |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
440 | elif not isinstance(value, list): |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
441 | return [value] |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
442 | else: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
443 | return value |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
444 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
445 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
446 | def toByteArray(value): |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
447 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
448 | Module function to convert a value to a byte array. |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
449 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
450 | @param value value to be converted |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
451 | @return converted data |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
452 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
453 | if value is None: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
454 | return QByteArray() |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
455 | else: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
456 | return value |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
457 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
458 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
459 | def toDict(value): |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
460 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
461 | Module function to convert a value to a dictionary. |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
462 | |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
463 | @param value value to be converted |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
464 | @return converted data |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
465 | """ |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
466 | if value is None: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
467 | return {} |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
468 | else: |
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
469 | return value |
4566
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4343
diff
changeset
|
470 | |
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4343
diff
changeset
|
471 | # |
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4343
diff
changeset
|
472 | # eflag: noqa = M801 |