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