33 class HelpTabWidget(E5TabWidget): |
33 class HelpTabWidget(E5TabWidget): |
34 """ |
34 """ |
35 Class implementing the central widget showing the web pages. |
35 Class implementing the central widget showing the web pages. |
36 |
36 |
37 @signal sourceChanged(HelpBrowser, QUrl) emitted after the URL of a browser |
37 @signal sourceChanged(HelpBrowser, QUrl) emitted after the URL of a browser |
38 has changed |
38 has changed |
39 @signal titleChanged(HelpBrowser, str) emitted after the title of a browser |
39 @signal titleChanged(HelpBrowser, str) emitted after the title of a browser |
40 has changed |
40 has changed |
41 @signal showMessage(str) emitted to show a message in the main window status bar |
41 @signal showMessage(str) emitted to show a message in the main window |
|
42 status bar |
42 @signal browserClosed(QWidget) emitted after a browser was closed |
43 @signal browserClosed(QWidget) emitted after a browser was closed |
43 @signal browserZoomValueChanged(int) emitted to signal a change of the current |
44 @signal browserZoomValueChanged(int) emitted to signal a change of the |
44 browser's zoom level |
45 current browser's zoom level |
45 """ |
46 """ |
46 sourceChanged = pyqtSignal(HelpBrowser, QUrl) |
47 sourceChanged = pyqtSignal(HelpBrowser, QUrl) |
47 titleChanged = pyqtSignal(HelpBrowser, str) |
48 titleChanged = pyqtSignal(HelpBrowser, str) |
48 showMessage = pyqtSignal(str) |
49 showMessage = pyqtSignal(str) |
49 browserClosed = pyqtSignal(QWidget) |
50 browserClosed = pyqtSignal(QWidget) |
88 self.__navigationMenu = QMenu(self) |
90 self.__navigationMenu = QMenu(self) |
89 self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu) |
91 self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu) |
90 self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered) |
92 self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered) |
91 |
93 |
92 self.__navigationButton = QToolButton(self) |
94 self.__navigationButton = QToolButton(self) |
93 self.__navigationButton.setIcon(UI.PixmapCache.getIcon("1downarrow.png")) |
95 self.__navigationButton.setIcon( |
94 self.__navigationButton.setToolTip(self.trUtf8("Show a navigation menu")) |
96 UI.PixmapCache.getIcon("1downarrow.png")) |
|
97 self.__navigationButton.setToolTip( |
|
98 self.trUtf8("Show a navigation menu")) |
95 self.__navigationButton.setPopupMode(QToolButton.InstantPopup) |
99 self.__navigationButton.setPopupMode(QToolButton.InstantPopup) |
96 self.__navigationButton.setMenu(self.__navigationMenu) |
100 self.__navigationButton.setMenu(self.__navigationMenu) |
97 self.__navigationButton.setEnabled(False) |
101 self.__navigationButton.setEnabled(False) |
98 self.__rightCornerWidgetLayout.addWidget(self.__navigationButton) |
102 self.__rightCornerWidgetLayout.addWidget(self.__navigationButton) |
99 |
103 |
100 self.__closedTabsMenu = QMenu(self) |
104 self.__closedTabsMenu = QMenu(self) |
101 self.__closedTabsMenu.aboutToShow.connect(self.__aboutToShowClosedTabsMenu) |
105 self.__closedTabsMenu.aboutToShow.connect( |
|
106 self.__aboutToShowClosedTabsMenu) |
102 |
107 |
103 self.__closedTabsButton = QToolButton(self) |
108 self.__closedTabsButton = QToolButton(self) |
104 self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png")) |
109 self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png")) |
105 self.__closedTabsButton.setToolTip( |
110 self.__closedTabsButton.setToolTip( |
106 self.trUtf8("Show a navigation menu for closed tabs")) |
111 self.trUtf8("Show a navigation menu for closed tabs")) |
138 def __initTabContextMenu(self): |
145 def __initTabContextMenu(self): |
139 """ |
146 """ |
140 Private method to create the tab context menu. |
147 Private method to create the tab context menu. |
141 """ |
148 """ |
142 self.__tabContextMenu = QMenu(self) |
149 self.__tabContextMenu = QMenu(self) |
143 self.tabContextNewAct = \ |
150 self.tabContextNewAct = self.__tabContextMenu.addAction( |
144 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("tabNew.png"), |
151 UI.PixmapCache.getIcon("tabNew.png"), |
145 self.trUtf8('New Tab'), self.newBrowser) |
152 self.trUtf8('New Tab'), self.newBrowser) |
146 self.__tabContextMenu.addSeparator() |
153 self.__tabContextMenu.addSeparator() |
147 self.leftMenuAct = \ |
154 self.leftMenuAct = self.__tabContextMenu.addAction( |
148 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("1leftarrow.png"), |
155 UI.PixmapCache.getIcon("1leftarrow.png"), |
149 self.trUtf8('Move Left'), self.__tabContextMenuMoveLeft) |
156 self.trUtf8('Move Left'), self.__tabContextMenuMoveLeft) |
150 self.rightMenuAct = \ |
157 self.rightMenuAct = self.__tabContextMenu.addAction( |
151 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("1rightarrow.png"), |
158 UI.PixmapCache.getIcon("1rightarrow.png"), |
152 self.trUtf8('Move Right'), self.__tabContextMenuMoveRight) |
159 self.trUtf8('Move Right'), self.__tabContextMenuMoveRight) |
153 self.__tabContextMenu.addSeparator() |
160 self.__tabContextMenu.addSeparator() |
154 self.tabContextCloneAct = \ |
161 self.tabContextCloneAct = self.__tabContextMenu.addAction( |
155 self.__tabContextMenu.addAction(self.trUtf8("Duplicate Page"), |
162 self.trUtf8("Duplicate Page"), self.__tabContextMenuClone) |
156 self.__tabContextMenuClone) |
|
157 self.__tabContextMenu.addSeparator() |
163 self.__tabContextMenu.addSeparator() |
158 self.tabContextCloseAct = \ |
164 self.tabContextCloseAct = self.__tabContextMenu.addAction( |
159 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("tabClose.png"), |
165 UI.PixmapCache.getIcon("tabClose.png"), |
160 self.trUtf8('Close'), self.__tabContextMenuClose) |
166 self.trUtf8('Close'), self.__tabContextMenuClose) |
161 self.tabContextCloseOthersAct = \ |
167 self.tabContextCloseOthersAct = self.__tabContextMenu.addAction( |
162 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("tabCloseOther.png"), |
168 UI.PixmapCache.getIcon("tabCloseOther.png"), |
163 self.trUtf8("Close Others"), self.__tabContextMenuCloseOthers) |
169 self.trUtf8("Close Others"), self.__tabContextMenuCloseOthers) |
164 self.__tabContextMenu.addAction(self.trUtf8('Close All'), |
170 self.__tabContextMenu.addAction(self.trUtf8('Close All'), |
165 self.closeAllBrowsers) |
171 self.closeAllBrowsers) |
166 self.__tabContextMenu.addSeparator() |
172 self.__tabContextMenu.addSeparator() |
167 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("printPreview.png"), |
173 self.__tabContextMenu.addAction( |
|
174 UI.PixmapCache.getIcon("printPreview.png"), |
168 self.trUtf8('Print Preview'), self.__tabContextMenuPrintPreview) |
175 self.trUtf8('Print Preview'), self.__tabContextMenuPrintPreview) |
169 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("print.png"), |
176 self.__tabContextMenu.addAction( |
|
177 UI.PixmapCache.getIcon("print.png"), |
170 self.trUtf8('Print'), self.__tabContextMenuPrint) |
178 self.trUtf8('Print'), self.__tabContextMenuPrint) |
171 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("printPdf.png"), |
179 self.__tabContextMenu.addAction( |
|
180 UI.PixmapCache.getIcon("printPdf.png"), |
172 self.trUtf8('Print as PDF'), self.__tabContextMenuPrintPdf) |
181 self.trUtf8('Print as PDF'), self.__tabContextMenuPrintPdf) |
173 self.__tabContextMenu.addSeparator() |
182 self.__tabContextMenu.addSeparator() |
174 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("reload.png"), |
183 self.__tabContextMenu.addAction( |
|
184 UI.PixmapCache.getIcon("reload.png"), |
175 self.trUtf8('Reload All'), self.reloadAllBrowsers) |
185 self.trUtf8('Reload All'), self.reloadAllBrowsers) |
176 self.__tabContextMenu.addSeparator() |
186 self.__tabContextMenu.addSeparator() |
177 self.__tabContextMenu.addAction(UI.PixmapCache.getIcon("addBookmark.png"), |
187 self.__tabContextMenu.addAction( |
|
188 UI.PixmapCache.getIcon("addBookmark.png"), |
178 self.trUtf8('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
189 self.trUtf8('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
179 |
190 |
180 self.__tabBackContextMenu = QMenu(self) |
191 self.__tabBackContextMenu = QMenu(self) |
181 self.__tabBackContextMenu.addAction(self.trUtf8('Close All'), |
192 self.__tabBackContextMenu.addAction(self.trUtf8('Close All'), |
182 self.closeAllBrowsers) |
193 self.closeAllBrowsers) |
183 self.__tabBackContextMenu.addAction(UI.PixmapCache.getIcon("reload.png"), |
194 self.__tabBackContextMenu.addAction( |
|
195 UI.PixmapCache.getIcon("reload.png"), |
184 self.trUtf8('Reload All'), self.reloadAllBrowsers) |
196 self.trUtf8('Reload All'), self.reloadAllBrowsers) |
185 self.__tabBackContextMenu.addAction(UI.PixmapCache.getIcon("addBookmark.png"), |
197 self.__tabBackContextMenu.addAction( |
|
198 UI.PixmapCache.getIcon("addBookmark.png"), |
186 self.trUtf8('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
199 self.trUtf8('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
187 self.__tabBackContextMenu.addSeparator() |
200 self.__tabBackContextMenu.addSeparator() |
188 self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction( |
201 self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction( |
189 UI.PixmapCache.getIcon("trash.png"), |
202 UI.PixmapCache.getIcon("trash.png"), |
190 self.trUtf8('Restore Closed Tab'), self.restoreClosedTab) |
203 self.trUtf8('Restore Closed Tab'), self.restoreClosedTab) |
291 |
306 |
292 from .UrlBar.UrlBar import UrlBar |
307 from .UrlBar.UrlBar import UrlBar |
293 urlbar = UrlBar(self.__mainWindow, self) |
308 urlbar = UrlBar(self.__mainWindow, self) |
294 if self.__historyCompleter is None: |
309 if self.__historyCompleter is None: |
295 import Helpviewer.HelpWindow |
310 import Helpviewer.HelpWindow |
296 from .History.HistoryCompleter import HistoryCompletionModel, HistoryCompleter |
311 from .History.HistoryCompleter import HistoryCompletionModel, \ |
|
312 HistoryCompleter |
297 self.__historyCompletionModel = HistoryCompletionModel(self) |
313 self.__historyCompletionModel = HistoryCompletionModel(self) |
298 self.__historyCompletionModel.setSourceModel( |
314 self.__historyCompletionModel.setSourceModel( |
299 Helpviewer.HelpWindow.HelpWindow.historyManager().historyFilterModel()) |
315 Helpviewer.HelpWindow.HelpWindow.historyManager() |
|
316 .historyFilterModel()) |
300 self.__historyCompleter = HistoryCompleter( |
317 self.__historyCompleter = HistoryCompleter( |
301 self.__historyCompletionModel, self) |
318 self.__historyCompletionModel, self) |
302 self.__historyCompleter.activated[str].connect(self.__pathSelected) |
319 self.__historyCompleter.activated[str].connect(self.__pathSelected) |
303 urlbar.setCompleter(self.__historyCompleter) |
320 urlbar.setCompleter(self.__historyCompleter) |
304 urlbar.returnPressed.connect(self.__lineEditReturnPressed) |
321 urlbar.returnPressed.connect(self.__lineEditReturnPressed) |
311 urlbar.setBrowser(browser) |
328 urlbar.setBrowser(browser) |
312 |
329 |
313 browser.sourceChanged.connect(self.__sourceChanged) |
330 browser.sourceChanged.connect(self.__sourceChanged) |
314 browser.titleChanged.connect(self.__titleChanged) |
331 browser.titleChanged.connect(self.__titleChanged) |
315 browser.highlighted.connect(self.showMessage) |
332 browser.highlighted.connect(self.showMessage) |
316 browser.backwardAvailable.connect(self.__mainWindow.setBackwardAvailable) |
333 browser.backwardAvailable.connect( |
|
334 self.__mainWindow.setBackwardAvailable) |
317 browser.forwardAvailable.connect(self.__mainWindow.setForwardAvailable) |
335 browser.forwardAvailable.connect(self.__mainWindow.setForwardAvailable) |
318 browser.loadStarted.connect(self.__loadStarted) |
336 browser.loadStarted.connect(self.__loadStarted) |
319 browser.loadFinished.connect(self.__loadFinished) |
337 browser.loadFinished.connect(self.__loadFinished) |
320 browser.iconChanged.connect(self.__iconChanged) |
338 browser.iconChanged.connect(self.__iconChanged) |
321 browser.search.connect(self.newBrowser) |
339 browser.search.connect(self.newBrowser) |
322 browser.page().windowCloseRequested.connect(self.__windowCloseRequested) |
340 browser.page().windowCloseRequested.connect( |
|
341 self.__windowCloseRequested) |
323 browser.page().printRequested.connect(self.__printRequested) |
342 browser.page().printRequested.connect(self.__printRequested) |
324 browser.zoomValueChanged.connect(self.browserZoomValueChanged) |
343 browser.zoomValueChanged.connect(self.browserZoomValueChanged) |
325 |
344 |
326 if position == -1: |
345 if position == -1: |
327 index = self.addTab(browser, self.trUtf8("...")) |
346 index = self.addTab(browser, self.trUtf8("...")) |
754 self.trUtf8("""Are you sure you want to close the window?\n""" |
780 self.trUtf8("""Are you sure you want to close the window?\n""" |
755 """You have %n tab(s) open.""", "", self.count()), |
781 """You have %n tab(s) open.""", "", self.count()), |
756 modal=True, |
782 modal=True, |
757 parent=self) |
783 parent=self) |
758 if self.__mainWindow.fromEric: |
784 if self.__mainWindow.fromEric: |
759 quitButton = mb.addButton(self.trUtf8("&Close"), E5MessageBox.AcceptRole) |
785 quitButton = mb.addButton( |
|
786 self.trUtf8("&Close"), E5MessageBox.AcceptRole) |
760 quitButton.setIcon(UI.PixmapCache.getIcon("close.png")) |
787 quitButton.setIcon(UI.PixmapCache.getIcon("close.png")) |
761 else: |
788 else: |
762 quitButton = mb.addButton(self.trUtf8("&Quit"), E5MessageBox.AcceptRole) |
789 quitButton = mb.addButton( |
|
790 self.trUtf8("&Quit"), E5MessageBox.AcceptRole) |
763 quitButton.setIcon(UI.PixmapCache.getIcon("exit.png")) |
791 quitButton.setIcon(UI.PixmapCache.getIcon("exit.png")) |
764 closeTabButton = mb.addButton(self.trUtf8("C&lose Current Tab"), |
792 closeTabButton = mb.addButton(self.trUtf8("C&lose Current Tab"), |
765 E5MessageBox.AcceptRole) |
793 E5MessageBox.AcceptRole) |
766 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose.png")) |
794 closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose.png")) |
767 mb.addButton(E5MessageBox.Cancel) |
795 mb.addButton(E5MessageBox.Cancel) |