WebBrowser/WebBrowserWindow.py

branch
QtWebEngine
changeset 4715
79009bc4acd5
parent 4713
8dca047daf4b
child 4717
5841f229baf7
equal deleted inserted replaced
4713:8dca047daf4b 4715:79009bc4acd5
7 Module implementing the web browser main window. 7 Module implementing the web browser main window.
8 """ 8 """
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 try: 11 try:
12 str = unicode 12 str = unicode # __IGNORE_EXCEPTION__
13 except NameError: 13 except NameError:
14 pass 14 pass
15 15
16 import os 16 import os
17 17
39 ## 39 ##
40 from E5Gui.E5Action import E5Action 40 from E5Gui.E5Action import E5Action
41 from E5Gui import E5MessageBox, E5FileDialog, E5ErrorMessage 41 from E5Gui import E5MessageBox, E5FileDialog, E5ErrorMessage
42 from E5Gui.E5MainWindow import E5MainWindow 42 from E5Gui.E5MainWindow import E5MainWindow
43 from E5Gui.E5Application import e5App 43 from E5Gui.E5Application import e5App
44 ##from E5Gui.E5ZoomWidget import E5ZoomWidget 44 from E5Gui.E5ZoomWidget import E5ZoomWidget
45 ## 45
46 ##from E5Network.E5NetworkIcon import E5NetworkIcon 46 ##from E5Network.E5NetworkIcon import E5NetworkIcon
47 47
48 import Preferences 48 import Preferences
49 from Preferences import Shortcuts 49 from Preferences import Shortcuts
50 50
124 ## self.__eventKeyboardModifiers = Qt.NoModifier 124 ## self.__eventKeyboardModifiers = Qt.NoModifier
125 ## 125 ##
126 if self.__initShortcutsOnly: 126 if self.__initShortcutsOnly:
127 self.__initActions() 127 self.__initActions()
128 else: 128 else:
129 # TODO: implement this
130 from .SearchWidget import SearchWidget 129 from .SearchWidget import SearchWidget
130 # TODO: QtHelp
131 ## from .HelpTocWidget import HelpTocWidget 131 ## from .HelpTocWidget import HelpTocWidget
132 ## from .HelpIndexWidget import HelpIndexWidget 132 ## from .HelpIndexWidget import HelpIndexWidget
133 ## from .HelpSearchWidget import HelpSearchWidget 133 ## from .HelpSearchWidget import HelpSearchWidget
134 ## from .HelpBrowserWV import HelpBrowser 134 from .WebBrowserView import WebBrowserView
135 from .WebBrowserTabWidget import WebBrowserTabWidget 135 from .WebBrowserTabWidget import WebBrowserTabWidget
136 # TODO: AdBlock
136 ## from .AdBlock.AdBlockIcon import AdBlockIcon 137 ## from .AdBlock.AdBlockIcon import AdBlockIcon
138 # TODO: VirusTotal
137 ## from .VirusTotal.VirusTotalApi import VirusTotalAPI 139 ## from .VirusTotal.VirusTotalApi import VirusTotalAPI
138 140
139 # TODO: allow using Qt Help even if not called from eric6 141 # TODO: allow using Qt Help even if not called from eric6
140 WebBrowserWindow.setUseQtHelp(self.__fromEric) 142 WebBrowserWindow.setUseQtHelp(self.__fromEric)
141 143
157 ## self.__helpEngine.warning.connect(self.__warning) 159 ## self.__helpEngine.warning.connect(self.__warning)
158 ## else: 160 ## else:
159 ## self.__helpEngine = None 161 ## self.__helpEngine = None
160 ## self.__helpInstaller = None 162 ## self.__helpInstaller = None
161 163
162 ## self.__zoomWidget = E5ZoomWidget( 164 self.__zoomWidget = E5ZoomWidget(
163 ## UI.PixmapCache.getPixmap("zoomOut.png"), 165 UI.PixmapCache.getPixmap("zoomOut.png"),
164 ## UI.PixmapCache.getPixmap("zoomIn.png"), 166 UI.PixmapCache.getPixmap("zoomIn.png"),
165 ## UI.PixmapCache.getPixmap("zoomReset.png"), self) 167 UI.PixmapCache.getPixmap("zoomReset.png"), self)
166 ## self.statusBar().addPermanentWidget(self.__zoomWidget) 168 self.statusBar().addPermanentWidget(self.__zoomWidget)
167 ## self.__zoomWidget.setMapping( 169 self.__zoomWidget.setMapping(
168 ## HelpBrowser.ZoomLevels, HelpBrowser.ZoomLevelDefault) 170 WebBrowserView.ZoomLevels, WebBrowserView.ZoomLevelDefault)
169 ## self.__zoomWidget.valueChanged.connect(self.__zoomValueChanged) 171 self.__zoomWidget.valueChanged.connect(self.__zoomValueChanged)
170 ## 172
171 self.__tabWidget = WebBrowserTabWidget(self) 173 self.__tabWidget = WebBrowserTabWidget(self)
172 self.__tabWidget.currentChanged[int].connect(self.__currentChanged) 174 self.__tabWidget.currentChanged[int].connect(self.__currentChanged)
173 self.__tabWidget.titleChanged.connect(self.__titleChanged) 175 self.__tabWidget.titleChanged.connect(self.__titleChanged)
174 self.__tabWidget.showMessage.connect(self.statusBar().showMessage) 176 self.__tabWidget.showMessage.connect(self.statusBar().showMessage)
175 self.__tabWidget.browserClosed.connect(self.__browserClosed) 177 self.__tabWidget.browserClosed.connect(self.__browserClosed)
176 ## self.__tabWidget.browserZoomValueChanged.connect( 178 self.__tabWidget.browserZoomValueChanged.connect(
177 ## self.__zoomWidget.setValue) 179 self.__zoomWidget.setValue)
178 180
179 self.__searchWidget = SearchWidget(self, self) 181 self.__searchWidget = SearchWidget(self, self)
180 centralWidget = QWidget() 182 centralWidget = QWidget()
181 layout = QVBoxLayout() 183 layout = QVBoxLayout()
182 layout.setContentsMargins(1, 1, 1, 1) 184 layout.setContentsMargins(1, 1, 1, 1)
186 QSizePolicy.Preferred, QSizePolicy.Expanding) 188 QSizePolicy.Preferred, QSizePolicy.Expanding)
187 centralWidget.setLayout(layout) 189 centralWidget.setLayout(layout)
188 self.setCentralWidget(centralWidget) 190 self.setCentralWidget(centralWidget)
189 self.__searchWidget.hide() 191 self.__searchWidget.hide()
190 192
191 # TODO: do these once Qt 5.6 is available 193 # TODO: QtHelp, do these once Qt 5.6 is available
192 ## if WebBrowserWindow.UseQtHelp: 194 ## if WebBrowserWindow.UseQtHelp:
193 ## # setup the TOC widget 195 ## # setup the TOC widget
194 ## self.__tocWindow = HelpTocWidget(self.__helpEngine, self) 196 ## self.__tocWindow = HelpTocWidget(self.__helpEngine, self)
195 ## self.__tocDock = QDockWidget(self.tr("Contents"), self) 197 ## self.__tocDock = QDockWidget(self.tr("Contents"), self)
196 ## self.__tocDock.setObjectName("TocWindow") 198 ## self.__tocDock.setObjectName("TocWindow")
263 QDesktopServices.setUrlHandler("http", self.__linkActivated) 265 QDesktopServices.setUrlHandler("http", self.__linkActivated)
264 QDesktopServices.setUrlHandler("https", self.__linkActivated) 266 QDesktopServices.setUrlHandler("https", self.__linkActivated)
265 267
266 # setup connections 268 # setup connections
267 self.__activating = False 269 self.__activating = False
268 # TODO: do these once Qt 5.6 is available 270 # TODO: QtHelp, do these once Qt 5.6 is available
269 ## if WebBrowserWindow.UseQtHelp: 271 ## if WebBrowserWindow.UseQtHelp:
270 ## # TOC window 272 ## # TOC window
271 ## self.__tocWindow.linkActivated.connect(self.__linkActivated) 273 ## self.__tocWindow.linkActivated.connect(self.__linkActivated)
272 ## self.__tocWindow.escapePressed.connect( 274 ## self.__tocWindow.escapePressed.connect(
273 ## self.__activateCurrentBrowser) 275 ## self.__activateCurrentBrowser)
299 self.__previewer = None 301 self.__previewer = None
300 self.__shutdownCalled = False 302 self.__shutdownCalled = False
301 303
302 ## self.flashCookieManager() 304 ## self.flashCookieManager()
303 ## 305 ##
304 # TODO: do these once Qt 5.6 is available 306 # TODO: QtHelp, do these once Qt 5.6 is available
305 ## if WebBrowserWindow.UseQtHelp: 307 ## if WebBrowserWindow.UseQtHelp:
306 ## QTimer.singleShot(0, self.__lookForNewDocumentation) 308 ## QTimer.singleShot(0, self.__lookForNewDocumentation)
307 ## if self.__searchWord is not None: 309 ## if self.__searchWord is not None:
308 ## QTimer.singleShot(0, self.__searchForWord) 310 ## QTimer.singleShot(0, self.__searchForWord)
309 ## 311 ##
320 Note: This empty variant seems to get rid of the Qt message 322 Note: This empty variant seems to get rid of the Qt message
321 'Warning: QBasicTimer::start: QBasicTimer can only be used with 323 'Warning: QBasicTimer::start: QBasicTimer can only be used with
322 threads started with QThread' 324 threads started with QThread'
323 """ 325 """
324 pass 326 pass
327
328 def fromEric(self):
329 """
330 Public method to check, if the web browser was called from within the
331 eric IDE.
332 """
333 return self.__fromEric
325 334
326 ## def __setIconDatabasePath(self, enable=True): 335 ## def __setIconDatabasePath(self, enable=True):
327 ## """ 336 ## """
328 ## Private method to set the favicons path. 337 ## Private method to set the favicons path.
329 ## 338 ##
572 ## if not self.__initShortcutsOnly: 581 ## if not self.__initShortcutsOnly:
573 ## self.saveVisiblePageScreenAct.triggered.connect( 582 ## self.saveVisiblePageScreenAct.triggered.connect(
574 ## self.__saveVisiblePageScreen) 583 ## self.__saveVisiblePageScreen)
575 ## self.__actions.append(self.saveVisiblePageScreenAct) 584 ## self.__actions.append(self.saveVisiblePageScreenAct)
576 585
577 # TODO: re-enable when bookmarks are done 586 # TODO: Bookmarks
578 ## bookmarksManager = self.bookmarksManager() 587 ## bookmarksManager = self.bookmarksManager()
579 ## self.importBookmarksAct = E5Action( 588 ## self.importBookmarksAct = E5Action(
580 ## self.tr('Import Bookmarks'), 589 ## self.tr('Import Bookmarks'),
581 ## self.tr('&Import Bookmarks...'), 590 ## self.tr('&Import Bookmarks...'),
582 ## 0, 0, self, 'webbrowser_file_import_bookmarks') 591 ## 0, 0, self, 'webbrowser_file_import_bookmarks')
604 ## if not self.__initShortcutsOnly: 613 ## if not self.__initShortcutsOnly:
605 ## self.exportBookmarksAct.triggered.connect( 614 ## self.exportBookmarksAct.triggered.connect(
606 ## bookmarksManager.exportBookmarks) 615 ## bookmarksManager.exportBookmarks)
607 ## self.__actions.append(self.exportBookmarksAct) 616 ## self.__actions.append(self.exportBookmarksAct)
608 617
609 # TODO: re-enable when print stuff is done 618 # TODO: print stuff
610 ## self.printAct = E5Action( 619 ## self.printAct = E5Action(
611 ## self.tr('Print'), 620 ## self.tr('Print'),
612 ## UI.PixmapCache.getIcon("print.png"), 621 ## UI.PixmapCache.getIcon("print.png"),
613 ## self.tr('&Print'), 622 ## self.tr('&Print'),
614 ## QKeySequence(self.tr("Ctrl+P", "File|Print")), 623 ## QKeySequence(self.tr("Ctrl+P", "File|Print")),
682 if not self.__initShortcutsOnly: 691 if not self.__initShortcutsOnly:
683 self.closeAllAct.triggered.connect( 692 self.closeAllAct.triggered.connect(
684 self.__tabWidget.closeAllBrowsers) 693 self.__tabWidget.closeAllBrowsers)
685 self.__actions.append(self.closeAllAct) 694 self.__actions.append(self.closeAllAct)
686 695
687 # TODO: re-enable when Private Browsing is done 696 # TODO: Private Browsing
688 ## self.privateBrowsingAct = E5Action( 697 ## self.privateBrowsingAct = E5Action(
689 ## self.tr('Private Browsing'), 698 ## self.tr('Private Browsing'),
690 ## UI.PixmapCache.getIcon("privateBrowsing.png"), 699 ## UI.PixmapCache.getIcon("privateBrowsing.png"),
691 ## self.tr('Private &Browsing'), 700 ## self.tr('Private &Browsing'),
692 ## 0, 0, self, 'webbrowser_file_private_browsing') 701 ## 0, 0, self, 'webbrowser_file_private_browsing')
869 if not self.__initShortcutsOnly: 878 if not self.__initShortcutsOnly:
870 self.findPrevAct.triggered.connect( 879 self.findPrevAct.triggered.connect(
871 self.__searchWidget.findPrevious) 880 self.__searchWidget.findPrevious)
872 self.__actions.append(self.findPrevAct) 881 self.__actions.append(self.findPrevAct)
873 882
874 # TODO: re-enable when bookmarks are done 883 # TODO: Bookmarks
875 ## self.bookmarksManageAct = E5Action( 884 ## self.bookmarksManageAct = E5Action(
876 ## self.tr('Manage Bookmarks'), 885 ## self.tr('Manage Bookmarks'),
877 ## self.tr('&Manage Bookmarks...'), 886 ## self.tr('&Manage Bookmarks...'),
878 ## QKeySequence(self.tr("Ctrl+Shift+B", "Help|Manage bookmarks")), 887 ## QKeySequence(self.tr("Ctrl+Shift+B", "Help|Manage bookmarks")),
879 ## 0, self, 'webbrowser_bookmarks_manage') 888 ## 0, self, 'webbrowser_bookmarks_manage')
980 )) 989 ))
981 if not self.__initShortcutsOnly: 990 if not self.__initShortcutsOnly:
982 self.aboutQtAct.triggered.connect(self.__aboutQt) 991 self.aboutQtAct.triggered.connect(self.__aboutQt)
983 self.__actions.append(self.aboutQtAct) 992 self.__actions.append(self.aboutQtAct)
984 993
985 # TODO: re-enable once Zoom stuff is done 994 self.zoomInAct = E5Action(
986 ## self.zoomInAct = E5Action( 995 self.tr('Zoom in'),
987 ## self.tr('Zoom in'), 996 UI.PixmapCache.getIcon("zoomIn.png"),
988 ## UI.PixmapCache.getIcon("zoomIn.png"), 997 self.tr('Zoom &in'),
989 ## self.tr('Zoom &in'), 998 QKeySequence(self.tr("Ctrl++", "View|Zoom in")),
990 ## QKeySequence(self.tr("Ctrl++", "View|Zoom in")), 999 QKeySequence(self.tr("Zoom In", "View|Zoom in")),
991 ## QKeySequence(self.tr("Zoom In", "View|Zoom in")), 1000 self, 'webbrowser_view_zoom_in')
992 ## self, 'webbrowser_view_zoom_in') 1001 self.zoomInAct.setStatusTip(self.tr('Zoom in on the web page'))
993 ## self.zoomInAct.setStatusTip(self.tr('Zoom in on the text')) 1002 self.zoomInAct.setWhatsThis(self.tr(
994 ## self.zoomInAct.setWhatsThis(self.tr( 1003 """<b>Zoom in</b>"""
995 ## """<b>Zoom in</b>""" 1004 """<p>Zoom in on the web page."""
996 ## """<p>Zoom in on the text. This makes the text bigger.</p>""" 1005 """ This makes the web page bigger.</p>"""
997 ## )) 1006 ))
998 ## if not self.__initShortcutsOnly: 1007 if not self.__initShortcutsOnly:
999 ## self.zoomInAct.triggered.connect(self.__zoomIn) 1008 self.zoomInAct.triggered.connect(self.__zoomIn)
1000 ## self.__actions.append(self.zoomInAct) 1009 self.__actions.append(self.zoomInAct)
1001 ## 1010
1002 ## self.zoomOutAct = E5Action( 1011 self.zoomOutAct = E5Action(
1003 ## self.tr('Zoom out'), 1012 self.tr('Zoom out'),
1004 ## UI.PixmapCache.getIcon("zoomOut.png"), 1013 UI.PixmapCache.getIcon("zoomOut.png"),
1005 ## self.tr('Zoom &out'), 1014 self.tr('Zoom &out'),
1006 ## QKeySequence(self.tr("Ctrl+-", "View|Zoom out")), 1015 QKeySequence(self.tr("Ctrl+-", "View|Zoom out")),
1007 ## QKeySequence(self.tr("Zoom Out", "View|Zoom out")), 1016 QKeySequence(self.tr("Zoom Out", "View|Zoom out")),
1008 ## self, 'webbrowser_view_zoom_out') 1017 self, 'webbrowser_view_zoom_out')
1009 ## self.zoomOutAct.setStatusTip(self.tr('Zoom out on the text')) 1018 self.zoomOutAct.setStatusTip(self.tr('Zoom out on the web page'))
1010 ## self.zoomOutAct.setWhatsThis(self.tr( 1019 self.zoomOutAct.setWhatsThis(self.tr(
1011 ## """<b>Zoom out</b>""" 1020 """<b>Zoom out</b>"""
1012 ## """<p>Zoom out on the text. This makes the text smaller.</p>""" 1021 """<p>Zoom out on the web page."""
1013 ## )) 1022 """ This makes the web page smaller.</p>"""
1014 ## if not self.__initShortcutsOnly: 1023 ))
1015 ## self.zoomOutAct.triggered.connect(self.__zoomOut) 1024 if not self.__initShortcutsOnly:
1016 ## self.__actions.append(self.zoomOutAct) 1025 self.zoomOutAct.triggered.connect(self.__zoomOut)
1017 ## 1026 self.__actions.append(self.zoomOutAct)
1018 ## self.zoomResetAct = E5Action( 1027
1019 ## self.tr('Zoom reset'), 1028 self.zoomResetAct = E5Action(
1020 ## UI.PixmapCache.getIcon("zoomReset.png"), 1029 self.tr('Zoom reset'),
1021 ## self.tr('Zoom &reset'), 1030 UI.PixmapCache.getIcon("zoomReset.png"),
1022 ## QKeySequence(self.tr("Ctrl+0", "View|Zoom reset")), 1031 self.tr('Zoom &reset'),
1023 ## 0, self, 'webbrowser_view_zoom_reset') 1032 QKeySequence(self.tr("Ctrl+0", "View|Zoom reset")),
1024 ## self.zoomResetAct.setStatusTip(self.tr( 1033 0, self, 'webbrowser_view_zoom_reset')
1025 ## 'Reset the zoom of the text')) 1034 self.zoomResetAct.setStatusTip(self.tr(
1026 ## self.zoomResetAct.setWhatsThis(self.tr( 1035 'Reset the zoom of the web page'))
1027 ## """<b>Zoom reset</b>""" 1036 self.zoomResetAct.setWhatsThis(self.tr(
1028 ## """<p>Reset the zoom of the text. """ 1037 """<b>Zoom reset</b>"""
1029 ## """This sets the zoom factor to 100%.</p>""" 1038 """<p>Reset the zoom of the web page. """
1030 ## )) 1039 """This sets the zoom factor to 100%.</p>"""
1031 ## if not self.__initShortcutsOnly: 1040 ))
1032 ## self.zoomResetAct.triggered.connect(self.__zoomReset) 1041 if not self.__initShortcutsOnly:
1033 ## self.__actions.append(self.zoomResetAct) 1042 self.zoomResetAct.triggered.connect(self.__zoomReset)
1034 ## 1043 self.__actions.append(self.zoomResetAct)
1044
1035 ## if hasattr(QWebSettings, 'ZoomTextOnly'): 1045 ## if hasattr(QWebSettings, 'ZoomTextOnly'):
1036 ## self.zoomTextOnlyAct = E5Action( 1046 ## self.zoomTextOnlyAct = E5Action(
1037 ## self.tr('Zoom text only'), 1047 ## self.tr('Zoom text only'),
1038 ## self.tr('Zoom &text only'), 1048 ## self.tr('Zoom &text only'),
1039 ## 0, 0, self, 'webbrowser_view_zoom_text_only') 1049 ## 0, 0, self, 'webbrowser_view_zoom_text_only')
1137 ## if not self.__initShortcutsOnly: 1147 ## if not self.__initShortcutsOnly:
1138 ## self.acceptedLanguagesAct.triggered.connect( 1148 ## self.acceptedLanguagesAct.triggered.connect(
1139 ## self.__showAcceptedLanguages) 1149 ## self.__showAcceptedLanguages)
1140 ## self.__actions.append(self.acceptedLanguagesAct) 1150 ## self.__actions.append(self.acceptedLanguagesAct)
1141 1151
1152 # TODO: Cookies
1142 ## self.cookiesAct = E5Action( 1153 ## self.cookiesAct = E5Action(
1143 ## self.tr('Cookies'), 1154 ## self.tr('Cookies'),
1144 ## UI.PixmapCache.getIcon("cookie.png"), 1155 ## UI.PixmapCache.getIcon("cookie.png"),
1145 ## self.tr('C&ookies...'), 0, 0, self, 'webbrowser_cookies') 1156 ## self.tr('C&ookies...'), 0, 0, self, 'webbrowser_cookies')
1146 ## self.cookiesAct.setStatusTip(self.tr( 1157 ## self.cookiesAct.setStatusTip(self.tr(
1152 ## if not self.__initShortcutsOnly: 1163 ## if not self.__initShortcutsOnly:
1153 ## self.cookiesAct.triggered.connect( 1164 ## self.cookiesAct.triggered.connect(
1154 ## self.__showCookiesConfiguration) 1165 ## self.__showCookiesConfiguration)
1155 ## self.__actions.append(self.cookiesAct) 1166 ## self.__actions.append(self.cookiesAct)
1156 1167
1157 # TODO: re-enable once Flash Cookies stuff is done 1168 # TODO: Flash Cookies
1158 ## self.flashCookiesAct = E5Action( 1169 ## self.flashCookiesAct = E5Action(
1159 ## self.tr('Flash Cookies'), 1170 ## self.tr('Flash Cookies'),
1160 ## UI.PixmapCache.getIcon("flashCookie.png"), 1171 ## UI.PixmapCache.getIcon("flashCookie.png"),
1161 ## self.tr('&Flash Cookies...'), 0, 0, self, 'webbrowser_flash_cookies') 1172 ## self.tr('&Flash Cookies...'), 0, 0, self, 'webbrowser_flash_cookies')
1162 ## self.flashCookiesAct.setStatusTip(self.tr( 1173 ## self.flashCookiesAct.setStatusTip(self.tr(
1238 if not self.__initShortcutsOnly: 1249 if not self.__initShortcutsOnly:
1239 self.editMessageFilterAct.triggered.connect( 1250 self.editMessageFilterAct.triggered.connect(
1240 E5ErrorMessage.editMessageFilters) 1251 E5ErrorMessage.editMessageFilters)
1241 self.__actions.append(self.editMessageFilterAct) 1252 self.__actions.append(self.editMessageFilterAct)
1242 1253
1243 # TODO: re-enable once feature permission stuff is done 1254 # TODO: Feature Permission
1244 ## self.featurePermissionAct = E5Action( 1255 ## self.featurePermissionAct = E5Action(
1245 ## self.tr('Edit HTML5 Feature Permissions'), 1256 ## self.tr('Edit HTML5 Feature Permissions'),
1246 ## UI.PixmapCache.getIcon("featurePermission.png"), 1257 ## UI.PixmapCache.getIcon("featurePermission.png"),
1247 ## self.tr('Edit HTML5 Feature Permissions...'), 0, 0, self, 1258 ## self.tr('Edit HTML5 Feature Permissions...'), 0, 0, self,
1248 ## 'webbrowser_edit_feature_permissions') 1259 ## 'webbrowser_edit_feature_permissions')
1396 ## )) 1407 ## ))
1397 ## if not self.__initShortcutsOnly: 1408 ## if not self.__initShortcutsOnly:
1398 ## self.clearIconsAct.triggered.connect(self.__clearIconsDatabase) 1409 ## self.clearIconsAct.triggered.connect(self.__clearIconsDatabase)
1399 ## self.__actions.append(self.clearIconsAct) 1410 ## self.__actions.append(self.clearIconsAct)
1400 1411
1401 # TODO: re-enable once search engines have been done 1412 # TODO: Open Search
1402 ## self.searchEnginesAct = E5Action( 1413 ## self.searchEnginesAct = E5Action(
1403 ## self.tr('Configure Search Engines'), 1414 ## self.tr('Configure Search Engines'),
1404 ## self.tr('Configure Search &Engines...'), 1415 ## self.tr('Configure Search &Engines...'),
1405 ## 0, 0, 1416 ## 0, 0,
1406 ## self, 'webbrowser_search_engines') 1417 ## self, 'webbrowser_search_engines')
1414 ## if not self.__initShortcutsOnly: 1425 ## if not self.__initShortcutsOnly:
1415 ## self.searchEnginesAct.triggered.connect( 1426 ## self.searchEnginesAct.triggered.connect(
1416 ## self.__showEnginesConfigurationDialog) 1427 ## self.__showEnginesConfigurationDialog)
1417 ## self.__actions.append(self.searchEnginesAct) 1428 ## self.__actions.append(self.searchEnginesAct)
1418 1429
1430 # TODO: Passwords
1419 ## self.passwordsAct = E5Action( 1431 ## self.passwordsAct = E5Action(
1420 ## self.tr('Manage Saved Passwords'), 1432 ## self.tr('Manage Saved Passwords'),
1421 ## UI.PixmapCache.getIcon("passwords.png"), 1433 ## UI.PixmapCache.getIcon("passwords.png"),
1422 ## self.tr('Manage Saved Passwords...'), 1434 ## self.tr('Manage Saved Passwords...'),
1423 ## 0, 0, 1435 ## 0, 0,
1430 ## )) 1442 ## ))
1431 ## if not self.__initShortcutsOnly: 1443 ## if not self.__initShortcutsOnly:
1432 ## self.passwordsAct.triggered.connect(self.__showPasswordsDialog) 1444 ## self.passwordsAct.triggered.connect(self.__showPasswordsDialog)
1433 ## self.__actions.append(self.passwordsAct) 1445 ## self.__actions.append(self.passwordsAct)
1434 1446
1447 # TODO: AdBlock
1435 ## self.adblockAct = E5Action( 1448 ## self.adblockAct = E5Action(
1436 ## self.tr('Ad Block'), 1449 ## self.tr('Ad Block'),
1437 ## UI.PixmapCache.getIcon("adBlockPlus.png"), 1450 ## UI.PixmapCache.getIcon("adBlockPlus.png"),
1438 ## self.tr('&Ad Block...'), 1451 ## self.tr('&Ad Block...'),
1439 ## 0, 0, 1452 ## 0, 0,
1447 ## )) 1460 ## ))
1448 ## if not self.__initShortcutsOnly: 1461 ## if not self.__initShortcutsOnly:
1449 ## self.adblockAct.triggered.connect(self.__showAdBlockDialog) 1462 ## self.adblockAct.triggered.connect(self.__showAdBlockDialog)
1450 ## self.__actions.append(self.adblockAct) 1463 ## self.__actions.append(self.adblockAct)
1451 1464
1465 # TODO: Click2Flash (?)
1452 ## self.flashblockAct = E5Action( 1466 ## self.flashblockAct = E5Action(
1453 ## self.tr('ClickToFlash'), 1467 ## self.tr('ClickToFlash'),
1454 ## UI.PixmapCache.getIcon("flashBlock.png"), 1468 ## UI.PixmapCache.getIcon("flashBlock.png"),
1455 ## self.tr('&ClickToFlash...'), 1469 ## self.tr('&ClickToFlash...'),
1456 ## 0, 0, 1470 ## 0, 0,
1465 ## if not self.__initShortcutsOnly: 1479 ## if not self.__initShortcutsOnly:
1466 ## self.flashblockAct.triggered.connect( 1480 ## self.flashblockAct.triggered.connect(
1467 ## self.__showClickToFlashDialog) 1481 ## self.__showClickToFlashDialog)
1468 ## self.__actions.append(self.flashblockAct) 1482 ## self.__actions.append(self.flashblockAct)
1469 1483
1484 # TODO: Certificates
1470 ## if SSL_AVAILABLE: 1485 ## if SSL_AVAILABLE:
1471 ## self.certificatesAct = E5Action( 1486 ## self.certificatesAct = E5Action(
1472 ## self.tr('Manage SSL Certificates'), 1487 ## self.tr('Manage SSL Certificates'),
1473 ## UI.PixmapCache.getIcon("certificates.png"), 1488 ## UI.PixmapCache.getIcon("certificates.png"),
1474 ## self.tr('Manage SSL Certificates...'), 1489 ## self.tr('Manage SSL Certificates...'),
1484 ## if not self.__initShortcutsOnly: 1499 ## if not self.__initShortcutsOnly:
1485 ## self.certificatesAct.triggered.connect( 1500 ## self.certificatesAct.triggered.connect(
1486 ## self.__showCertificatesDialog) 1501 ## self.__showCertificatesDialog)
1487 ## self.__actions.append(self.certificatesAct) 1502 ## self.__actions.append(self.certificatesAct)
1488 1503
1504 # TODO: Network Monitor (?)
1489 ## self.toolsMonitorAct = E5Action( 1505 ## self.toolsMonitorAct = E5Action(
1490 ## self.tr('Network Monitor'), 1506 ## self.tr('Network Monitor'),
1491 ## self.tr('&Network Monitor...'), 1507 ## self.tr('&Network Monitor...'),
1492 ## 0, 0, 1508 ## 0, 0,
1493 ## self, 'webbrowser_tools_network_monitor') 1509 ## self, 'webbrowser_tools_network_monitor')
1500 ## if not self.__initShortcutsOnly: 1516 ## if not self.__initShortcutsOnly:
1501 ## self.toolsMonitorAct.triggered.connect( 1517 ## self.toolsMonitorAct.triggered.connect(
1502 ## self.__showNetworkMonitor) 1518 ## self.__showNetworkMonitor)
1503 ## self.__actions.append(self.toolsMonitorAct) 1519 ## self.__actions.append(self.toolsMonitorAct)
1504 1520
1505 # TODO: re-enable once Download Manager has been done 1521 # TODO: Download Manager
1506 ## self.showDownloadManagerAct = E5Action( 1522 ## self.showDownloadManagerAct = E5Action(
1507 ## self.tr('Downloads'), 1523 ## self.tr('Downloads'),
1508 ## self.tr('Downloads'), 1524 ## self.tr('Downloads'),
1509 ## 0, 0, self, 'webbrowser_show_downloads') 1525 ## 0, 0, self, 'webbrowser_show_downloads')
1510 ## self.showDownloadManagerAct.setStatusTip(self.tr( 1526 ## self.showDownloadManagerAct.setStatusTip(self.tr(
1516 ## if not self.__initShortcutsOnly: 1532 ## if not self.__initShortcutsOnly:
1517 ## self.showDownloadManagerAct.triggered.connect( 1533 ## self.showDownloadManagerAct.triggered.connect(
1518 ## self.__showDownloadsWindow) 1534 ## self.__showDownloadsWindow)
1519 ## self.__actions.append(self.showDownloadManagerAct) 1535 ## self.__actions.append(self.showDownloadManagerAct)
1520 1536
1521 # TODO: re-enable once RSS Feeds Manager has been done 1537 # TODO: RSS Feeds Manager
1522 ## self.feedsManagerAct = E5Action( 1538 ## self.feedsManagerAct = E5Action(
1523 ## self.tr('RSS Feeds Dialog'), 1539 ## self.tr('RSS Feeds Dialog'),
1524 ## UI.PixmapCache.getIcon("rss22.png"), 1540 ## UI.PixmapCache.getIcon("rss22.png"),
1525 ## self.tr('&RSS Feeds Dialog...'), 1541 ## self.tr('&RSS Feeds Dialog...'),
1526 ## QKeySequence(self.tr("Ctrl+Shift+F", "Help|RSS Feeds Dialog")), 1542 ## QKeySequence(self.tr("Ctrl+Shift+F", "Help|RSS Feeds Dialog")),
1535 ## )) 1551 ## ))
1536 ## if not self.__initShortcutsOnly: 1552 ## if not self.__initShortcutsOnly:
1537 ## self.feedsManagerAct.triggered.connect(self.__showFeedsManager) 1553 ## self.feedsManagerAct.triggered.connect(self.__showFeedsManager)
1538 ## self.__actions.append(self.feedsManagerAct) 1554 ## self.__actions.append(self.feedsManagerAct)
1539 1555
1556 # TODO: Site Info
1540 ## self.siteInfoAct = E5Action( 1557 ## self.siteInfoAct = E5Action(
1541 ## self.tr('Siteinfo Dialog'), 1558 ## self.tr('Siteinfo Dialog'),
1542 ## UI.PixmapCache.getIcon("helpAbout.png"), 1559 ## UI.PixmapCache.getIcon("helpAbout.png"),
1543 ## self.tr('&Siteinfo Dialog...'), 1560 ## self.tr('&Siteinfo Dialog...'),
1544 ## QKeySequence(self.tr("Ctrl+Shift+I", "Help|Siteinfo Dialog")), 1561 ## QKeySequence(self.tr("Ctrl+Shift+I", "Help|Siteinfo Dialog")),
1552 ## )) 1569 ## ))
1553 ## if not self.__initShortcutsOnly: 1570 ## if not self.__initShortcutsOnly:
1554 ## self.siteInfoAct.triggered.connect(self.__showSiteinfoDialog) 1571 ## self.siteInfoAct.triggered.connect(self.__showSiteinfoDialog)
1555 ## self.__actions.append(self.siteInfoAct) 1572 ## self.__actions.append(self.siteInfoAct)
1556 1573
1574 # TODO: User Agents
1557 ## self.userAgentManagerAct = E5Action( 1575 ## self.userAgentManagerAct = E5Action(
1558 ## self.tr('Manage User Agent Settings'), 1576 ## self.tr('Manage User Agent Settings'),
1559 ## self.tr('Manage &User Agent Settings'), 1577 ## self.tr('Manage &User Agent Settings'),
1560 ## 0, 0, self, 'webbrowser_user_agent_settings') 1578 ## 0, 0, self, 'webbrowser_user_agent_settings')
1561 ## self.userAgentManagerAct.setStatusTip(self.tr( 1579 ## self.userAgentManagerAct.setStatusTip(self.tr(
1567 ## if not self.__initShortcutsOnly: 1585 ## if not self.__initShortcutsOnly:
1568 ## self.userAgentManagerAct.triggered.connect( 1586 ## self.userAgentManagerAct.triggered.connect(
1569 ## self.__showUserAgentsDialog) 1587 ## self.__showUserAgentsDialog)
1570 ## self.__actions.append(self.userAgentManagerAct) 1588 ## self.__actions.append(self.userAgentManagerAct)
1571 1589
1590 # TODO: Synchronisation
1572 ## self.synchronizationAct = E5Action( 1591 ## self.synchronizationAct = E5Action(
1573 ## self.tr('Synchronize data'), 1592 ## self.tr('Synchronize data'),
1574 ## UI.PixmapCache.getIcon("sync.png"), 1593 ## UI.PixmapCache.getIcon("sync.png"),
1575 ## self.tr('&Synchronize Data...'), 1594 ## self.tr('&Synchronize Data...'),
1576 ## 0, 0, self, 'webbrowser_synchronize_data') 1595 ## 0, 0, self, 'webbrowser_synchronize_data')
1584 ## if not self.__initShortcutsOnly: 1603 ## if not self.__initShortcutsOnly:
1585 ## self.synchronizationAct.triggered.connect( 1604 ## self.synchronizationAct.triggered.connect(
1586 ## self.__showSyncDialog) 1605 ## self.__showSyncDialog)
1587 ## self.__actions.append(self.synchronizationAct) 1606 ## self.__actions.append(self.synchronizationAct)
1588 1607
1589 # TODO: re-enable once zoom stuff is done 1608 # TODO: Zoom Manager
1590 ## self.zoomValuesAct = E5Action( 1609 ## self.zoomValuesAct = E5Action(
1591 ## self.tr('Manage Saved Zoom Values'), 1610 ## self.tr('Manage Saved Zoom Values'),
1592 ## UI.PixmapCache.getIcon("zoomReset.png"), 1611 ## UI.PixmapCache.getIcon("zoomReset.png"),
1593 ## self.tr('Manage Saved Zoom Values...'), 1612 ## self.tr('Manage Saved Zoom Values...'),
1594 ## 0, 0, 1613 ## 0, 0,
1675 menu.addAction(self.forwardAct) 1694 menu.addAction(self.forwardAct)
1676 menu.addAction(self.homeAct) 1695 menu.addAction(self.homeAct)
1677 menu.addSeparator() 1696 menu.addSeparator()
1678 menu.addAction(self.stopAct) 1697 menu.addAction(self.stopAct)
1679 menu.addAction(self.reloadAct) 1698 menu.addAction(self.reloadAct)
1699 # TODO: QtHelp
1680 ## if WebBrowserWindow.UseQtHelp: 1700 ## if WebBrowserWindow.UseQtHelp:
1681 ## menu.addSeparator() 1701 ## menu.addSeparator()
1682 ## menu.addAction(self.syncTocAct) 1702 ## menu.addAction(self.syncTocAct)
1683 1703
1684 # TODO: re-enable once History stuff is done 1704 # TODO: History
1685 ## from .History.HistoryMenu import HistoryMenu 1705 ## from .History.HistoryMenu import HistoryMenu
1686 ## self.historyMenu = HistoryMenu(self, self.__tabWidget) 1706 ## self.historyMenu = HistoryMenu(self, self.__tabWidget)
1687 ## self.historyMenu.setTearOffEnabled(True) 1707 ## self.historyMenu.setTearOffEnabled(True)
1688 ## self.historyMenu.setTitle(self.tr('H&istory')) 1708 ## self.historyMenu.setTitle(self.tr('H&istory'))
1689 ## self.historyMenu.openUrl.connect(self.openUrl) 1709 ## self.historyMenu.openUrl.connect(self.openUrl)
1690 ## self.historyMenu.newUrl.connect(self.openUrlNewTab) 1710 ## self.historyMenu.newUrl.connect(self.openUrlNewTab)
1691 ## mb.addMenu(self.historyMenu) 1711 ## mb.addMenu(self.historyMenu)
1692 1712
1693 # TODO: re-enable once Bookmarks stuff is done 1713 # TODO: Bookmarks
1694 ## from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu 1714 ## from .Bookmarks.BookmarksMenu import BookmarksMenuBarMenu
1695 ## self.bookmarksMenu = BookmarksMenuBarMenu(self) 1715 ## self.bookmarksMenu = BookmarksMenuBarMenu(self)
1696 ## self.bookmarksMenu.setTearOffEnabled(True) 1716 ## self.bookmarksMenu.setTearOffEnabled(True)
1697 ## self.bookmarksMenu.setTitle(self.tr('&Bookmarks')) 1717 ## self.bookmarksMenu.setTitle(self.tr('&Bookmarks'))
1698 ## self.bookmarksMenu.openUrl.connect(self.openUrl) 1718 ## self.bookmarksMenu.openUrl.connect(self.openUrl)
1887 ## sizePolicy.setHorizontalStretch(2) 1907 ## sizePolicy.setHorizontalStretch(2)
1888 ## sizePolicy.setVerticalStretch(0) 1908 ## sizePolicy.setVerticalStretch(0)
1889 ## self.searchEdit.setSizePolicy(sizePolicy) 1909 ## self.searchEdit.setSizePolicy(sizePolicy)
1890 ## self.searchEdit.search.connect(self.__linkActivated) 1910 ## self.searchEdit.search.connect(self.__linkActivated)
1891 ## self.__navigationSplitter.addWidget(self.searchEdit) 1911 ## self.__navigationSplitter.addWidget(self.searchEdit)
1892 ## gotb.addWidget(self.__navigationSplitter) 1912 gotb.addWidget(self.__navigationSplitter)
1893 1913
1894 self.__navigationSplitter.setSizePolicy( 1914 self.__navigationSplitter.setSizePolicy(
1895 QSizePolicy.Expanding, QSizePolicy.Maximum) 1915 QSizePolicy.Expanding, QSizePolicy.Maximum)
1896 self.__navigationSplitter.setCollapsible(0, False) 1916 self.__navigationSplitter.setCollapsible(0, False)
1897 1917
2371 """ 2391 """
2372 Private slot called to handle loading of the current page. 2392 Private slot called to handle loading of the current page.
2373 """ 2393 """
2374 self.currentBrowser().stop() 2394 self.currentBrowser().stop()
2375 2395
2376 ## def __zoomValueChanged(self, value): 2396 def __zoomValueChanged(self, value):
2377 ## """ 2397 """
2378 ## Private slot to handle value changes of the zoom widget. 2398 Private slot to handle value changes of the zoom widget.
2379 ## 2399
2380 ## @param value zoom value (integer) 2400 @param value zoom value (integer)
2381 ## """ 2401 """
2382 ## self.currentBrowser().setZoomValue(value) 2402 self.currentBrowser().setZoomValue(value)
2383 ## 2403
2384 ## def __zoomIn(self): 2404 def __zoomIn(self):
2385 ## """ 2405 """
2386 ## Private slot called to handle the zoom in action. 2406 Private slot called to handle the zoom in action.
2387 ## """ 2407 """
2388 ## self.currentBrowser().zoomIn() 2408 self.currentBrowser().zoomIn()
2389 ## self.__zoomWidget.setValue(self.currentBrowser().zoomValue()) 2409 self.__zoomWidget.setValue(self.currentBrowser().zoomValue())
2390 ## 2410
2391 ## def __zoomOut(self): 2411 def __zoomOut(self):
2392 ## """ 2412 """
2393 ## Private slot called to handle the zoom out action. 2413 Private slot called to handle the zoom out action.
2394 ## """ 2414 """
2395 ## self.currentBrowser().zoomOut() 2415 self.currentBrowser().zoomOut()
2396 ## self.__zoomWidget.setValue(self.currentBrowser().zoomValue()) 2416 self.__zoomWidget.setValue(self.currentBrowser().zoomValue())
2397 ## 2417
2398 ## def __zoomReset(self): 2418 def __zoomReset(self):
2399 ## """ 2419 """
2400 ## Private slot called to handle the zoom reset action. 2420 Private slot called to handle the zoom reset action.
2401 ## """ 2421 """
2402 ## self.currentBrowser().zoomReset() 2422 self.currentBrowser().zoomReset()
2403 ## self.__zoomWidget.setValue(self.currentBrowser().zoomValue()) 2423 self.__zoomWidget.setValue(self.currentBrowser().zoomValue())
2404 ## 2424
2405 ## def __zoomTextOnly(self, textOnly): 2425 ## def __zoomTextOnly(self, textOnly):
2406 ## """ 2426 ## """
2407 ## Private slot called to handle the zoom text only action. 2427 ## Private slot called to handle the zoom text only action.
2408 ## 2428 ##
2409 ## @param textOnly flag indicating to zoom text only (boolean) 2429 ## @param textOnly flag indicating to zoom text only (boolean)
2519 cb = self.currentBrowser() 2539 cb = self.currentBrowser()
2520 if cb is not None: 2540 if cb is not None:
2521 self.setForwardAvailable(cb.isForwardAvailable()) 2541 self.setForwardAvailable(cb.isForwardAvailable())
2522 self.setBackwardAvailable(cb.isBackwardAvailable()) 2542 self.setBackwardAvailable(cb.isBackwardAvailable())
2523 self.setLoadingActions(cb.isLoading()) 2543 self.setLoadingActions(cb.isLoading())
2524 ## 2544
2525 ## # set value of zoom widget 2545 # set value of zoom widget
2526 ## self.__zoomWidget.setValue(cb.zoomValue()) 2546 self.__zoomWidget.setValue(cb.zoomValue())
2527 2547
2528 def __showPreferences(self): 2548 def __showPreferences(self):
2529 """ 2549 """
2530 Private slot to set the preferences. 2550 Private slot to set the preferences.
2531 """ 2551 """

eric ide

mercurial