134 |
134 |
135 if self.useQtHelp: |
135 if self.useQtHelp: |
136 self.__helpEngine = \ |
136 self.__helpEngine = \ |
137 QHelpEngine(os.path.join(Utilities.getConfigDir(), |
137 QHelpEngine(os.path.join(Utilities.getConfigDir(), |
138 "browser", "eric5help.qhc"), self) |
138 "browser", "eric5help.qhc"), self) |
|
139 self.__removeOldDocumentation() |
139 self.__helpEngine.warning.connect(self.__warning) |
140 self.__helpEngine.warning.connect(self.__warning) |
140 else: |
141 else: |
141 self.__helpEngine = None |
142 self.__helpEngine = None |
142 self.__helpInstaller = None |
143 self.__helpInstaller = None |
143 |
144 |
457 if not self.initShortcutsOnly: |
458 if not self.initShortcutsOnly: |
458 self.saveAsAct.triggered[()].connect(self.__savePageAs) |
459 self.saveAsAct.triggered[()].connect(self.__savePageAs) |
459 self.__actions.append(self.saveAsAct) |
460 self.__actions.append(self.saveAsAct) |
460 |
461 |
461 self.savePageScreenAct = E5Action(self.trUtf8('Save Page Screen'), |
462 self.savePageScreenAct = E5Action(self.trUtf8('Save Page Screen'), |
462 UI.PixmapCache.getIcon("filePixmap.png"), |
463 UI.PixmapCache.getIcon("fileSavePixmap.png"), |
463 self.trUtf8('Save Page Screen...'), |
464 self.trUtf8('Save Page Screen...'), |
464 0, 0, self, 'help_file_save_page_screen') |
465 0, 0, self, 'help_file_save_page_screen') |
465 self.savePageScreenAct.setStatusTip( |
466 self.savePageScreenAct.setStatusTip( |
466 self.trUtf8('Save the current page as a screen shot')) |
467 self.trUtf8('Save the current page as a screen shot')) |
467 self.savePageScreenAct.setWhatsThis(self.trUtf8( |
468 self.savePageScreenAct.setWhatsThis(self.trUtf8( |
469 """<p>Saves the current page as a screen shot.</p>""" |
470 """<p>Saves the current page as a screen shot.</p>""" |
470 )) |
471 )) |
471 if not self.initShortcutsOnly: |
472 if not self.initShortcutsOnly: |
472 self.savePageScreenAct.triggered[()].connect(self.__savePageScreen) |
473 self.savePageScreenAct.triggered[()].connect(self.__savePageScreen) |
473 self.__actions.append(self.savePageScreenAct) |
474 self.__actions.append(self.savePageScreenAct) |
|
475 |
|
476 self.saveVisiblePageScreenAct = E5Action(self.trUtf8('Save Visible Page Screen'), |
|
477 UI.PixmapCache.getIcon("fileSaveVisiblePixmap.png"), |
|
478 self.trUtf8('Save Visible Page Screen...'), |
|
479 0, 0, self, 'help_file_save_visible_page_screen') |
|
480 self.saveVisiblePageScreenAct.setStatusTip( |
|
481 self.trUtf8('Save the visible part of the current page as a screen shot')) |
|
482 self.saveVisiblePageScreenAct.setWhatsThis(self.trUtf8( |
|
483 """<b>Save Visible Page Screen...</b>""" |
|
484 """<p>Saves the visible part of the current page as a screen shot.</p>""" |
|
485 )) |
|
486 if not self.initShortcutsOnly: |
|
487 self.saveVisiblePageScreenAct.triggered[()].connect( |
|
488 self.__saveVisiblePageScreen) |
|
489 self.__actions.append(self.saveVisiblePageScreenAct) |
474 |
490 |
475 bookmarksManager = self.bookmarksManager() |
491 bookmarksManager = self.bookmarksManager() |
476 self.importBookmarksAct = E5Action(self.trUtf8('Import Bookmarks'), |
492 self.importBookmarksAct = E5Action(self.trUtf8('Import Bookmarks'), |
477 self.trUtf8('&Import Bookmarks...'), |
493 self.trUtf8('&Import Bookmarks...'), |
478 0, 0, self, 'help_file_import_bookmarks') |
494 0, 0, self, 'help_file_import_bookmarks') |
1360 menu.addAction(self.openAct) |
1376 menu.addAction(self.openAct) |
1361 menu.addAction(self.openTabAct) |
1377 menu.addAction(self.openTabAct) |
1362 menu.addSeparator() |
1378 menu.addSeparator() |
1363 menu.addAction(self.saveAsAct) |
1379 menu.addAction(self.saveAsAct) |
1364 menu.addAction(self.savePageScreenAct) |
1380 menu.addAction(self.savePageScreenAct) |
|
1381 menu.addAction(self.saveVisiblePageScreenAct) |
1365 menu.addSeparator() |
1382 menu.addSeparator() |
1366 menu.addAction(self.printPreviewAct) |
1383 menu.addAction(self.printPreviewAct) |
1367 menu.addAction(self.printAct) |
1384 menu.addAction(self.printAct) |
1368 menu.addAction(self.printPdfAct) |
1385 menu.addAction(self.printPdfAct) |
1369 menu.addSeparator() |
1386 menu.addSeparator() |
1520 filetb.addAction(self.printAct) |
1537 filetb.addAction(self.printAct) |
1521 filetb.addAction(self.printPdfAct) |
1538 filetb.addAction(self.printPdfAct) |
1522 filetb.addSeparator() |
1539 filetb.addSeparator() |
1523 filetb.addAction(self.closeAct) |
1540 filetb.addAction(self.closeAct) |
1524 filetb.addAction(self.exitAct) |
1541 filetb.addAction(self.exitAct) |
|
1542 |
|
1543 self.savePageScreenMenu = QMenu(self) |
|
1544 self.savePageScreenMenu.addAction(self.savePageScreenAct) |
|
1545 self.savePageScreenMenu.addAction(self.saveVisiblePageScreenAct) |
|
1546 savePageScreenButton = filetb.widgetForAction(self.savePageScreenAct) |
|
1547 savePageScreenButton.setMenu(self.savePageScreenMenu) |
|
1548 savePageScreenButton.setPopupMode(QToolButton.MenuButtonPopup) |
1525 |
1549 |
1526 edittb = self.addToolBar(self.trUtf8("Edit")) |
1550 edittb = self.addToolBar(self.trUtf8("Edit")) |
1527 edittb.setObjectName("EditToolBar") |
1551 edittb.setObjectName("EditToolBar") |
1528 edittb.setIconSize(UI.Config.ToolBarIconSize) |
1552 edittb.setIconSize(UI.Config.ToolBarIconSize) |
1529 edittb.addAction(self.copyAct) |
1553 edittb.addAction(self.copyAct) |
1839 """ |
1863 """ |
1840 browser = self.currentBrowser() |
1864 browser = self.currentBrowser() |
1841 if browser is not None: |
1865 if browser is not None: |
1842 browser.saveAs() |
1866 browser.saveAs() |
1843 |
1867 |
1844 def __savePageScreen(self): |
1868 def __savePageScreen(self, visibleOnly=False): |
1845 """ |
1869 """ |
1846 Private slot to save the current page as a screen shot. |
1870 Private slot to save the current page as a screen shot. |
|
1871 |
|
1872 @param visibleOnly flag indicating to just save the visible part |
|
1873 of the page (boolean) |
1847 """ |
1874 """ |
1848 from .PageScreenDialog import PageScreenDialog |
1875 from .PageScreenDialog import PageScreenDialog |
1849 self.__pageScreen = PageScreenDialog(self.currentBrowser()) |
1876 self.__pageScreen = PageScreenDialog( |
|
1877 self.currentBrowser(), visibleOnly=visibleOnly) |
1850 self.__pageScreen.show() |
1878 self.__pageScreen.show() |
|
1879 |
|
1880 def __saveVisiblePageScreen(self): |
|
1881 """ |
|
1882 Private slot to save the visible part of the current page as a screen shot. |
|
1883 """ |
|
1884 self.__savePageScreen(visibleOnly=True) |
1851 |
1885 |
1852 def __about(self): |
1886 def __about(self): |
1853 """ |
1887 """ |
1854 Private slot to show the about information. |
1888 Private slot to show the about information. |
1855 """ |
1889 """ |
2049 Preferences.setGeometry("HelpViewerGeometry", self.saveGeometry()) |
2083 Preferences.setGeometry("HelpViewerGeometry", self.saveGeometry()) |
2050 else: |
2084 else: |
2051 Preferences.setGeometry("HelpViewerGeometry", QByteArray()) |
2085 Preferences.setGeometry("HelpViewerGeometry", QByteArray()) |
2052 |
2086 |
2053 try: |
2087 try: |
2054 del self.__class__.helpwindows[self.__class__.helpwindows.index(self)] |
2088 if self.fromEric or len(self.__class__.helpwindows) > 1: |
|
2089 del self.__class__.helpwindows[self.__class__.helpwindows.index(self)] |
2055 except ValueError: |
2090 except ValueError: |
2056 pass |
2091 pass |
2057 |
2092 |
2058 if not self.fromEric: |
2093 if not self.fromEric: |
2059 Preferences.syncPreferences() |
2094 Preferences.syncPreferences() |
2552 if self.useQtHelp: |
2587 if self.useQtHelp: |
2553 self.__indexing = True |
2588 self.__indexing = True |
2554 if self.__indexingProgress is None: |
2589 if self.__indexingProgress is None: |
2555 self.__indexingProgress = QWidget() |
2590 self.__indexingProgress = QWidget() |
2556 layout = QHBoxLayout(self.__indexingProgress) |
2591 layout = QHBoxLayout(self.__indexingProgress) |
2557 layout.setMargin(0) |
2592 layout.setContentsMargins(0, 0, 0, 0) |
2558 sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) |
2593 sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) |
2559 |
2594 |
2560 label = QLabel(self.trUtf8("Updating search index")) |
2595 label = QLabel(self.trUtf8("Updating search index")) |
2561 label.setSizePolicy(sizePolicy) |
2596 label.setSizePolicy(sizePolicy) |
2562 layout.addWidget(label) |
2597 layout.addWidget(label) |
2599 @param word word to search for (string) |
2634 @param word word to search for (string) |
2600 """ |
2635 """ |
2601 if self.useQtHelp: |
2636 if self.useQtHelp: |
2602 self.__searchWord = word |
2637 self.__searchWord = word |
2603 self.__searchForWord() |
2638 self.__searchForWord() |
|
2639 |
|
2640 def __removeOldDocumentation(self): |
|
2641 """ |
|
2642 Private slot to remove non-existing documentation from the help engine. |
|
2643 """ |
|
2644 for namespace in self.__helpEngine.registeredDocumentations(): |
|
2645 docFile = self.__helpEngine.documentationFileName(namespace) |
|
2646 if not os.path.exists(docFile): |
|
2647 self.__helpEngine.unregisterDocumentation(namespace) |
2604 |
2648 |
2605 def __lookForNewDocumentation(self): |
2649 def __lookForNewDocumentation(self): |
2606 """ |
2650 """ |
2607 Private slot to look for new documentation to be loaded into the |
2651 Private slot to look for new documentation to be loaded into the |
2608 help database. |
2652 help database. |