Helpviewer/HelpDocsInstaller.py

changeset 4622
8800cbcbb496
parent 4021
195a471c327b
child 4631
5c1a96925da4
equal deleted inserted replaced
4621:b46304716d28 4622:8800cbcbb496
8 documentation database. 8 documentation database.
9 """ 9 """
10 10
11 from __future__ import unicode_literals 11 from __future__ import unicode_literals
12 12
13 from PyQt5.QtCore import pyqtSignal, QThread, Qt, QMutex, QDateTime, QDir, \ 13 import os
14 QLibraryInfo, QFileInfo 14
15 from PyQt5.QtCore import pyqtSignal, qVersion, QThread, Qt, QMutex, \
16 QDateTime, QDir, QLibraryInfo, QFileInfo
15 from PyQt5.QtHelp import QHelpEngineCore 17 from PyQt5.QtHelp import QHelpEngineCore
16 18
17 from eric6config import getConfig 19 from eric6config import getConfig
18 20
19 21
67 engine.setupData() 69 engine.setupData()
68 changes = False 70 changes = False
69 71
70 qt4Docs = ["designer", "linguist", "qt"] 72 qt4Docs = ["designer", "linguist", "qt"]
71 qt5Docs = [ 73 qt5Docs = [
72 "activeqt", "qtandroidextras", "qtbluetooth", "qtconcurrent", 74 "activeqt", "qdoc", "qmake", "qt3d", "qt3drenderer",
73 "qtcore", "qtdbus", "qtdesigner", "qtdoc", "qtenginio", 75 "qtandroidextras", "qtassistant", "qtbluetooth", "qtcanvas3d",
74 "qtenginiooverview", "qtenginoqml", "qtgraphicaleffects", "qtgui", 76 "qtconcurrent", "qtcore", "qtdbus", "qtdesigner", "qtdoc",
75 "qthelp", "qtimageformats", "qtlinguist", "qtlocation", 77 "qtenginio", "qtenginiooverview", "qtenginoqml",
76 "qtmaxextras", "qtmultimedia", "qtmultimediawidgets", "qtnetwork", 78 "qtgraphicaleffects", "qtgui", "qthelp", "qtimageformats",
77 "qtnfc", "qtopengl", "qtpositioning", "qtprintsupport", "qtqml", 79 "qtlinguist", "qtlocation", "qtmaxextras", "qtmultimedia",
78 "qtquick", "qtquickcontrols", "qtquickdialogs", "qtquicklayouts", 80 "qtmultimediawidgets", "qtnetwork", "qtnfc", "qtopengl",
79 "qtscript", "qtscripttools", "qtsensors", "qtserialport", "qtsql", 81 "qtplatformheaders", "qtpositioning", "qtprintsupport", "qtqml",
80 "qtsvg", "qttestlib", "qtuitools", "qtwebchannel", "qtwebengine", 82 "qtquick", "qtquickcontrols", "qtquickdialogs", "qtquickextras",
81 "qtwebenginewidgets", "qtwebkit", "qtwebkitexamples", 83 "qtquicklayouts", "qtscript", "qtscripttools", "qtsensors",
82 "qtwebsockets", "qtwidgets", "qtwinextras", "qtx11extras", "qtxml", 84 "qtserialport", "qtsql", "qtsvg", "qttestlib", "qtuitools",
83 "qtxmlpatterns"] 85 "qtwebchannel", "qtwebengine", "qtwebenginewidgets", "qtwebkit",
86 "qtwebkitexamples", "qtwebsockets", "qtwidgets", "qtwinextras",
87 "qtx11extras", "qtxml", "qtxmlpatterns"]
84 for qtDocs, version in [(qt4Docs, 4), (qt5Docs, 5)]: 88 for qtDocs, version in [(qt4Docs, 4), (qt5Docs, 5)]:
85 for doc in qtDocs: 89 for doc in qtDocs:
86 changes |= self.__installQtDoc(doc, version, engine) 90 changes |= self.__installQtDoc(doc, version, engine)
87 self.__mutex.lock() 91 self.__mutex.lock()
88 if self.__abort: 92 if self.__abort:
120 if version == 4: 124 if version == 4:
121 docsPath = QDir( 125 docsPath = QDir(
122 QLibraryInfo.location(QLibraryInfo.DocumentationPath) + 126 QLibraryInfo.location(QLibraryInfo.DocumentationPath) +
123 QDir.separator() + "qch") 127 QDir.separator() + "qch")
124 elif version == 5: 128 elif version == 5:
125 docsPath = QDir( 129 docsPath = QLibraryInfo.location(QLibraryInfo.DocumentationPath)
126 QLibraryInfo.location(QLibraryInfo.DocumentationPath)) 130 if not os.path.isdir(docsPath):
131 # Qt installer is a bit buggy; it's missing a symbolic link
132 docsPathList = QDir.fromNativeSeparators(docsPath).split("/")
133 docsPath = os.sep.join(
134 docsPathList[:-3] +
135 ["Docs", "Qt-{0}".format(qVersion()[:3])])
136 docsPath = QDir(docsPath)
127 else: 137 else:
128 # unsupported Qt version 138 # unsupported Qt version
129 return False 139 return False
130 140
131 files = docsPath.entryList(["*.qch"]) 141 files = docsPath.entryList(["*.qch"])

eric ide

mercurial