Helpviewer/HelpWindow.py

branch
Py2 comp.
changeset 2847
1843ef6e2656
parent 2791
a9577f248f04
parent 2831
05fcdce02b94
child 3057
10516539f238
equal deleted inserted replaced
2846:b852fe4d153a 2847:1843ef6e2656
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.

eric ide

mercurial