Helpviewer/HelpTabWidget.py

changeset 3190
a9a94491c4fd
parent 3160
209a07d7e401
child 3345
071afe8be2a1
equal deleted inserted replaced
3189:9a21c547de5f 3190:a9a94491c4fd
91 91
92 self.__navigationButton = QToolButton(self) 92 self.__navigationButton = QToolButton(self)
93 self.__navigationButton.setIcon( 93 self.__navigationButton.setIcon(
94 UI.PixmapCache.getIcon("1downarrow.png")) 94 UI.PixmapCache.getIcon("1downarrow.png"))
95 self.__navigationButton.setToolTip( 95 self.__navigationButton.setToolTip(
96 self.trUtf8("Show a navigation menu")) 96 self.tr("Show a navigation menu"))
97 self.__navigationButton.setPopupMode(QToolButton.InstantPopup) 97 self.__navigationButton.setPopupMode(QToolButton.InstantPopup)
98 self.__navigationButton.setMenu(self.__navigationMenu) 98 self.__navigationButton.setMenu(self.__navigationMenu)
99 self.__navigationButton.setEnabled(False) 99 self.__navigationButton.setEnabled(False)
100 self.__rightCornerWidgetLayout.addWidget(self.__navigationButton) 100 self.__rightCornerWidgetLayout.addWidget(self.__navigationButton)
101 101
104 self.__aboutToShowClosedTabsMenu) 104 self.__aboutToShowClosedTabsMenu)
105 105
106 self.__closedTabsButton = QToolButton(self) 106 self.__closedTabsButton = QToolButton(self)
107 self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png")) 107 self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png"))
108 self.__closedTabsButton.setToolTip( 108 self.__closedTabsButton.setToolTip(
109 self.trUtf8("Show a navigation menu for closed tabs")) 109 self.tr("Show a navigation menu for closed tabs"))
110 self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup) 110 self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup)
111 self.__closedTabsButton.setMenu(self.__closedTabsMenu) 111 self.__closedTabsButton.setMenu(self.__closedTabsMenu)
112 self.__closedTabsButton.setEnabled(False) 112 self.__closedTabsButton.setEnabled(False)
113 self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton) 113 self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton)
114 114
115 self.__closeButton = QToolButton(self) 115 self.__closeButton = QToolButton(self)
116 self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png")) 116 self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png"))
117 self.__closeButton.setToolTip( 117 self.__closeButton.setToolTip(
118 self.trUtf8("Close the current help window")) 118 self.tr("Close the current help window"))
119 self.__closeButton.setEnabled(False) 119 self.__closeButton.setEnabled(False)
120 self.__closeButton.clicked[bool].connect(self.closeBrowser) 120 self.__closeButton.clicked[bool].connect(self.closeBrowser)
121 self.__rightCornerWidgetLayout.addWidget(self.__closeButton) 121 self.__rightCornerWidgetLayout.addWidget(self.__closeButton)
122 if Preferences.getUI("SingleCloseButton") or \ 122 if Preferences.getUI("SingleCloseButton") or \
123 not hasattr(self, 'setTabsClosable'): 123 not hasattr(self, 'setTabsClosable'):
130 self.setCornerWidget(self.__rightCornerWidget, Qt.TopRightCorner) 130 self.setCornerWidget(self.__rightCornerWidget, Qt.TopRightCorner)
131 131
132 self.__newTabButton = QToolButton(self) 132 self.__newTabButton = QToolButton(self)
133 self.__newTabButton.setIcon(UI.PixmapCache.getIcon("plus.png")) 133 self.__newTabButton.setIcon(UI.PixmapCache.getIcon("plus.png"))
134 self.__newTabButton.setToolTip( 134 self.__newTabButton.setToolTip(
135 self.trUtf8("Open a new help window tab")) 135 self.tr("Open a new help window tab"))
136 self.setCornerWidget(self.__newTabButton, Qt.TopLeftCorner) 136 self.setCornerWidget(self.__newTabButton, Qt.TopLeftCorner)
137 self.__newTabButton.clicked[bool].connect(self.newBrowser) 137 self.__newTabButton.clicked[bool].connect(self.newBrowser)
138 138
139 self.__initTabContextMenu() 139 self.__initTabContextMenu()
140 140
145 Private method to create the tab context menu. 145 Private method to create the tab context menu.
146 """ 146 """
147 self.__tabContextMenu = QMenu(self) 147 self.__tabContextMenu = QMenu(self)
148 self.tabContextNewAct = self.__tabContextMenu.addAction( 148 self.tabContextNewAct = self.__tabContextMenu.addAction(
149 UI.PixmapCache.getIcon("tabNew.png"), 149 UI.PixmapCache.getIcon("tabNew.png"),
150 self.trUtf8('New Tab'), self.newBrowser) 150 self.tr('New Tab'), self.newBrowser)
151 self.__tabContextMenu.addSeparator() 151 self.__tabContextMenu.addSeparator()
152 self.leftMenuAct = self.__tabContextMenu.addAction( 152 self.leftMenuAct = self.__tabContextMenu.addAction(
153 UI.PixmapCache.getIcon("1leftarrow.png"), 153 UI.PixmapCache.getIcon("1leftarrow.png"),
154 self.trUtf8('Move Left'), self.__tabContextMenuMoveLeft) 154 self.tr('Move Left'), self.__tabContextMenuMoveLeft)
155 self.rightMenuAct = self.__tabContextMenu.addAction( 155 self.rightMenuAct = self.__tabContextMenu.addAction(
156 UI.PixmapCache.getIcon("1rightarrow.png"), 156 UI.PixmapCache.getIcon("1rightarrow.png"),
157 self.trUtf8('Move Right'), self.__tabContextMenuMoveRight) 157 self.tr('Move Right'), self.__tabContextMenuMoveRight)
158 self.__tabContextMenu.addSeparator() 158 self.__tabContextMenu.addSeparator()
159 self.tabContextCloneAct = self.__tabContextMenu.addAction( 159 self.tabContextCloneAct = self.__tabContextMenu.addAction(
160 self.trUtf8("Duplicate Page"), self.__tabContextMenuClone) 160 self.tr("Duplicate Page"), self.__tabContextMenuClone)
161 self.__tabContextMenu.addSeparator() 161 self.__tabContextMenu.addSeparator()
162 self.tabContextCloseAct = self.__tabContextMenu.addAction( 162 self.tabContextCloseAct = self.__tabContextMenu.addAction(
163 UI.PixmapCache.getIcon("tabClose.png"), 163 UI.PixmapCache.getIcon("tabClose.png"),
164 self.trUtf8('Close'), self.__tabContextMenuClose) 164 self.tr('Close'), self.__tabContextMenuClose)
165 self.tabContextCloseOthersAct = self.__tabContextMenu.addAction( 165 self.tabContextCloseOthersAct = self.__tabContextMenu.addAction(
166 UI.PixmapCache.getIcon("tabCloseOther.png"), 166 UI.PixmapCache.getIcon("tabCloseOther.png"),
167 self.trUtf8("Close Others"), self.__tabContextMenuCloseOthers) 167 self.tr("Close Others"), self.__tabContextMenuCloseOthers)
168 self.__tabContextMenu.addAction( 168 self.__tabContextMenu.addAction(
169 self.trUtf8('Close All'), self.closeAllBrowsers) 169 self.tr('Close All'), self.closeAllBrowsers)
170 self.__tabContextMenu.addSeparator() 170 self.__tabContextMenu.addSeparator()
171 self.__tabContextMenu.addAction( 171 self.__tabContextMenu.addAction(
172 UI.PixmapCache.getIcon("printPreview.png"), 172 UI.PixmapCache.getIcon("printPreview.png"),
173 self.trUtf8('Print Preview'), self.__tabContextMenuPrintPreview) 173 self.tr('Print Preview'), self.__tabContextMenuPrintPreview)
174 self.__tabContextMenu.addAction( 174 self.__tabContextMenu.addAction(
175 UI.PixmapCache.getIcon("print.png"), 175 UI.PixmapCache.getIcon("print.png"),
176 self.trUtf8('Print'), self.__tabContextMenuPrint) 176 self.tr('Print'), self.__tabContextMenuPrint)
177 self.__tabContextMenu.addAction( 177 self.__tabContextMenu.addAction(
178 UI.PixmapCache.getIcon("printPdf.png"), 178 UI.PixmapCache.getIcon("printPdf.png"),
179 self.trUtf8('Print as PDF'), self.__tabContextMenuPrintPdf) 179 self.tr('Print as PDF'), self.__tabContextMenuPrintPdf)
180 self.__tabContextMenu.addSeparator() 180 self.__tabContextMenu.addSeparator()
181 self.__tabContextMenu.addAction( 181 self.__tabContextMenu.addAction(
182 UI.PixmapCache.getIcon("reload.png"), 182 UI.PixmapCache.getIcon("reload.png"),
183 self.trUtf8('Reload All'), self.reloadAllBrowsers) 183 self.tr('Reload All'), self.reloadAllBrowsers)
184 self.__tabContextMenu.addSeparator() 184 self.__tabContextMenu.addSeparator()
185 self.__tabContextMenu.addAction( 185 self.__tabContextMenu.addAction(
186 UI.PixmapCache.getIcon("addBookmark.png"), 186 UI.PixmapCache.getIcon("addBookmark.png"),
187 self.trUtf8('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) 187 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
188 188
189 self.__tabBackContextMenu = QMenu(self) 189 self.__tabBackContextMenu = QMenu(self)
190 self.__tabBackContextMenu.addAction( 190 self.__tabBackContextMenu.addAction(
191 self.trUtf8('Close All'), self.closeAllBrowsers) 191 self.tr('Close All'), self.closeAllBrowsers)
192 self.__tabBackContextMenu.addAction( 192 self.__tabBackContextMenu.addAction(
193 UI.PixmapCache.getIcon("reload.png"), 193 UI.PixmapCache.getIcon("reload.png"),
194 self.trUtf8('Reload All'), self.reloadAllBrowsers) 194 self.tr('Reload All'), self.reloadAllBrowsers)
195 self.__tabBackContextMenu.addAction( 195 self.__tabBackContextMenu.addAction(
196 UI.PixmapCache.getIcon("addBookmark.png"), 196 UI.PixmapCache.getIcon("addBookmark.png"),
197 self.trUtf8('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) 197 self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll)
198 self.__tabBackContextMenu.addSeparator() 198 self.__tabBackContextMenu.addSeparator()
199 self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction( 199 self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction(
200 UI.PixmapCache.getIcon("trash.png"), 200 UI.PixmapCache.getIcon("trash.png"),
201 self.trUtf8('Restore Closed Tab'), self.restoreClosedTab) 201 self.tr('Restore Closed Tab'), self.restoreClosedTab)
202 self.__restoreClosedTabAct.setEnabled(False) 202 self.__restoreClosedTabAct.setEnabled(False)
203 self.__restoreClosedTabAct.setData(0) 203 self.__restoreClosedTabAct.setData(0)
204 204
205 def __showContextMenu(self, coord, index): 205 def __showContextMenu(self, coord, index):
206 """ 206 """
339 self.__windowCloseRequested) 339 self.__windowCloseRequested)
340 browser.page().printRequested.connect(self.__printRequested) 340 browser.page().printRequested.connect(self.__printRequested)
341 browser.zoomValueChanged.connect(self.browserZoomValueChanged) 341 browser.zoomValueChanged.connect(self.browserZoomValueChanged)
342 342
343 if position == -1: 343 if position == -1:
344 index = self.addTab(browser, self.trUtf8("...")) 344 index = self.addTab(browser, self.tr("..."))
345 else: 345 else:
346 index = self.insertTab(position, browser, self.trUtf8("...")) 346 index = self.insertTab(position, browser, self.tr("..."))
347 self.setCurrentIndex(index) 347 self.setCurrentIndex(index)
348 348
349 self.__mainWindow.closeAct.setEnabled(True) 349 self.__mainWindow.closeAct.setEnabled(True)
350 self.__mainWindow.closeAllAct.setEnabled(True) 350 self.__mainWindow.closeAllAct.setEnabled(True)
351 self.__closeButton.setEnabled(True) 351 self.__closeButton.setEnabled(True)
537 try: 537 try:
538 frame.print_(printer) 538 frame.print_(printer)
539 except AttributeError: 539 except AttributeError:
540 E5MessageBox.critical( 540 E5MessageBox.critical(
541 self, 541 self,
542 self.trUtf8("eric5 Web Browser"), 542 self.tr("eric5 Web Browser"),
543 self.trUtf8( 543 self.tr(
544 """<p>Printing is not available due to a bug in""" 544 """<p>Printing is not available due to a bug in"""
545 """ PyQt4. Please upgrade.</p>""")) 545 """ PyQt4. Please upgrade.</p>"""))
546 return 546 return
547 547
548 def printBrowserPdf(self, browser=None): 548 def printBrowserPdf(self, browser=None):
582 try: 582 try:
583 frame.print_(printer) 583 frame.print_(printer)
584 except AttributeError: 584 except AttributeError:
585 E5MessageBox.critical( 585 E5MessageBox.critical(
586 self, 586 self,
587 self.trUtf8("eric5 Web Browser"), 587 self.tr("eric5 Web Browser"),
588 self.trUtf8( 588 self.tr(
589 """<p>Printing is not available due to a bug in""" 589 """<p>Printing is not available due to a bug in"""
590 """ PyQt4. Please upgrade.</p>""")) 590 """ PyQt4. Please upgrade.</p>"""))
591 return 591 return
592 592
593 def printPreviewBrowser(self, browser=None): 593 def printPreviewBrowser(self, browser=None):
635 try: 635 try:
636 self.__printPreviewBrowser.print_(printer) 636 self.__printPreviewBrowser.print_(printer)
637 except AttributeError: 637 except AttributeError:
638 E5MessageBox.critical( 638 E5MessageBox.critical(
639 self, 639 self,
640 self.trUtf8("eric5 Web Browser"), 640 self.tr("eric5 Web Browser"),
641 self.trUtf8( 641 self.tr(
642 """<p>Printing is not available due to a bug in PyQt4.""" 642 """<p>Printing is not available due to a bug in PyQt4."""
643 """Please upgrade.</p>""")) 643 """Please upgrade.</p>"""))
644 return 644 return
645 645
646 def __sourceChanged(self, url): 646 def __sourceChanged(self, url):
732 loading = QIcon(os.path.join(getConfig("ericPixDir"), 732 loading = QIcon(os.path.join(getConfig("ericPixDir"),
733 "loading.gif")) 733 "loading.gif"))
734 self.setTabIcon(index, loading) 734 self.setTabIcon(index, loading)
735 else: 735 else:
736 self.setTabIcon(index, QIcon()) 736 self.setTabIcon(index, QIcon())
737 self.setTabText(index, self.trUtf8("Loading...")) 737 self.setTabText(index, self.tr("Loading..."))
738 self.setTabToolTip(index, self.trUtf8("Loading...")) 738 self.setTabToolTip(index, self.tr("Loading..."))
739 self.showMessage.emit(self.trUtf8("Loading...")) 739 self.showMessage.emit(self.tr("Loading..."))
740 740
741 self.__mainWindow.setLoadingActions(True) 741 self.__mainWindow.setLoadingActions(True)
742 742
743 def __loadFinished(self, ok): 743 def __loadFinished(self, ok):
744 """ 744 """
755 index = self.indexOf(browser) 755 index = self.indexOf(browser)
756 self.resetAnimation(index) 756 self.resetAnimation(index)
757 self.setTabIcon( 757 self.setTabIcon(
758 index, Helpviewer.HelpWindow.HelpWindow.icon(browser.url())) 758 index, Helpviewer.HelpWindow.HelpWindow.icon(browser.url()))
759 if ok: 759 if ok:
760 self.showMessage.emit(self.trUtf8("Finished loading")) 760 self.showMessage.emit(self.tr("Finished loading"))
761 else: 761 else:
762 self.showMessage.emit(self.trUtf8("Failed to load")) 762 self.showMessage.emit(self.tr("Failed to load"))
763 763
764 self.__mainWindow.setLoadingActions(False) 764 self.__mainWindow.setLoadingActions(False)
765 765
766 def __iconChanged(self): 766 def __iconChanged(self):
767 """ 767 """
799 @return flag indicating a shut down (boolean) 799 @return flag indicating a shut down (boolean)
800 """ 800 """
801 if self.count() > 1 and Preferences.getHelp("WarnOnMultipleClose"): 801 if self.count() > 1 and Preferences.getHelp("WarnOnMultipleClose"):
802 mb = E5MessageBox.E5MessageBox( 802 mb = E5MessageBox.E5MessageBox(
803 E5MessageBox.Information, 803 E5MessageBox.Information,
804 self.trUtf8("Are you sure you want to close the window?"), 804 self.tr("Are you sure you want to close the window?"),
805 self.trUtf8("""Are you sure you want to close the window?\n""" 805 self.tr("""Are you sure you want to close the window?\n"""
806 """You have %n tab(s) open.""", "", self.count()), 806 """You have %n tab(s) open.""", "", self.count()),
807 modal=True, 807 modal=True,
808 parent=self) 808 parent=self)
809 if self.__mainWindow.fromEric: 809 if self.__mainWindow.fromEric:
810 quitButton = mb.addButton( 810 quitButton = mb.addButton(
811 self.trUtf8("&Close"), E5MessageBox.AcceptRole) 811 self.tr("&Close"), E5MessageBox.AcceptRole)
812 quitButton.setIcon(UI.PixmapCache.getIcon("close.png")) 812 quitButton.setIcon(UI.PixmapCache.getIcon("close.png"))
813 else: 813 else:
814 quitButton = mb.addButton( 814 quitButton = mb.addButton(
815 self.trUtf8("&Quit"), E5MessageBox.AcceptRole) 815 self.tr("&Quit"), E5MessageBox.AcceptRole)
816 quitButton.setIcon(UI.PixmapCache.getIcon("exit.png")) 816 quitButton.setIcon(UI.PixmapCache.getIcon("exit.png"))
817 closeTabButton = mb.addButton( 817 closeTabButton = mb.addButton(
818 self.trUtf8("C&lose Current Tab"), E5MessageBox.AcceptRole) 818 self.tr("C&lose Current Tab"), E5MessageBox.AcceptRole)
819 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose.png")) 819 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose.png"))
820 mb.addButton(E5MessageBox.Cancel) 820 mb.addButton(E5MessageBox.Cancel)
821 mb.exec_() 821 mb.exec_()
822 if mb.clickedButton() == quitButton: 822 if mb.clickedButton() == quitButton:
823 return True 823 return True
970 self.__mainWindow.icon(tab.url), title, 970 self.__mainWindow.icon(tab.url), title,
971 self.restoreClosedTab).setData(index) 971 self.restoreClosedTab).setData(index)
972 index += 1 972 index += 1
973 self.__closedTabsMenu.addSeparator() 973 self.__closedTabsMenu.addSeparator()
974 self.__closedTabsMenu.addAction( 974 self.__closedTabsMenu.addAction(
975 self.trUtf8("Restore All Closed Tabs"), self.restoreAllClosedTabs) 975 self.tr("Restore All Closed Tabs"), self.restoreAllClosedTabs)
976 self.__closedTabsMenu.addAction( 976 self.__closedTabsMenu.addAction(
977 self.trUtf8("Clear List"), self.clearClosedTabsList) 977 self.tr("Clear List"), self.clearClosedTabsList)
978 978
979 def closedTabsManager(self): 979 def closedTabsManager(self):
980 """ 980 """
981 Public slot to get a reference to the closed tabs manager. 981 Public slot to get a reference to the closed tabs manager.
982 982

eric ide

mercurial