Thu, 30 Dec 2021 11:19:56 +0100
Updated copyright for 2022.
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
2 | |
62
6c5960df01bb
Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
59
diff
changeset
|
3 | # Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> |
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
4 | # |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
5 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
6 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
7 | Module implementing the QtHelp documentation provider plug-in. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
8 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
9 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
10 | import os |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
11 | import glob |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
12 | |
59 | 13 | from PyQt6.QtCore import QObject |
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
14 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
15 | # Start-Of-Header |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
16 | name = "Documentation Sets" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
17 | author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
18 | autoactivate = True |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
19 | deactivateable = True |
57
a8032c728988
Ported the plug-in to PyQt6 for eric7 and added documentation sets for PyQt 5.15 and PyQt 6.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
20 | version = "1.0.0" |
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
21 | className = "PluginDocumentationSets" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
22 | packageName = "DocumentationSets" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
23 | shortDescription = "Documentation sets in QtHelp format (*.qch)" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
24 | longDescription = ( |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
25 | """This plug-in provides an interface to additional documentation sets""" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
26 | """ in QtHelp format (*.qch) for registration with the eric help/web""" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
27 | """ browser or Qt Assistant.""" |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
28 | ) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
29 | needsRestart = False |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
30 | pyqtApi = 2 |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
31 | # End-Of-Header |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
32 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
33 | error = "" |
41
10870f99f004
Removed QtHelp packages for
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
39
diff
changeset
|
34 | |
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
35 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
36 | def helpFiles(): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
37 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
38 | Module function to return the documentation sets provided by this plug-in. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
39 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
40 | @return dictionary with documentation set type as key and list of |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
41 | documentation files as values |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
42 | @rtype dict (key: str, value: list of str) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
43 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
44 | documentationSets = {} |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
45 | documentationSetsDir = os.path.join(os.path.dirname(__file__), |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
46 | "DocumentationSets") |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
47 | if os.path.isdir(documentationSetsDir): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
48 | documentationTypes = [ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
49 | d for d in os.listdir(documentationSetsDir) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
50 | if os.path.isdir(os.path.join(documentationSetsDir, d)) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
51 | ] |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
52 | for documentationType in documentationTypes: |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
53 | documentationSets[documentationType] = glob.glob( |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
54 | os.path.join(documentationSetsDir, documentationType, "*.qch")) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
55 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
56 | return documentationSets |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
57 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
58 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
59 | class PluginDocumentationSets(QObject): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
60 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
61 | Class implementing the QtHelp documentation provider plug-in. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
62 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
63 | def __init__(self, ui): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
64 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
65 | Constructor |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
66 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
67 | @param ui reference to the user interface object (UI.UserInterface) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
68 | """ |
53
9a762a7d6f42
- implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
51
diff
changeset
|
69 | super().__init__(ui) |
1
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
70 | self.__ui = ui |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
71 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
72 | def activate(self): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
73 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
74 | Public method to activate this plugin. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
75 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
76 | @return tuple of None and activation status (boolean) |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
77 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
78 | global error |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
79 | error = "" # clear previous error |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
80 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
81 | return None, True |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
82 | |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
83 | def deactivate(self): |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
84 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
85 | Public method to deactivate this plugin. |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
86 | """ |
a1e4eb168c29
Finished the plug-in code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
87 | pass |