15 QDesktopServices, QKeySequence, QComboBox, QFont, QFontMetrics, QLabel, \ |
15 QDesktopServices, QKeySequence, QComboBox, QFont, QFontMetrics, QLabel, \ |
16 QSplitter, QMenu, QToolButton, QLineEdit, QApplication, QWhatsThis, QDialog, \ |
16 QSplitter, QMenu, QToolButton, QLineEdit, QApplication, QWhatsThis, QDialog, \ |
17 QHBoxLayout, QProgressBar, QAction, QIcon |
17 QHBoxLayout, QProgressBar, QAction, QIcon |
18 from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest |
18 from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest |
19 from PyQt4.QtWebKit import QWebSettings, QWebDatabase, QWebSecurityOrigin, QWebPage |
19 from PyQt4.QtWebKit import QWebSettings, QWebDatabase, QWebSecurityOrigin, QWebPage |
20 from PyQt4.QtHelp import QHelpEngine, QHelpEngineCore, QHelpSearchQuery |
20 try: |
|
21 from PyQt4.QtHelp import QHelpEngine, QHelpEngineCore, QHelpSearchQuery |
|
22 QTHELP_AVAILABLE = True |
|
23 except ImportError: |
|
24 QTHELP_AVAILABLE = False |
21 |
25 |
22 from .Network.NetworkAccessManager import SSL_AVAILABLE |
26 from .Network.NetworkAccessManager import SSL_AVAILABLE |
23 |
27 |
24 from .data import icons_rc # __IGNORE_WARNING__ |
28 from .data import icons_rc # __IGNORE_WARNING__ |
25 from .data import html_rc # __IGNORE_WARNING__ |
29 from .data import html_rc # __IGNORE_WARNING__ |
150 QSizePolicy.Preferred, QSizePolicy.Expanding) |
160 QSizePolicy.Preferred, QSizePolicy.Expanding) |
151 centralWidget.setLayout(layout) |
161 centralWidget.setLayout(layout) |
152 self.setCentralWidget(centralWidget) |
162 self.setCentralWidget(centralWidget) |
153 self.findDlg.hide() |
163 self.findDlg.hide() |
154 |
164 |
155 # setup the TOC widget |
165 if self.useQtHelp: |
156 self.__tocWindow = HelpTocWidget(self.__helpEngine, self) |
166 # setup the TOC widget |
157 self.__tocDock = QDockWidget(self.trUtf8("Contents"), self) |
167 self.__tocWindow = HelpTocWidget(self.__helpEngine, self) |
158 self.__tocDock.setObjectName("TocWindow") |
168 self.__tocDock = QDockWidget(self.trUtf8("Contents"), self) |
159 self.__tocDock.setWidget(self.__tocWindow) |
169 self.__tocDock.setObjectName("TocWindow") |
160 self.addDockWidget(Qt.LeftDockWidgetArea, self.__tocDock) |
170 self.__tocDock.setWidget(self.__tocWindow) |
161 |
171 self.addDockWidget(Qt.LeftDockWidgetArea, self.__tocDock) |
162 # setup the index widget |
172 |
163 self.__indexWindow = HelpIndexWidget(self.__helpEngine, self) |
173 # setup the index widget |
164 self.__indexDock = QDockWidget(self.trUtf8("Index"), self) |
174 self.__indexWindow = HelpIndexWidget(self.__helpEngine, self) |
165 self.__indexDock.setObjectName("IndexWindow") |
175 self.__indexDock = QDockWidget(self.trUtf8("Index"), self) |
166 self.__indexDock.setWidget(self.__indexWindow) |
176 self.__indexDock.setObjectName("IndexWindow") |
167 self.addDockWidget(Qt.LeftDockWidgetArea, self.__indexDock) |
177 self.__indexDock.setWidget(self.__indexWindow) |
168 |
178 self.addDockWidget(Qt.LeftDockWidgetArea, self.__indexDock) |
169 # setup the search widget |
179 |
170 self.__searchWord = searchWord |
180 # setup the search widget |
171 self.__indexing = False |
181 self.__searchWord = searchWord |
172 self.__indexingProgress = None |
182 self.__indexing = False |
173 self.__searchEngine = self.__helpEngine.searchEngine() |
183 self.__indexingProgress = None |
174 self.__searchEngine.indexingStarted.connect(self.__indexingStarted) |
184 self.__searchEngine = self.__helpEngine.searchEngine() |
175 self.__searchEngine.indexingFinished.connect(self.__indexingFinished) |
185 self.__searchEngine.indexingStarted.connect(self.__indexingStarted) |
176 self.__searchWindow = HelpSearchWidget(self.__searchEngine, self) |
186 self.__searchEngine.indexingFinished.connect(self.__indexingFinished) |
177 self.__searchDock = QDockWidget(self.trUtf8("Search"), self) |
187 self.__searchWindow = HelpSearchWidget(self.__searchEngine, self) |
178 self.__searchDock.setObjectName("SearchWindow") |
188 self.__searchDock = QDockWidget(self.trUtf8("Search"), self) |
179 self.__searchDock.setWidget(self.__searchWindow) |
189 self.__searchDock.setObjectName("SearchWindow") |
180 self.addDockWidget(Qt.LeftDockWidgetArea, self.__searchDock) |
190 self.__searchDock.setWidget(self.__searchWindow) |
|
191 self.addDockWidget(Qt.LeftDockWidgetArea, self.__searchDock) |
181 |
192 |
182 if Preferences.getHelp("SaveGeometry"): |
193 if Preferences.getHelp("SaveGeometry"): |
183 g = Preferences.getGeometry("HelpViewerGeometry") |
194 g = Preferences.getGeometry("HelpViewerGeometry") |
184 else: |
195 else: |
185 g = QByteArray() |
196 g = QByteArray() |
1010 if not self.initShortcutsOnly: |
1023 if not self.initShortcutsOnly: |
1011 self.greaseMonkeyAct.triggered[()].connect( |
1024 self.greaseMonkeyAct.triggered[()].connect( |
1012 self.__showGreaseMonkeyConfigDialog) |
1025 self.__showGreaseMonkeyConfigDialog) |
1013 self.__actions.append(self.greaseMonkeyAct) |
1026 self.__actions.append(self.greaseMonkeyAct) |
1014 |
1027 |
1015 self.syncTocAct = E5Action(self.trUtf8('Sync with Table of Contents'), |
1028 if self.useQtHelp or self.initShortcutsOnly: |
1016 UI.PixmapCache.getIcon("syncToc.png"), |
1029 self.syncTocAct = E5Action(self.trUtf8('Sync with Table of Contents'), |
1017 self.trUtf8('Sync with Table of Contents'), |
1030 UI.PixmapCache.getIcon("syncToc.png"), |
1018 0, 0, self, 'help_sync_toc') |
1031 self.trUtf8('Sync with Table of Contents'), |
1019 self.syncTocAct.setStatusTip(self.trUtf8( |
1032 0, 0, self, 'help_sync_toc') |
1020 'Synchronizes the table of contents with current page')) |
1033 self.syncTocAct.setStatusTip(self.trUtf8( |
1021 self.syncTocAct.setWhatsThis(self.trUtf8( |
1034 'Synchronizes the table of contents with current page')) |
1022 """<b>Sync with Table of Contents</b>""" |
1035 self.syncTocAct.setWhatsThis(self.trUtf8( |
1023 """<p>Synchronizes the table of contents with current page.</p>""" |
1036 """<b>Sync with Table of Contents</b>""" |
1024 )) |
1037 """<p>Synchronizes the table of contents with current page.</p>""" |
1025 if not self.initShortcutsOnly: |
1038 )) |
1026 self.syncTocAct.triggered[()].connect(self.__syncTOC) |
1039 if not self.initShortcutsOnly: |
1027 self.__actions.append(self.syncTocAct) |
1040 self.syncTocAct.triggered[()].connect(self.__syncTOC) |
1028 |
1041 self.__actions.append(self.syncTocAct) |
1029 self.showTocAct = E5Action(self.trUtf8('Table of Contents'), |
1042 |
1030 self.trUtf8('Table of Contents'), |
1043 self.showTocAct = E5Action(self.trUtf8('Table of Contents'), |
1031 0, 0, self, 'help_show_toc') |
1044 self.trUtf8('Table of Contents'), |
1032 self.showTocAct.setStatusTip(self.trUtf8( |
1045 0, 0, self, 'help_show_toc') |
1033 'Shows the table of contents window')) |
1046 self.showTocAct.setStatusTip(self.trUtf8( |
1034 self.showTocAct.setWhatsThis(self.trUtf8( |
1047 'Shows the table of contents window')) |
1035 """<b>Table of Contents</b>""" |
1048 self.showTocAct.setWhatsThis(self.trUtf8( |
1036 """<p>Shows the table of contents window.</p>""" |
1049 """<b>Table of Contents</b>""" |
1037 )) |
1050 """<p>Shows the table of contents window.</p>""" |
1038 if not self.initShortcutsOnly: |
1051 )) |
1039 self.showTocAct.triggered[()].connect(self.__showTocWindow) |
1052 if not self.initShortcutsOnly: |
1040 self.__actions.append(self.showTocAct) |
1053 self.showTocAct.triggered[()].connect(self.__showTocWindow) |
1041 |
1054 self.__actions.append(self.showTocAct) |
1042 self.showIndexAct = E5Action(self.trUtf8('Index'), |
1055 |
1043 self.trUtf8('Index'), |
1056 self.showIndexAct = E5Action(self.trUtf8('Index'), |
1044 0, 0, self, 'help_show_index') |
1057 self.trUtf8('Index'), |
1045 self.showIndexAct.setStatusTip(self.trUtf8( |
1058 0, 0, self, 'help_show_index') |
1046 'Shows the index window')) |
1059 self.showIndexAct.setStatusTip(self.trUtf8( |
1047 self.showIndexAct.setWhatsThis(self.trUtf8( |
1060 'Shows the index window')) |
1048 """<b>Index</b>""" |
1061 self.showIndexAct.setWhatsThis(self.trUtf8( |
1049 """<p>Shows the index window.</p>""" |
1062 """<b>Index</b>""" |
1050 )) |
1063 """<p>Shows the index window.</p>""" |
1051 if not self.initShortcutsOnly: |
1064 )) |
1052 self.showIndexAct.triggered[()].connect(self.__showIndexWindow) |
1065 if not self.initShortcutsOnly: |
1053 self.__actions.append(self.showIndexAct) |
1066 self.showIndexAct.triggered[()].connect(self.__showIndexWindow) |
1054 |
1067 self.__actions.append(self.showIndexAct) |
1055 self.showSearchAct = E5Action(self.trUtf8('Search'), |
1068 |
1056 self.trUtf8('Search'), |
1069 self.showSearchAct = E5Action(self.trUtf8('Search'), |
1057 0, 0, self, 'help_show_search') |
1070 self.trUtf8('Search'), |
1058 self.showSearchAct.setStatusTip(self.trUtf8( |
1071 0, 0, self, 'help_show_search') |
1059 'Shows the search window')) |
1072 self.showSearchAct.setStatusTip(self.trUtf8( |
1060 self.showSearchAct.setWhatsThis(self.trUtf8( |
1073 'Shows the search window')) |
1061 """<b>Search</b>""" |
1074 self.showSearchAct.setWhatsThis(self.trUtf8( |
1062 """<p>Shows the search window.</p>""" |
1075 """<b>Search</b>""" |
1063 )) |
1076 """<p>Shows the search window.</p>""" |
1064 if not self.initShortcutsOnly: |
1077 )) |
1065 self.showSearchAct.triggered[()].connect(self.__showSearchWindow) |
1078 if not self.initShortcutsOnly: |
1066 self.__actions.append(self.showSearchAct) |
1079 self.showSearchAct.triggered[()].connect(self.__showSearchWindow) |
1067 |
1080 self.__actions.append(self.showSearchAct) |
1068 self.manageQtHelpDocsAct = E5Action(self.trUtf8('Manage QtHelp Documents'), |
1081 |
1069 self.trUtf8('Manage QtHelp &Documents'), |
1082 self.manageQtHelpDocsAct = E5Action(self.trUtf8('Manage QtHelp Documents'), |
1070 0, 0, self, 'help_qthelp_documents') |
1083 self.trUtf8('Manage QtHelp &Documents'), |
1071 self.manageQtHelpDocsAct.setStatusTip(self.trUtf8( |
1084 0, 0, self, 'help_qthelp_documents') |
1072 'Shows a dialog to manage the QtHelp documentation set')) |
1085 self.manageQtHelpDocsAct.setStatusTip(self.trUtf8( |
1073 self.manageQtHelpDocsAct.setWhatsThis(self.trUtf8( |
1086 'Shows a dialog to manage the QtHelp documentation set')) |
1074 """<b>Manage QtHelp Documents</b>""" |
1087 self.manageQtHelpDocsAct.setWhatsThis(self.trUtf8( |
1075 """<p>Shows a dialog to manage the QtHelp documentation set.</p>""" |
1088 """<b>Manage QtHelp Documents</b>""" |
1076 )) |
1089 """<p>Shows a dialog to manage the QtHelp documentation set.</p>""" |
1077 if not self.initShortcutsOnly: |
1090 )) |
1078 self.manageQtHelpDocsAct.triggered[()].connect( |
1091 if not self.initShortcutsOnly: |
1079 self.__manageQtHelpDocumentation) |
1092 self.manageQtHelpDocsAct.triggered[()].connect( |
1080 self.__actions.append(self.manageQtHelpDocsAct) |
1093 self.__manageQtHelpDocumentation) |
1081 |
1094 self.__actions.append(self.manageQtHelpDocsAct) |
1082 self.manageQtHelpFiltersAct = E5Action(self.trUtf8('Manage QtHelp Filters'), |
1095 |
1083 self.trUtf8('Manage QtHelp &Filters'), |
1096 self.manageQtHelpFiltersAct = E5Action(self.trUtf8('Manage QtHelp Filters'), |
1084 0, 0, self, 'help_qthelp_filters') |
1097 self.trUtf8('Manage QtHelp &Filters'), |
1085 self.manageQtHelpFiltersAct.setStatusTip(self.trUtf8( |
1098 0, 0, self, 'help_qthelp_filters') |
1086 'Shows a dialog to manage the QtHelp filters')) |
1099 self.manageQtHelpFiltersAct.setStatusTip(self.trUtf8( |
1087 self.manageQtHelpFiltersAct.setWhatsThis(self.trUtf8( |
1100 'Shows a dialog to manage the QtHelp filters')) |
1088 """<b>Manage QtHelp Filters</b>""" |
1101 self.manageQtHelpFiltersAct.setWhatsThis(self.trUtf8( |
1089 """<p>Shows a dialog to manage the QtHelp filters.</p>""" |
1102 """<b>Manage QtHelp Filters</b>""" |
1090 )) |
1103 """<p>Shows a dialog to manage the QtHelp filters.</p>""" |
1091 if not self.initShortcutsOnly: |
1104 )) |
1092 self.manageQtHelpFiltersAct.triggered[()].connect(self.__manageQtHelpFilters) |
1105 if not self.initShortcutsOnly: |
1093 self.__actions.append(self.manageQtHelpFiltersAct) |
1106 self.manageQtHelpFiltersAct.triggered[()].connect( |
1094 |
1107 self.__manageQtHelpFilters) |
1095 self.reindexDocumentationAct = E5Action(self.trUtf8('Reindex Documentation'), |
1108 self.__actions.append(self.manageQtHelpFiltersAct) |
1096 self.trUtf8('&Reindex Documentation'), |
1109 |
1097 0, 0, self, 'help_qthelp_reindex') |
1110 self.reindexDocumentationAct = E5Action(self.trUtf8('Reindex Documentation'), |
1098 self.reindexDocumentationAct.setStatusTip(self.trUtf8( |
1111 self.trUtf8('&Reindex Documentation'), |
1099 'Reindexes the documentation set')) |
1112 0, 0, self, 'help_qthelp_reindex') |
1100 self.reindexDocumentationAct.setWhatsThis(self.trUtf8( |
1113 self.reindexDocumentationAct.setStatusTip(self.trUtf8( |
1101 """<b>Reindex Documentation</b>""" |
1114 'Reindexes the documentation set')) |
1102 """<p>Reindexes the documentation set.</p>""" |
1115 self.reindexDocumentationAct.setWhatsThis(self.trUtf8( |
1103 )) |
1116 """<b>Reindex Documentation</b>""" |
1104 if not self.initShortcutsOnly: |
1117 """<p>Reindexes the documentation set.</p>""" |
1105 self.reindexDocumentationAct.triggered[()].connect( |
1118 )) |
1106 self.__searchEngine.reindexDocumentation) |
1119 if not self.initShortcutsOnly: |
1107 self.__actions.append(self.reindexDocumentationAct) |
1120 self.reindexDocumentationAct.triggered[()].connect( |
|
1121 self.__searchEngine.reindexDocumentation) |
|
1122 self.__actions.append(self.reindexDocumentationAct) |
1108 |
1123 |
1109 self.clearPrivateDataAct = E5Action(self.trUtf8('Clear private data'), |
1124 self.clearPrivateDataAct = E5Action(self.trUtf8('Clear private data'), |
1110 self.trUtf8('&Clear private data'), |
1125 self.trUtf8('&Clear private data'), |
1111 0, 0, |
1126 0, 0, |
1112 self, 'help_clear_private_data') |
1127 self, 'help_clear_private_data') |
2366 |
2401 |
2367 def __syncTOC(self): |
2402 def __syncTOC(self): |
2368 """ |
2403 """ |
2369 Private slot to synchronize the TOC with the currently shown page. |
2404 Private slot to synchronize the TOC with the currently shown page. |
2370 """ |
2405 """ |
2371 QApplication.setOverrideCursor(Qt.WaitCursor) |
2406 if self.useQtHelp: |
2372 url = self.currentBrowser().source() |
2407 QApplication.setOverrideCursor(Qt.WaitCursor) |
2373 self.__showTocWindow() |
2408 url = self.currentBrowser().source() |
2374 if not self.__tocWindow.syncToContent(url): |
2409 self.__showTocWindow() |
2375 self.statusBar().showMessage( |
2410 if not self.__tocWindow.syncToContent(url): |
2376 self.trUtf8("Could not find an associated content."), 5000) |
2411 self.statusBar().showMessage( |
2377 QApplication.restoreOverrideCursor() |
2412 self.trUtf8("Could not find an associated content."), 5000) |
|
2413 QApplication.restoreOverrideCursor() |
2378 |
2414 |
2379 def __showTocWindow(self): |
2415 def __showTocWindow(self): |
2380 """ |
2416 """ |
2381 Private method to show the table of contents window. |
2417 Private method to show the table of contents window. |
2382 """ |
2418 """ |
2383 self.__activateDock(self.__tocWindow) |
2419 if self.useQtHelp: |
|
2420 self.__activateDock(self.__tocWindow) |
2384 |
2421 |
2385 def __hideTocWindow(self): |
2422 def __hideTocWindow(self): |
2386 """ |
2423 """ |
2387 Private method to hide the table of contents window. |
2424 Private method to hide the table of contents window. |
2388 """ |
2425 """ |
2389 self.__tocDock.hide() |
2426 if self.useQtHelp: |
|
2427 self.__tocDock.hide() |
2390 |
2428 |
2391 def __showIndexWindow(self): |
2429 def __showIndexWindow(self): |
2392 """ |
2430 """ |
2393 Private method to show the index window. |
2431 Private method to show the index window. |
2394 """ |
2432 """ |
2395 self.__activateDock(self.__indexWindow) |
2433 if self.useQtHelp: |
|
2434 self.__activateDock(self.__indexWindow) |
2396 |
2435 |
2397 def __hideIndexWindow(self): |
2436 def __hideIndexWindow(self): |
2398 """ |
2437 """ |
2399 Private method to hide the index window. |
2438 Private method to hide the index window. |
2400 """ |
2439 """ |
2401 self.__indexDock.hide() |
2440 if self.useQtHelp: |
|
2441 self.__indexDock.hide() |
2402 |
2442 |
2403 def __showSearchWindow(self): |
2443 def __showSearchWindow(self): |
2404 """ |
2444 """ |
2405 Private method to show the search window. |
2445 Private method to show the search window. |
2406 """ |
2446 """ |
2407 self.__activateDock(self.__searchWindow) |
2447 if self.useQtHelp: |
|
2448 self.__activateDock(self.__searchWindow) |
2408 |
2449 |
2409 def __hideSearchWindow(self): |
2450 def __hideSearchWindow(self): |
2410 """ |
2451 """ |
2411 Private method to hide the search window. |
2452 Private method to hide the search window. |
2412 """ |
2453 """ |
2413 self.__searchDock.hide() |
2454 if self.useQtHelp: |
|
2455 self.__searchDock.hide() |
2414 |
2456 |
2415 def __activateDock(self, widget): |
2457 def __activateDock(self, widget): |
2416 """ |
2458 """ |
2417 Private method to activate the dock widget of the given widget. |
2459 Private method to activate the dock widget of the given widget. |
2418 |
2460 |
2424 |
2466 |
2425 def __setupFilterCombo(self): |
2467 def __setupFilterCombo(self): |
2426 """ |
2468 """ |
2427 Private slot to setup the filter combo box. |
2469 Private slot to setup the filter combo box. |
2428 """ |
2470 """ |
2429 curFilter = self.filterCombo.currentText() |
2471 if self.useQtHelp: |
2430 if not curFilter: |
2472 curFilter = self.filterCombo.currentText() |
2431 curFilter = self.__helpEngine.currentFilter() |
2473 if not curFilter: |
2432 self.filterCombo.clear() |
2474 curFilter = self.__helpEngine.currentFilter() |
2433 self.filterCombo.addItems(self.__helpEngine.customFilters()) |
2475 self.filterCombo.clear() |
2434 idx = self.filterCombo.findText(curFilter) |
2476 self.filterCombo.addItems(self.__helpEngine.customFilters()) |
2435 if idx < 0: |
2477 idx = self.filterCombo.findText(curFilter) |
2436 idx = 0 |
2478 if idx < 0: |
2437 self.filterCombo.setCurrentIndex(idx) |
2479 idx = 0 |
|
2480 self.filterCombo.setCurrentIndex(idx) |
2438 |
2481 |
2439 def __filterQtHelpDocumentation(self, customFilter): |
2482 def __filterQtHelpDocumentation(self, customFilter): |
2440 """ |
2483 """ |
2441 Private slot to filter the QtHelp documentation. |
2484 Private slot to filter the QtHelp documentation. |
2442 |
2485 |
2443 @param customFilter name of filter to be applied (string) |
2486 @param customFilter name of filter to be applied (string) |
2444 """ |
2487 """ |
2445 self.__helpEngine.setCurrentFilter(customFilter) |
2488 if self.__helpEngine: |
|
2489 self.__helpEngine.setCurrentFilter(customFilter) |
2446 |
2490 |
2447 def __manageQtHelpDocumentation(self): |
2491 def __manageQtHelpDocumentation(self): |
2448 """ |
2492 """ |
2449 Private slot to manage the QtHelp documentation database. |
2493 Private slot to manage the QtHelp documentation database. |
2450 """ |
2494 """ |
2451 from .QtHelpDocumentationDialog import QtHelpDocumentationDialog |
2495 if self.useQtHelp: |
2452 dlg = QtHelpDocumentationDialog(self.__helpEngine, self) |
2496 from .QtHelpDocumentationDialog import QtHelpDocumentationDialog |
2453 dlg.exec_() |
2497 dlg = QtHelpDocumentationDialog(self.__helpEngine, self) |
2454 if dlg.hasChanges(): |
2498 dlg.exec_() |
2455 for i in sorted(dlg.getTabsToClose(), reverse=True): |
2499 if dlg.hasChanges(): |
2456 self.tabWidget.closeBrowserAt(i) |
2500 for i in sorted(dlg.getTabsToClose(), reverse=True): |
2457 self.__helpEngine.setupData() |
2501 self.tabWidget.closeBrowserAt(i) |
|
2502 self.__helpEngine.setupData() |
2458 |
2503 |
2459 def getSourceFileList(self): |
2504 def getSourceFileList(self): |
2460 """ |
2505 """ |
2461 Public method to get a list of all opened source files. |
2506 Public method to get a list of all opened source files. |
2462 |
2507 |
2466 |
2511 |
2467 def __manageQtHelpFilters(self): |
2512 def __manageQtHelpFilters(self): |
2468 """ |
2513 """ |
2469 Private slot to manage the QtHelp filters. |
2514 Private slot to manage the QtHelp filters. |
2470 """ |
2515 """ |
2471 from .QtHelpFiltersDialog import QtHelpFiltersDialog |
2516 if self.useQtHelp: |
2472 dlg = QtHelpFiltersDialog(self.__helpEngine, self) |
2517 from .QtHelpFiltersDialog import QtHelpFiltersDialog |
2473 dlg.exec_() |
2518 dlg = QtHelpFiltersDialog(self.__helpEngine, self) |
|
2519 dlg.exec_() |
2474 |
2520 |
2475 def __indexingStarted(self): |
2521 def __indexingStarted(self): |
2476 """ |
2522 """ |
2477 Private slot to handle the start of the indexing process. |
2523 Private slot to handle the start of the indexing process. |
2478 """ |
2524 """ |
2479 self.__indexing = True |
2525 if self.useQtHelp: |
2480 if self.__indexingProgress is None: |
2526 self.__indexing = True |
2481 self.__indexingProgress = QWidget() |
2527 if self.__indexingProgress is None: |
2482 layout = QHBoxLayout(self.__indexingProgress) |
2528 self.__indexingProgress = QWidget() |
2483 layout.setMargin(0) |
2529 layout = QHBoxLayout(self.__indexingProgress) |
2484 sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) |
2530 layout.setMargin(0) |
2485 |
2531 sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) |
2486 label = QLabel(self.trUtf8("Updating search index")) |
2532 |
2487 label.setSizePolicy(sizePolicy) |
2533 label = QLabel(self.trUtf8("Updating search index")) |
2488 layout.addWidget(label) |
2534 label.setSizePolicy(sizePolicy) |
2489 |
2535 layout.addWidget(label) |
2490 progressBar = QProgressBar() |
2536 |
2491 progressBar.setRange(0, 0) |
2537 progressBar = QProgressBar() |
2492 progressBar.setTextVisible(False) |
2538 progressBar.setRange(0, 0) |
2493 progressBar.setFixedHeight(16) |
2539 progressBar.setTextVisible(False) |
2494 progressBar.setSizePolicy(sizePolicy) |
2540 progressBar.setFixedHeight(16) |
2495 layout.addWidget(progressBar) |
2541 progressBar.setSizePolicy(sizePolicy) |
2496 |
2542 layout.addWidget(progressBar) |
2497 self.statusBar().insertPermanentWidget(0, self.__indexingProgress) |
2543 |
|
2544 self.statusBar().insertPermanentWidget(0, self.__indexingProgress) |
2498 |
2545 |
2499 def __indexingFinished(self): |
2546 def __indexingFinished(self): |
2500 """ |
2547 """ |
2501 Private slot to handle the start of the indexing process. |
2548 Private slot to handle the start of the indexing process. |
2502 """ |
2549 """ |
2503 self.statusBar().removeWidget(self.__indexingProgress) |
2550 if self.useQtHelp: |
2504 self.__indexingProgress = None |
2551 self.statusBar().removeWidget(self.__indexingProgress) |
2505 self.__indexing = False |
2552 self.__indexingProgress = None |
2506 if self.__searchWord is not None: |
2553 self.__indexing = False |
2507 self.__searchForWord() |
2554 if self.__searchWord is not None: |
|
2555 self.__searchForWord() |
2508 |
2556 |
2509 def __searchForWord(self): |
2557 def __searchForWord(self): |
2510 """ |
2558 """ |
2511 Private slot to search for a word. |
2559 Private slot to search for a word. |
2512 """ |
2560 """ |
2513 if not self.__indexing and self.__searchWord is not None: |
2561 if self.useQtHelp and not self.__indexing and self.__searchWord is not None: |
2514 self.__searchDock.show() |
2562 self.__searchDock.show() |
2515 self.__searchDock.raise_() |
2563 self.__searchDock.raise_() |
2516 query = QHelpSearchQuery(QHelpSearchQuery.DEFAULT, [self.__searchWord]) |
2564 query = QHelpSearchQuery(QHelpSearchQuery.DEFAULT, [self.__searchWord]) |
2517 self.__searchEngine.search([query]) |
2565 self.__searchEngine.search([query]) |
2518 self.__searchWord = None |
2566 self.__searchWord = None |