Sun, 31 Dec 2017 18:27:40 +0100
Merged with default branch to prepare a new release.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5921
diff
changeset
|
3 | # Copyright (c) 2008 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
8 | Module implementing the web browser using QWebEngineView. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3080
diff
changeset
|
11 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2432
diff
changeset
|
12 | try: |
5624
cdd346d8858b
Removed a bunch of __IGNORE_WARNING_M131__ markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5587
diff
changeset
|
13 | str = unicode # __IGNORE_EXCEPTION__ |
3484 | 14 | except NameError: |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2432
diff
changeset
|
15 | pass |
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2432
diff
changeset
|
16 | |
5194
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
17 | import os |
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
18 | |
5920
e47dd106c3d6
Fixed a few issues in the QWebEngine based web browser detected on Ubuntu 17.10.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5867
diff
changeset
|
19 | from PyQt5.QtCore import pyqtSignal, PYQT_VERSION, Qt, QUrl, QFileInfo, \ |
e47dd106c3d6
Fixed a few issues in the QWebEngine based web browser detected on Ubuntu 17.10.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5867
diff
changeset
|
20 | QTimer, QEvent, QPoint, QPointF, QDateTime, QStandardPaths, QByteArray, \ |
e47dd106c3d6
Fixed a few issues in the QWebEngine based web browser detected on Ubuntu 17.10.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5867
diff
changeset
|
21 | QIODevice, QDataStream |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
22 | from PyQt5.QtGui import QDesktopServices, QClipboard, QIcon, \ |
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
23 | QContextMenuEvent, QPixmap |
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
24 | from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
25 | from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage, \ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
26 | QWebEngineDownloadItem |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
28 | from E5Gui import E5MessageBox, E5FileDialog |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
535
diff
changeset
|
29 | |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
30 | from WebBrowser.WebBrowserWindow import WebBrowserWindow |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
31 | from .WebBrowserPage import WebBrowserPage |
4355
40ec6bef4c22
Started to implement the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4353
diff
changeset
|
32 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
33 | from .Tools.WebIconLoader import WebIconLoader |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
34 | from .Tools import Scripts |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
35 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
36 | from . import WebInspector |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
37 | from .Tools.WebBrowserTools import readAllFileContents, pixmapToDataUrl |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
38 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | import Preferences |
978
11f8adbcac97
Added an interface to VirusTotal to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
952
diff
changeset
|
40 | import UI.PixmapCache |
5194
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
41 | import Utilities |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5721
diff
changeset
|
42 | from Globals import qVersionTuple |
1960
d8c45fe8a1b9
Reworked some of the AdBlock code to achieve some speed improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1953
diff
changeset
|
43 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
44 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
45 | class WebBrowserView(QWebEngineView): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
47 | Class implementing the web browser view widget. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
487
diff
changeset
|
49 | @signal sourceChanged(QUrl) emitted after the current URL has changed |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | @signal forwardAvailable(bool) emitted after the current URL has changed |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | @signal backwardAvailable(bool) emitted after the current URL has changed |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
487
diff
changeset
|
52 | @signal highlighted(str) emitted, when the mouse hovers over a link |
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
487
diff
changeset
|
53 | @signal search(QUrl) emitted, when a search is requested |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
54 | @signal zoomValueChanged(int) emitted to signal a change of the zoom value |
5039
200f12184a43
Renamed the iconChanged signal of WebBrowserView to faviconChanged in order to get rid of a name clash with Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5038
diff
changeset
|
55 | @signal faviconChanged() emitted to signal a changed web site icon |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
56 | @signal safeBrowsingAbort() emitted to indicate an abort due to a safe |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
57 | browsing event |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
58 | @signal safeBrowsingBad(threatType, threatMessages) emitted to indicate a |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
59 | malicious web site as determined by safe browsing |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
61 | sourceChanged = pyqtSignal(QUrl) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
62 | forwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
63 | backwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
64 | highlighted = pyqtSignal(str) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
65 | search = pyqtSignal(QUrl) |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
66 | zoomValueChanged = pyqtSignal(int) |
5039
200f12184a43
Renamed the iconChanged signal of WebBrowserView to faviconChanged in order to get rid of a name clash with Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5038
diff
changeset
|
67 | faviconChanged = pyqtSignal() |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
68 | safeBrowsingAbort = pyqtSignal() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
69 | safeBrowsingBad = pyqtSignal(str, str) |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
70 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
71 | ZoomLevels = [ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
72 | 30, 40, 50, 67, 80, 90, |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
73 | 100, |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
74 | 110, 120, 133, 150, 170, 200, 220, 233, 250, 270, 285, 300, |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
75 | ] |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
76 | ZoomLevelDefault = 100 |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
77 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
78 | def __init__(self, mainWindow, parent=None, name=""): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
82 | @param mainWindow reference to the main window (WebBrowserWindow) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | @param parent parent widget of this window (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | @param name name of this window (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
86 | super(WebBrowserView, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | self.setObjectName(name) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
88 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
89 | self.__rwhvqt = None |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
90 | self.installEventFilter(self) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
91 | |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4865
diff
changeset
|
92 | self.__speedDial = WebBrowserWindow.speedDial() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
94 | self.__page = None |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
95 | self.__createNewPage() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
97 | self.__mw = mainWindow |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | self.__isLoading = False |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
99 | self.__progress = 0 |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
100 | self.__siteIconLoader = None |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
101 | self.__siteIcon = QIcon() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
102 | self.__menu = QMenu(self) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
103 | self.__clickedPos = QPoint() |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
104 | self.__firstLoad = False |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
105 | self.__preview = QPixmap() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | self.__currentZoom = 100 |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
108 | self.__zoomLevels = WebBrowserView.ZoomLevels[:] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
110 | self.iconUrlChanged.connect(self.__iconUrlChanged) |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
111 | self.urlChanged.connect(self.__urlChanged) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
112 | self.page().linkHovered.connect(self.__linkHovered) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
114 | self.loadStarted.connect(self.__loadStarted) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
115 | self.loadProgress.connect(self.__loadProgress) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
116 | self.loadFinished.connect(self.__loadFinished) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
117 | self.renderProcessTerminated.connect(self.__renderProcessTerminated) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
119 | self.__mw.openSearchManager().currentEngineChanged.connect( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
120 | self.__currentEngineChanged) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
121 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
122 | self.setAcceptDrops(True) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
123 | |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
124 | self.__rss = [] |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
125 | |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
126 | self.__clickedFrame = None |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
127 | |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
128 | self.__mw.personalInformationManager().connectPage(self.page()) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
129 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
130 | self.__inspector = None |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
131 | WebInspector.registerView(self) |
4341
1ff0929aab09
Added our own web inspector window to overcome a Qt weekness.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4326
diff
changeset
|
132 | |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
133 | self.__restoreData = None |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
134 | |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5721
diff
changeset
|
135 | if qVersionTuple() >= (5, 8, 0): |
5719
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
136 | if self.parentWidget() is not None: |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
137 | self.parentWidget().installEventFilter(self) |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
138 | |
5630
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
139 | lay = self.layout() |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
140 | lay.currentChanged.connect( |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
141 | lambda: QTimer.singleShot(0, self.__setRwhvqt)) |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
142 | self.__setRwhvqt() |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
143 | |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
144 | self.grabGesture(Qt.PinchGesture) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
146 | def __createNewPage(self): |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
147 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
148 | Private method to create a new page object. |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
149 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
150 | self.__page = WebBrowserPage(self) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
151 | self.setPage(self.__page) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
152 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
153 | self.__page.safeBrowsingAbort.connect(self.safeBrowsingAbort) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
154 | self.__page.safeBrowsingBad.connect(self.safeBrowsingBad) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
155 | |
5630
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
156 | def __setRwhvqt(self): |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
157 | """ |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
158 | Private slot to set widget that receives input events. |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
159 | """ |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
160 | self.grabGesture(Qt.PinchGesture) |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
161 | self.__rwhvqt = self.focusProxy() |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
162 | if self.__rwhvqt: |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
163 | self.__rwhvqt.grabGesture(Qt.PinchGesture) |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
164 | self.__rwhvqt.installEventFilter(self) |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
165 | else: |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
166 | print("Focus proxy is null!") # __IGNORE_WARNING_M801__ |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
167 | |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
168 | def __currentEngineChanged(self): |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
169 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
170 | Private slot to track a change of the current search engine. |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
171 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
172 | if self.url().toString() == "eric:home": |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
173 | self.reload() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
175 | def mainWindow(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
176 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
177 | Public method to get a reference to the main window. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
178 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
179 | @return reference to the main window |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
180 | @rtype WebBrowserWindow |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
181 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
182 | return self.__mw |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
183 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
184 | def load(self, url): |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
185 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
186 | Public method to load a web site. |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
187 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
188 | @param url URL to be loaded |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
189 | @type QUrl |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
190 | """ |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
191 | super(WebBrowserView, self).load(url) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
192 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
193 | if not self.__firstLoad: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
194 | self.__firstLoad = True |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
195 | WebInspector.pushView(self) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
196 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
197 | def setSource(self, name, newTab=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | Public method used to set the source to be displayed. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | @param name filename to be shown (QUrl) |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
202 | @param newTab flag indicating to open the URL in a new tab (bool) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
204 | if name is None or not name.isValid(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
207 | if newTab: |
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
208 | # open in a new tab |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
209 | self.__mw.newTab(name) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | |
5195
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
212 | if not name.scheme(): |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
213 | if not os.path.exists(name.toString()): |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
214 | name.setScheme(Preferences.getWebBrowser("DefaultScheme")) |
5194
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
215 | else: |
5195
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
216 | if Utilities.isWindowsPlatform(): |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
217 | name.setUrl("file:///" + Utilities.fromNativeSeparators( |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
218 | name.toString())) |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
219 | else: |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
220 | name.setUrl("file://" + name.toString()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | if len(name.scheme()) == 1 or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | name.scheme() == "file": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | # name is a local file |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | if name.scheme() and len(name.scheme()) == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | # it is a local path on win os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | name = QUrl.fromLocalFile(name.toString()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | if not QFileInfo(name.toLocalFile()).exists(): |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
230 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
231 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
232 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
233 | self.tr( |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
234 | """<p>The file <b>{0}</b> does not exist.</p>""") |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
235 | .format(name.toLocalFile())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | |
5194
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
238 | if name.toLocalFile().lower().endswith((".pdf", ".chm")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
241 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
242 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
243 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
244 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
245 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
246 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
247 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | return |
278
c93823b96faa
Added a handler for ftp: URLs to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
260
diff
changeset
|
249 | elif name.scheme() in ["mailto"]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
252 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
253 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
254 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
255 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
256 | """<p>Could not start an application""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
257 | """ for URL <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
258 | .format(name.toString())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | else: |
5194
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
261 | if name.toString().lower().endswith((".pdf", ".chm")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
264 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
265 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
266 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
267 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
268 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
269 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
270 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
273 | self.load(name) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | def source(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | Public method to return the URL of the loaded page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | @return URL loaded in the help browser (QUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | return self.url() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | def documentTitle(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | Public method to return the title of the loaded page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | @return title (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | return self.title() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | def backward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | Public slot to move backwards in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
295 | self.triggerPageAction(QWebEnginePage.Back) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | def forward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | Public slot to move forward in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
302 | self.triggerPageAction(QWebEnginePage.Forward) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | def home(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | Public slot to move to the first page loaded. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
309 | homeUrl = QUrl(Preferences.getWebBrowser("HomePage")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | self.setSource(homeUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | def reload(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | Public slot to reload the current page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
317 | self.triggerPageAction(QWebEnginePage.Reload) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | |
4791
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
319 | def reloadBypassingCache(self): |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
320 | """ |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
321 | Public slot to reload the current page bypassing the cache. |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
322 | """ |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
323 | self.triggerPageAction(QWebEnginePage.ReloadAndBypassCache) |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
324 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | def copy(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | Public slot to copy the selected text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
329 | self.triggerPageAction(QWebEnginePage.Copy) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
331 | def cut(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
332 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
333 | Public slot to cut the selected text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
334 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
335 | self.triggerPageAction(QWebEnginePage.Cut) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
336 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
337 | def paste(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
338 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
339 | Public slot to paste text from the clipboard. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
340 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
341 | self.triggerPageAction(QWebEnginePage.Paste) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
342 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
343 | def undo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
344 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
345 | Public slot to undo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
346 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
347 | self.triggerPageAction(QWebEnginePage.Undo) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
348 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
349 | def redo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
350 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
351 | Public slot to redo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
352 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
353 | self.triggerPageAction(QWebEnginePage.Redo) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
354 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
355 | def selectAll(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
356 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
357 | Public slot to select all text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
358 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
359 | self.triggerPageAction(QWebEnginePage.SelectAll) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
360 | |
5038
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
361 | def unselect(self): |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
362 | """ |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
363 | Public slot to clear the current selection. |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
364 | """ |
5921
d4797da58218
Some more fixes for the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5920
diff
changeset
|
365 | try: |
5194
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
366 | self.triggerPageAction(QWebEnginePage.Unselect) |
5921
d4797da58218
Some more fixes for the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5920
diff
changeset
|
367 | except AttributeError: |
d4797da58218
Some more fixes for the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5920
diff
changeset
|
368 | # prior to 5.7.0 |
5194
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
369 | self.page().runJavaScript( |
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
370 | "window.getSelection().empty()", |
4750c83cc718
Added an 'unselect' alternative for Qt < 5.7.0 to the new web browser and added possibility to save the current page in various formats.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5039
diff
changeset
|
371 | WebBrowserPage.SafeJsWorld) |
5038
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
372 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | def isForwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | Public method to determine, if a forward move in history is possible. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | @return flag indicating move forward is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | return self.history().canGoForward() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | def isBackwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | Public method to determine, if a backwards move in history is possible. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | @return flag indicating move backwards is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | return self.history().canGoBack() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | def __levelForZoom(self, zoom): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | Private method determining the zoom level index given a zoom factor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | @param zoom zoom factor (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | @return index of zoom factor (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | index = self.__zoomLevels.index(zoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | except ValueError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | for index in range(len(self.__zoomLevels)): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | if zoom <= self.__zoomLevels[index]: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | return index |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | |
4612
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
404 | def setZoomValue(self, value, saveValue=True): |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
405 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
406 | Public method to set the zoom value. |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
407 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
408 | @param value zoom value (integer) |
4612
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
409 | @keyparam saveValue flag indicating to save the zoom value with the |
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
410 | zoom manager |
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
411 | @type bool |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
412 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
413 | if value != self.__currentZoom: |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
414 | self.setZoomFactor(value / 100.0) |
4612
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
415 | self.__currentZoom = value |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
416 | if saveValue and not self.__mw.isPrivate(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
417 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
418 | ZoomManager.instance().setZoomValue(self.url(), value) |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
419 | self.zoomValueChanged.emit(value) |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
420 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
421 | def zoomValue(self): |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
422 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
423 | Public method to get the current zoom value. |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
424 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
425 | @return zoom value (integer) |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
426 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
427 | val = self.zoomFactor() * 100 |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
428 | return int(val) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | def zoomIn(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | Public slot to zoom into the page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | if index < len(self.__zoomLevels) - 1: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
436 | self.setZoomValue(self.__zoomLevels[index + 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | def zoomOut(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | Public slot to zoom out of the page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | if index > 0: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
444 | self.setZoomValue(self.__zoomLevels[index - 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
446 | def zoomReset(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | Public method to reset the zoom factor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
450 | index = self.__levelForZoom(WebBrowserView.ZoomLevelDefault) |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
451 | self.setZoomValue(self.__zoomLevels[index]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | |
4925
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
453 | def mapToViewport(self, pos): |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
454 | """ |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
455 | Public method to map a position to the viewport. |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
456 | |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
457 | @param pos position to be mapped |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
458 | @type QPoint |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
459 | @return viewport position |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
460 | @rtype QPoint |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
461 | """ |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
462 | return self.page().mapToViewport(pos) |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
463 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | def hasSelection(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | Public method to determine, if there is some text selected. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | @return flag indicating text has been selected (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | return self.selectedText() != "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | |
4881
c269212cceac
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4880
diff
changeset
|
472 | def findNextPrev(self, txt, case, backwards, callback): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | Public slot to find the next occurrence of a text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | @param txt text to search for (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | @param case flag indicating a case sensitive search (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | @param backwards flag indicating a backwards search (boolean) |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
479 | @param callback reference to a function with a bool parameter |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
480 | @type function(bool) or None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
482 | findFlags = QWebEnginePage.FindFlags() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
483 | if case: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
484 | findFlags |= QWebEnginePage.FindCaseSensitively |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | if backwards: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
486 | findFlags |= QWebEnginePage.FindBackward |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
488 | if callback is None: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
489 | self.findText(txt, findFlags) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
490 | else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
491 | self.findText(txt, findFlags, callback) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | def contextMenuEvent(self, evt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | """ |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
495 | Protected method called to create a context menu. |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
496 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
497 | This method is overridden from QWebEngineView. |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
498 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
499 | @param evt reference to the context menu event object |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
500 | (QContextMenuEvent) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
501 | """ |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
502 | pos = evt.pos() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
503 | reason = evt.reason() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
504 | QTimer.singleShot( |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
505 | 0, |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
506 | lambda: self._contextMenuEvent(QContextMenuEvent(reason, pos))) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
507 | # needs to be done this way because contextMenuEvent is blocking |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
508 | # the main loop |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
509 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
510 | def _contextMenuEvent(self, evt): |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
511 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | Protected method called to create a context menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
514 | This method is overridden from QWebEngineView. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
516 | @param evt reference to the context menu event object |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
517 | (QContextMenuEvent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | """ |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
519 | self.__menu.clear() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
520 | |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
521 | hitTest = self.page().hitTestContent(evt.pos()) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
522 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
523 | self.__createContextMenu(self.__menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
524 | |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
525 | if not hitTest.isContentEditable() and not hitTest.isContentSelected(): |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
526 | self.__menu.addSeparator() |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
527 | self.__menu.addAction(self.__mw.adBlockIcon().menuAction()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
528 | |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
529 | if Preferences.getWebBrowser("WebInspectorEnabled"): |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
530 | self.__menu.addSeparator() |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
531 | self.__menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
532 | UI.PixmapCache.getIcon("webInspector.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
533 | self.tr("Inspect Element..."), self.__webInspector) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
534 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
535 | if not self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
536 | pos = evt.globalPos() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
537 | self.__menu.popup(QPoint(pos.x(), pos.y() + 1)) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
538 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
539 | def __createContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
540 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
541 | Private method to populate the context menu. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
543 | @param menu reference to the menu to be populated |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
544 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
545 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
546 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
547 | """ |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
548 | spellCheckActionCount = 0 |
5921
d4797da58218
Some more fixes for the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5920
diff
changeset
|
549 | if qVersionTuple() >= (5, 7, 0) and PYQT_VERSION >= 0x50700: |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
550 | contextMenuData = self.page().contextMenuData() |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
551 | hitTest.updateWithContextMenuData(contextMenuData) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
552 | |
5920
e47dd106c3d6
Fixed a few issues in the QWebEngine based web browser detected on Ubuntu 17.10.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5867
diff
changeset
|
553 | if qVersionTuple() >= (5, 8, 0) and PYQT_VERSION >= 0x50800 and \ |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
554 | bool(contextMenuData.misspelledWord()): |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
555 | boldFont = menu.font() |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
556 | boldFont.setBold(True) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
557 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
558 | for suggestion in contextMenuData.spellCheckerSuggestions(): |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
559 | act = menu.addAction( |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
560 | suggestion, |
5532
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
561 | self.__replaceMisspelledWord) |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
562 | act.setFont(boldFont) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
563 | |
5867
099008539886
Fixed an issue causing an unwanted entry in the context menu of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
564 | if not bool(menu.actions()): |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
565 | menu.addAction(self.tr("No suggestions")).setEnabled(False) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
566 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
567 | menu.addSeparator() |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
568 | spellCheckActionCount = len(menu.actions()) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
569 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
570 | if not hitTest.linkUrl().isEmpty() and \ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
571 | hitTest.linkUrl().scheme() != "javascript": |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
572 | self.__createLinkContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
573 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
574 | if not hitTest.imageUrl().isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
575 | self.__createImageContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
576 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
577 | if not hitTest.mediaUrl().isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
578 | self.__createMediaContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
579 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
580 | if hitTest.isContentEditable(): |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
581 | # check, if only spell checker actions were added |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
582 | if len(menu.actions()) == spellCheckActionCount: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
583 | menu.addAction(self.__mw.undoAct) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
584 | menu.addAction(self.__mw.redoAct) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
585 | menu.addSeparator() |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
586 | menu.addAction(self.__mw.cutAct) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
587 | menu.addAction(self.__mw.copyAct) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
588 | menu.addAction(self.__mw.pasteAct) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
589 | menu.addSeparator() |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
590 | self.__mw.personalInformationManager().createSubMenu( |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
591 | menu, self, hitTest) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
592 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
593 | if hitTest.tagName() == "input": |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
594 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
595 | act = menu.addAction("") |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
596 | act.setVisible(False) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
597 | self.__checkForForm(act, hitTest.pos()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
598 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
599 | if self.selectedText(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
600 | self.__createSelectedTextContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
601 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
602 | if self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
603 | self.__createPageContextMenu(menu) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
604 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
605 | def __createLinkContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
606 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
607 | Private method to populate the context menu for URLs. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
608 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
609 | @param menu reference to the menu to be populated |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
610 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
611 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
612 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
613 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
614 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
615 | menu.addSeparator() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
617 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
618 | UI.PixmapCache.getIcon("openNewTab.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
619 | self.tr("Open Link in New Tab\tCtrl+LMB"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
620 | self.__openLinkInNewTab).setData(hitTest.linkUrl()) |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
621 | menu.addAction( |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
622 | UI.PixmapCache.getIcon("newWindow.png"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
623 | self.tr("Open Link in New Window"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
624 | self.__openLinkInNewWindow).setData(hitTest.linkUrl()) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
625 | menu.addAction( |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
626 | UI.PixmapCache.getIcon("privateMode.png"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
627 | self.tr("Open Link in New Private Window"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
628 | self.__openLinkInNewPrivateWindow).setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
629 | menu.addSeparator() |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
630 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
631 | UI.PixmapCache.getIcon("download.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
632 | self.tr("Save Lin&k"), self.__downloadLink) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
633 | menu.addAction( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
634 | UI.PixmapCache.getIcon("bookmark22.png"), |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
635 | self.tr("Bookmark this Link"), self.__bookmarkLink)\ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
636 | .setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
637 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
638 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
639 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
640 | self.tr("Copy Link to Clipboard"), self.__copyLink)\ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
641 | .setData(hitTest.linkUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
642 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
643 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
644 | self.tr("Send Link"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
645 | self.__sendLink).setData(hitTest.linkUrl()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
646 | if Preferences.getWebBrowser("VirusTotalEnabled") and \ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
647 | Preferences.getWebBrowser("VirusTotalServiceKey") != "": |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
648 | menu.addAction( |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
649 | UI.PixmapCache.getIcon("virustotal.png"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
650 | self.tr("Scan Link with VirusTotal"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
651 | self.__virusTotal).setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
652 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
653 | def __createImageContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
654 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
655 | Private method to populate the context menu for images. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
656 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
657 | @param menu reference to the menu to be populated |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
658 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
659 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
660 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
661 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
662 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
663 | menu.addSeparator() |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
664 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
665 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
666 | UI.PixmapCache.getIcon("openNewTab.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
667 | self.tr("Open Image in New Tab"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
668 | self.__openLinkInNewTab).setData(hitTest.imageUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
669 | menu.addSeparator() |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
670 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
671 | UI.PixmapCache.getIcon("download.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
672 | self.tr("Save Image"), self.__downloadImage) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
673 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
674 | self.tr("Copy Image to Clipboard"), self.__copyImage) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
675 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
676 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
677 | self.tr("Copy Image Location to Clipboard"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
678 | self.__copyLink).setData(hitTest.imageUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
679 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
680 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
681 | self.tr("Send Image Link"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
682 | self.__sendLink).setData(hitTest.imageUrl()) |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
683 | |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
684 | if hitTest.imageUrl().scheme() in ["http", "https"]: |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
685 | menu.addSeparator() |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
686 | engine = WebBrowserWindow.imageSearchEngine() |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
687 | searchEngineName = engine.searchEngine() |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
688 | menu.addAction( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
689 | UI.PixmapCache.getIcon("{0}.png".format( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
690 | searchEngineName.lower())), |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
691 | self.tr("Search image in {0}").format(searchEngineName), |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
692 | self.__searchImage).setData( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
693 | engine.getSearchQuery(hitTest.imageUrl())) |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
694 | self.__imageSearchMenu = menu.addMenu( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
695 | self.tr("Search image with...")) |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
696 | for searchEngineName in engine.searchEngineNames(): |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
697 | self.__imageSearchMenu.addAction( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
698 | UI.PixmapCache.getIcon("{0}.png".format( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
699 | searchEngineName.lower())), |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
700 | self.tr("Search image in {0}").format(searchEngineName), |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
701 | self.__searchImage).setData( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
702 | engine.getSearchQuery( |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
703 | hitTest.imageUrl(), searchEngineName)) |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
704 | |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
705 | menu.addSeparator() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
706 | menu.addAction( |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
707 | UI.PixmapCache.getIcon("adBlockPlus.png"), |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
708 | self.tr("Block Image"), self.__blockImage)\ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
709 | .setData(hitTest.imageUrl().toString()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
710 | if Preferences.getWebBrowser("VirusTotalEnabled") and \ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
711 | Preferences.getWebBrowser("VirusTotalServiceKey") != "": |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
712 | menu.addAction( |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
713 | UI.PixmapCache.getIcon("virustotal.png"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
714 | self.tr("Scan Image with VirusTotal"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
715 | self.__virusTotal).setData(hitTest.imageUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
716 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
717 | def __createMediaContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
718 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
719 | Private method to populate the context menu for media elements. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
720 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
721 | @param menu reference to the menu to be populated |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
722 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
723 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
724 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
725 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
726 | if not menu.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
727 | menu.addSeparator() |
1945
47016f5af3b8
Enhanced the web browser by adding a personal information manager to assist in completing form fields through field context menu entries or by pressing Ctrl+Return/Ctrl+Enter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1934
diff
changeset
|
728 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
729 | if hitTest.mediaPaused(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
730 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
731 | UI.PixmapCache.getIcon("mediaPlaybackStart.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
732 | self.tr("Play"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
733 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
734 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
735 | UI.PixmapCache.getIcon("mediaPlaybackPause.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
736 | self.tr("Pause"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
737 | if hitTest.mediaMuted(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
738 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
739 | UI.PixmapCache.getIcon("audioVolumeHigh.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
740 | self.tr("Unmute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
741 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
742 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
743 | UI.PixmapCache.getIcon("audioVolumeMuted.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
744 | self.tr("Mute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
745 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
746 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
747 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
748 | self.tr("Copy Media Address to Clipboard"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
749 | self.__copyLink).setData(hitTest.mediaUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
750 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
751 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
752 | self.tr("Send Media Address"), self.__sendLink)\ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
753 | .setData(hitTest.mediaUrl()) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
754 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
755 | UI.PixmapCache.getIcon("download.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
756 | self.tr("Save Media"), self.__downloadMedia) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
757 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
758 | def __createSelectedTextContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
759 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
760 | Private method to populate the context menu for selected text. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
761 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
762 | @param menu reference to the menu to be populated |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
763 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
764 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
765 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
766 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
767 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
768 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
769 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
770 | menu.addAction(self.__mw.copyAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
771 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
772 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
773 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
774 | self.tr("Send Text"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
775 | self.__sendLink).setData(self.selectedText()) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
776 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
777 | engineName = self.__mw.openSearchManager().currentEngineName() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
778 | if engineName: |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
779 | menu.addAction(self.tr("Search with '{0}'").format(engineName), |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
780 | self.__searchDefaultRequested) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
781 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
782 | from .OpenSearch.OpenSearchEngineAction import \ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
783 | OpenSearchEngineAction |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
784 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
785 | self.__searchMenu = menu.addMenu(self.tr("Search with...")) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
786 | engineNames = self.__mw.openSearchManager().allEnginesNames() |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
787 | for engineName in engineNames: |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
788 | engine = self.__mw.openSearchManager().engine(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
789 | act = OpenSearchEngineAction(engine, self.__searchMenu) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
790 | act.setData(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
791 | self.__searchMenu.addAction(act) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
792 | self.__searchMenu.triggered.connect(self.__searchRequested) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
793 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
794 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
795 | |
4754
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
796 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
797 | languages = Preferences.toList( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
798 | Preferences.Prefs.settings.value( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
799 | "WebBrowser/AcceptLanguages", |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
800 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
801 | if languages: |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
802 | language = languages[0] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
803 | langCode = language.split("[")[1][:2] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
804 | googleTranslatorUrl = QUrl( |
5920
e47dd106c3d6
Fixed a few issues in the QWebEngine based web browser detected on Ubuntu 17.10.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5867
diff
changeset
|
805 | "http://translate.google.com/#auto/{0}/{1}".format( |
4754
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
806 | langCode, self.selectedText())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
807 | menu.addAction( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
808 | UI.PixmapCache.getIcon("translate.png"), |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
809 | self.tr("Google Translate"), self.__openLinkInNewTab)\ |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
810 | .setData(googleTranslatorUrl) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
811 | wiktionaryUrl = QUrl( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
812 | "http://{0}.wiktionary.org/wiki/Special:Search?search={1}" |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
813 | .format(langCode, self.selectedText())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
814 | menu.addAction( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
815 | UI.PixmapCache.getIcon("wikipedia.png"), |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
816 | self.tr("Dictionary"), self.__openLinkInNewTab)\ |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
817 | .setData(wiktionaryUrl) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
818 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
819 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
820 | guessedUrl = QUrl.fromUserInput(self.selectedText().strip()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
821 | if self.__isUrlValid(guessedUrl): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
822 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
823 | self.tr("Go to web address"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
824 | self.__openLinkInNewTab).setData(guessedUrl) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
825 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
826 | def __createPageContextMenu(self, menu): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
827 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
828 | Private method to populate the basic context menu. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
829 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
830 | @param menu reference to the menu to be populated |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
831 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
832 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
833 | menu.addAction(self.__mw.newTabAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
834 | menu.addAction(self.__mw.newAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
835 | menu.addSeparator() |
5033
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
836 | if self.__mw.saveAsAct is not None: |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
837 | menu.addAction(self.__mw.saveAsAct) |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
838 | menu.addSeparator() |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
839 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
840 | if self.url().toString() == "eric:speeddial": |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
841 | # special menu for the spedd dial page |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
842 | menu.addAction(self.__mw.backAct) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
843 | menu.addAction(self.__mw.forwardAct) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
844 | menu.addSeparator() |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
845 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
846 | UI.PixmapCache.getIcon("plus.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
847 | self.tr("Add New Page"), self.__addSpeedDial) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
848 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
849 | UI.PixmapCache.getIcon("preferences-general.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
850 | self.tr("Configure Speed Dial"), self.__configureSpeedDial) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
851 | menu.addSeparator() |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
852 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
853 | UI.PixmapCache.getIcon("reload.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
854 | self.tr("Reload All Dials"), self.__reloadAllSpeedDials) |
4954
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
855 | menu.addSeparator() |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
856 | menu.addAction( |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
857 | self.tr("Reset to Default Dials"), self.__resetSpeedDials) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
858 | return |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
859 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
860 | menu.addAction( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
861 | UI.PixmapCache.getIcon("bookmark22.png"), |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
862 | self.tr("Bookmark this Page"), self.addBookmark) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
863 | menu.addAction( |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
864 | UI.PixmapCache.getIcon("editCopy.png"), |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
865 | self.tr("Copy Page Link"), self.__copyLink).setData(self.url()) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
866 | menu.addAction( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
867 | UI.PixmapCache.getIcon("mailSend.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
868 | self.tr("Send Page Link"), self.__sendLink).setData(self.url()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
870 | |
4906
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
871 | from .UserAgent.UserAgentMenu import UserAgentMenu |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
872 | self.__userAgentMenu = UserAgentMenu(self.tr("User Agent"), |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
873 | url=self.url()) |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
874 | menu.addMenu(self.__userAgentMenu) |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
875 | menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
876 | menu.addAction(self.__mw.backAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
877 | menu.addAction(self.__mw.forwardAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
878 | menu.addAction(self.__mw.homeAct) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
879 | menu.addAction(self.__mw.reloadAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
880 | menu.addAction(self.__mw.stopAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
882 | menu.addAction(self.__mw.zoomInAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
883 | menu.addAction(self.__mw.zoomResetAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
884 | menu.addAction(self.__mw.zoomOutAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | menu.addSeparator() |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
886 | menu.addAction(self.__mw.selectAllAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
888 | menu.addAction(self.__mw.findAct) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
889 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
890 | menu.addAction(self.__mw.pageSourceAct) |
4783
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
891 | menu.addSeparator() |
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
892 | menu.addAction(self.__mw.siteInfoAct) |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
893 | if self.url().scheme() in ["http", "https"]: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
894 | menu.addSeparator() |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
895 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
896 | w3url = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
897 | b"http://validator.w3.org/check?uri=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
898 | QUrl.toPercentEncoding(bytes(self.url().toEncoded()).decode())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
899 | menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
900 | UI.PixmapCache.getIcon("w3.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
901 | self.tr("Validate Page"), self.__openLinkInNewTab)\ |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
902 | .setData(w3url) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
903 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
904 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
905 | languages = Preferences.toList( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
906 | Preferences.Prefs.settings.value( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
907 | "WebBrowser/AcceptLanguages", |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
908 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
909 | if languages: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
910 | language = languages[0] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
911 | langCode = language.split("[")[1][:2] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
912 | googleTranslatorUrl = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
913 | b"http://translate.google.com/translate?sl=auto&tl=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
914 | langCode.encode() + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
915 | b"&u=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
916 | QUrl.toPercentEncoding( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
917 | bytes(self.url().toEncoded()).decode())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
918 | menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
919 | UI.PixmapCache.getIcon("translate.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
920 | self.tr("Google Translate"), self.__openLinkInNewTab)\ |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
921 | .setData(googleTranslatorUrl) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
922 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
923 | def __checkForForm(self, act, pos): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
924 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
925 | Private method to check the given position for an open search form. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
926 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
927 | @param act reference to the action to be populated upon success |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
928 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
929 | @param pos position to be tested |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
930 | @type QPoint |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
931 | """ |
4925
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
932 | self.__clickedPos = self.mapToViewport(pos) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
933 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
934 | from .Tools import Scripts |
4925
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
935 | script = Scripts.getFormData(self.__clickedPos) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
936 | self.page().runJavaScript( |
5001
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
937 | script, |
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
938 | WebBrowserPage.SafeJsWorld, |
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
939 | lambda res: self.__checkForFormCallback(res, act)) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
940 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
941 | def __checkForFormCallback(self, res, act): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
942 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
943 | Private method handling the __checkForForm result. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
944 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
945 | @param res result dictionary generated by JavaScript |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
946 | @type dict |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
947 | @param act reference to the action to be populated upon success |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
948 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
949 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
950 | if act is None or not bool(res): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
951 | return |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
952 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
953 | url = QUrl(res["action"]) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
954 | method = res["method"] |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
955 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
956 | if not url.isEmpty() and method in ["get", "post"]: |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
957 | act.setVisible(True) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
958 | act.setText(self.tr("Add to web search toolbar")) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
959 | act.triggered.connect(self.__addSearchEngine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
960 | |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
961 | def __isUrlValid(self, url): |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
962 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
963 | Private method to check a URL for validity. |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
964 | |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
965 | @param url URL to be checked (QUrl) |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
966 | @return flag indicating a valid URL (boolean) |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
967 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
968 | return url.isValid() and \ |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
969 | bool(url.host()) and \ |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
970 | bool(url.scheme()) and \ |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
971 | "." in url.host() |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
972 | |
5532
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
973 | def __replaceMisspelledWord(self): |
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
974 | """ |
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
975 | Private slot to replace a misspelled word under the context menu. |
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
976 | """ |
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
977 | act = self.sender() |
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
978 | suggestion = act.text() |
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
979 | self.page().replaceMisspelledWord(suggestion) |
3a7c5deab9b7
Added support for new functionality provided by Qt 5.8.0 to the QtWebEngine based web browser (including spell checking).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5530
diff
changeset
|
980 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
981 | def __openLinkInNewTab(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
982 | """ |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
983 | Private method called by the context menu to open a link in a new |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
984 | tab. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
986 | act = self.sender() |
7
c679fb30c8f3
Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
987 | url = act.data() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
988 | if url.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
989 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
990 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
991 | self.setSource(url, newTab=True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
992 | |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
993 | def __openLinkInNewWindow(self): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
994 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
995 | Private slot called by the context menu to open a link in a new |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
996 | window. |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
997 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
998 | act = self.sender() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
999 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1000 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1001 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1002 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1003 | self.__mw.newWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1004 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1005 | def __openLinkInNewPrivateWindow(self): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1006 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1007 | Private slot called by the context menu to open a link in a new |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1008 | private window. |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1009 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1010 | act = self.sender() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1011 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1012 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1013 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1014 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1015 | self.__mw.newPrivateWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1016 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1017 | def __bookmarkLink(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1018 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1019 | Private slot to bookmark a link via the context menu. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1020 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1021 | act = self.sender() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1022 | url = act.data() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1023 | if url.isEmpty(): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1024 | return |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1025 | |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1026 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1027 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1028 | dlg.setUrl(bytes(url.toEncoded()).decode()) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1029 | dlg.exec_() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1030 | |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1031 | def __sendLink(self): |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1032 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1033 | Private slot to send a link via email. |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1034 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1035 | act = self.sender() |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1036 | data = act.data() |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1037 | if isinstance(data, QUrl) and data.isEmpty(): |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1038 | return |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1039 | |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1040 | if isinstance(data, QUrl): |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1041 | data = data.toString() |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1042 | QDesktopServices.openUrl(QUrl("mailto:?body=" + data)) |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1043 | |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1044 | def __copyLink(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1045 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1046 | Private slot to copy a link to the clipboard. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1047 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1048 | act = self.sender() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1049 | data = act.data() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1050 | if isinstance(data, QUrl) and data.isEmpty(): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1051 | return |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1052 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1053 | if isinstance(data, QUrl): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1054 | data = data.toString() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1055 | QApplication.clipboard().setText(data) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1056 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1057 | def __downloadLink(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1058 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1059 | Private slot to download a link and save it to disk. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1060 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1061 | self.triggerPageAction(QWebEnginePage.DownloadLinkToDisk) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1062 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1063 | def __downloadImage(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1064 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1065 | Private slot to download an image and save it to disk. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1066 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1067 | self.triggerPageAction(QWebEnginePage.DownloadImageToDisk) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1068 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1069 | def __copyImage(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1070 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1071 | Private slot to copy an image to the clipboard. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1072 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1073 | self.triggerPageAction(QWebEnginePage.CopyImageToClipboard) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1074 | |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1075 | def __blockImage(self): |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1076 | """ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1077 | Private slot to add a block rule for an image URL. |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1078 | """ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1079 | act = self.sender() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1080 | url = act.data() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1081 | dlg = WebBrowserWindow.adBlockManager().showDialog() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1082 | dlg.addCustomRule(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1083 | |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1084 | def __searchImage(self): |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1085 | """ |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1086 | Private slot to search for an image URL. |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1087 | """ |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1088 | act = self.sender() |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1089 | url = act.data() |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1090 | self.setSource(url, newTab=True) |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1091 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1092 | def __downloadMedia(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1093 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1094 | Private slot to download a media and save it to disk. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1095 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1096 | self.triggerPageAction(QWebEnginePage.DownloadMediaToDisk) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
1097 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1098 | def __pauseMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1099 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1100 | Private slot to pause or play the selected media. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1101 | """ |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1102 | self.triggerPageAction(QWebEnginePage.ToggleMediaPlayPause) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1103 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1104 | def __muteMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1105 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1106 | Private slot to (un)mute the selected media. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1107 | """ |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1108 | self.triggerPageAction(QWebEnginePage.ToggleMediaMute) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
1109 | |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1110 | def __virusTotal(self): |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1111 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1112 | Private slot to scan the selected URL with VirusTotal. |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1113 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1114 | act = self.sender() |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1115 | url = act.data() |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1116 | self.__mw.requestVirusTotalScan(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1117 | |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1118 | def __searchDefaultRequested(self): |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1119 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1120 | Private slot to search for some text with the current search engine. |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1121 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1122 | searchText = self.selectedText() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1123 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1124 | if not searchText: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1125 | return |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1126 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1127 | engine = self.__mw.openSearchManager().currentEngine() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1128 | if engine: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1129 | self.search.emit(engine.searchUrl(searchText)) |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1130 | |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1131 | def __searchRequested(self, act): |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1132 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1133 | Private slot to search for some text with a selected search engine. |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1134 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1135 | @param act reference to the action that triggered this slot (QAction) |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1136 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1137 | searchText = self.selectedText() |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1138 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1139 | if not searchText: |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1140 | return |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1141 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1142 | engineName = act.data() |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1143 | if engineName: |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1144 | engine = self.__mw.openSearchManager().engine(engineName) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1145 | else: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1146 | engine = self.__mw.openSearchManager().currentEngine() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1147 | if engine: |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1148 | self.search.emit(engine.searchUrl(searchText)) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1149 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1150 | def __addSearchEngine(self): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1151 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1152 | Private slot to add a new search engine. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1153 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1154 | from .Tools import Scripts |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1155 | script = Scripts.getFormData(self.__clickedPos) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1156 | self.page().runJavaScript( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1157 | script, |
5001
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
1158 | WebBrowserPage.SafeJsWorld, |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1159 | lambda res: self.__mw.openSearchManager().addEngineFromForm( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1160 | res, self)) |
381
64ae9e09d8bc
Extended the Ad-Blocker of the web browser and added capability to configure the text encoding of the web browser (needs Qt >= 4.6).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
376
diff
changeset
|
1161 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1162 | def __webInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1163 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1164 | Private slot to show the web inspector window. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1165 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1166 | if self.__inspector is None: |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1167 | from .WebInspector import WebInspector |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1168 | self.__inspector = WebInspector() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1169 | self.__inspector.setView(self, True) |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1170 | self.__inspector.show() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1171 | else: |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1172 | self.closeWebInspector() |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1173 | |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1174 | def closeWebInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1175 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1176 | Public slot to close the web inspector. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1177 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1178 | if self.__inspector is not None: |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1179 | if self.__inspector.isVisible(): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1180 | self.__inspector.hide() |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1181 | WebInspector.unregisterView(self.__inspector) |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1182 | self.__inspector.deleteLater() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1183 | self.__inspector = None |
4341
1ff0929aab09
Added our own web inspector window to overcome a Qt weekness.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4326
diff
changeset
|
1184 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1185 | def addBookmark(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1186 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1187 | Public slot to bookmark the current page. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1188 | """ |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1189 | from .Tools import Scripts |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1190 | script = Scripts.getAllMetaAttributes() |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1191 | self.page().runJavaScript( |
5001
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
1192 | script, WebBrowserPage.SafeJsWorld, self.__addBookmarkCallback) |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1193 | |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1194 | def __addBookmarkCallback(self, res): |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1195 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1196 | Private callback method of __addBookmark(). |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1197 | |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
1198 | @param res reference to the result list containing all |
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
1199 | meta attributes |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1200 | @type list |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1201 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1202 | description = "" |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1203 | for meta in res: |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1204 | if meta["name"] == "description": |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1205 | description = meta["content"] |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1206 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1207 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1208 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1209 | dlg.setUrl(bytes(self.url().toEncoded()).decode()) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1210 | dlg.setTitle(self.title()) |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1211 | dlg.setDescription(description) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1212 | dlg.exec_() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1213 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1214 | def dragEnterEvent(self, evt): |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1215 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1216 | Protected method called by a drag enter event. |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1217 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1218 | @param evt reference to the drag enter event (QDragEnterEvent) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1219 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1220 | evt.acceptProposedAction() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1221 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1222 | def dragMoveEvent(self, evt): |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1223 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1224 | Protected method called by a drag move event. |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1225 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1226 | @param evt reference to the drag move event (QDragMoveEvent) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1227 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1228 | evt.ignore() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1229 | if evt.source() != self: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1230 | if len(evt.mimeData().urls()) > 0: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1231 | evt.acceptProposedAction() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1232 | else: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1233 | url = QUrl(evt.mimeData().text()) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1234 | if url.isValid(): |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1235 | evt.acceptProposedAction() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1236 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1237 | if not evt.isAccepted(): |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1238 | super(WebBrowserView, self).dragMoveEvent(evt) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1239 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1240 | def dropEvent(self, evt): |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1241 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1242 | Protected method called by a drop event. |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1243 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1244 | @param evt reference to the drop event (QDropEvent) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1245 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1246 | super(WebBrowserView, self).dropEvent(evt) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1247 | if not evt.isAccepted() and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1248 | evt.source() != self and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1249 | evt.possibleActions() & Qt.CopyAction: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1250 | url = QUrl() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1251 | if len(evt.mimeData().urls()) > 0: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1252 | url = evt.mimeData().urls()[0] |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1253 | if not url.isValid(): |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1254 | url = QUrl(evt.mimeData().text()) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1255 | if url.isValid(): |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1256 | self.setSource(url) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1257 | evt.acceptProposedAction() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1258 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1259 | def _mousePressEvent(self, evt): |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1260 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1261 | Protected method called by a mouse press event. |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1262 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1263 | @param evt reference to the mouse event (QMouseEvent) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1264 | """ |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1265 | if WebBrowserWindow.autoScroller().mousePress(self, evt): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1266 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1267 | return |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1268 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1269 | self.__mw.setEventMouseButtons(evt.buttons()) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1270 | self.__mw.setEventKeyboardModifiers(evt.modifiers()) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1271 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1272 | if evt.button() == Qt.XButton1: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1273 | self.pageAction(QWebEnginePage.Back).trigger() |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1274 | evt.accept() |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1275 | elif evt.button() == Qt.XButton2: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1276 | self.pageAction(QWebEnginePage.Forward).trigger() |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1277 | evt.accept() |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1278 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1279 | def _mouseReleaseEvent(self, evt): |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1280 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1281 | Protected method called by a mouse release event. |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1282 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1283 | @param evt reference to the mouse event (QMouseEvent) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1284 | """ |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1285 | if WebBrowserWindow.autoScroller().mouseRelease(evt): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1286 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1287 | return |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1288 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1289 | accepted = evt.isAccepted() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1290 | self.__page.event(evt) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1291 | if not evt.isAccepted() and \ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1292 | self.__mw.eventMouseButtons() & Qt.MidButton: |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1293 | url = QUrl(QApplication.clipboard().text(QClipboard.Selection)) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1294 | if not url.isEmpty() and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1295 | url.isValid() and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1296 | url.scheme() != "": |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1297 | self.__mw.setEventMouseButtons(Qt.NoButton) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1298 | self.__mw.setEventKeyboardModifiers(Qt.NoModifier) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1299 | self.setSource(url) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1300 | evt.setAccepted(accepted) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1301 | |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1302 | def _mouseMoveEvent(self, evt): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1303 | """ |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1304 | Protected method to handle mouse move events. |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1305 | |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1306 | @param evt reference to the mouse event (QMouseEvent) |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1307 | """ |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1308 | if self.__mw and self.__mw.isFullScreen(): |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1309 | if self.__mw.isFullScreenNavigationVisible(): |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1310 | self.__mw.hideFullScreenNavigation() |
5740
292538236234
Some adjustments to the Web Browser NG related to macOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1311 | elif evt.y() < 10: |
292538236234
Some adjustments to the Web Browser NG related to macOS.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5736
diff
changeset
|
1312 | # mouse is within 10px to the top |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1313 | self.__mw.showFullScreenNavigation() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1314 | |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1315 | if WebBrowserWindow.autoScroller().mouseMove(evt): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1316 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1317 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1318 | def _wheelEvent(self, evt): |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1319 | """ |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1320 | Protected method to handle wheel events. |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1321 | |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1322 | @param evt reference to the wheel event (QWheelEvent) |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1323 | """ |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1324 | if WebBrowserWindow.autoScroller().wheel(): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1325 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1326 | return |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1327 | |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4713
diff
changeset
|
1328 | delta = evt.angleDelta().y() |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1329 | if evt.modifiers() & Qt.ControlModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3776
diff
changeset
|
1330 | if delta < 0: |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1331 | self.zoomOut() |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1332 | else: |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1333 | self.zoomIn() |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1334 | evt.accept() |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1335 | |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1336 | elif evt.modifiers() & Qt.ShiftModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3776
diff
changeset
|
1337 | if delta < 0: |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1338 | self.backward() |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1339 | else: |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1340 | self.forward() |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1341 | evt.accept() |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1342 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1343 | def _keyPressEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1344 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1345 | Protected method called by a key press. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1346 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1347 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1348 | """ |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1349 | if self.__mw.personalInformationManager().viewKeyPressEvent(self, evt): |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1350 | evt.accept() |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1351 | return |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1352 | |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1353 | if evt.key() == Qt.Key_ZoomIn: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1354 | self.zoomIn() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1355 | evt.accept() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1356 | elif evt.key() == Qt.Key_ZoomOut: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1357 | self.zoomOut() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1358 | evt.accept() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1359 | elif evt.key() == Qt.Key_Plus: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1360 | if evt.modifiers() & Qt.ControlModifier: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1361 | self.zoomIn() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1362 | evt.accept() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1363 | elif evt.key() == Qt.Key_Minus: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1364 | if evt.modifiers() & Qt.ControlModifier: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1365 | self.zoomOut() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1366 | evt.accept() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1367 | elif evt.key() == Qt.Key_0: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1368 | if evt.modifiers() & Qt.ControlModifier: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1369 | self.zoomReset() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1370 | evt.accept() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1371 | elif evt.key() == Qt.Key_M: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1372 | if evt.modifiers() & Qt.ControlModifier: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1373 | self.__muteMedia() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1374 | evt.accept() |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1375 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1376 | def _keyReleaseEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1377 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1378 | Protected method called by a key release. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1379 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1380 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1381 | """ |
5719
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1382 | if evt.key() == Qt.Key_Escape: |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1383 | if self.isFullScreen(): |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1384 | self.triggerPageAction(QWebEnginePage.ExitFullScreen) |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1385 | evt.accept() |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1386 | self.requestFullScreen(False) |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1387 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1388 | def _gestureEvent(self, evt): |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1389 | """ |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1390 | Protected method handling gesture events. |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1391 | |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1392 | @param evt reference to the gesture event (QGestureEvent |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1393 | """ |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1394 | pinch = evt.gesture(Qt.PinchGesture) |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1395 | if pinch: |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1396 | if pinch.state() == Qt.GestureStarted: |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5630
diff
changeset
|
1397 | pinch.setTotalScaleFactor(self.__currentZoom / 100.0) |
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5630
diff
changeset
|
1398 | elif pinch.state() == Qt.GestureUpdated: |
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5630
diff
changeset
|
1399 | scaleFactor = pinch.totalScaleFactor() |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
1400 | self.setZoomValue(int(scaleFactor * 100)) |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1401 | evt.accept() |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1402 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1403 | def eventFilter(self, obj, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1404 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1405 | Public method to process event for other objects. |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1406 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1407 | @param obj reference to object to process events for |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1408 | @type QObject |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1409 | @param evt reference to event to be processed |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1410 | @type QEvent |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1411 | @return flag indicating that the event should be filtered out |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1412 | @rtype bool |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1413 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1414 | # find the render widget receiving events for the web page |
5736
000ea446ff4b
Prepared the code for Qt > 5.9.99.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5721
diff
changeset
|
1415 | if qVersionTuple() < (5, 8, 0): |
5630
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1416 | if obj is self and evt.type() == QEvent.ChildAdded: |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1417 | child = evt.child() |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1418 | if child and child.inherits( |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1419 | "QtWebEngineCore::" |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1420 | "RenderWidgetHostViewQtDelegateWidget"): |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1421 | self.__rwhvqt = child |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1422 | self.grabGesture(Qt.PinchGesture) |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1423 | self.__rwhvqt.grabGesture(Qt.PinchGesture) |
11670490db05
Implemented the detection of the widget receiving input event for the new web browser for Qt >= 5.8.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5626
diff
changeset
|
1424 | self.__rwhvqt.installEventFilter(self) |
5719
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1425 | else: |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1426 | if obj is self and evt.type() == QEvent.ParentChange and \ |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1427 | self.parentWidget() is not None: |
5719
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1428 | self.parentWidget().installEventFilter(self) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1429 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1430 | # forward events to WebBrowserView |
5719
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1431 | if obj is self.__rwhvqt and \ |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1432 | evt.type() in [QEvent.KeyPress, QEvent.KeyRelease, |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1433 | QEvent.MouseButtonPress, QEvent.MouseButtonRelease, |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1434 | QEvent.MouseMove, QEvent.Wheel, QEvent.Gesture]: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1435 | wasAccepted = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1436 | evt.setAccepted(False) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1437 | if evt.type() == QEvent.KeyPress: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1438 | self._keyPressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1439 | elif evt.type() == QEvent.KeyRelease: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1440 | self._keyReleaseEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1441 | elif evt.type() == QEvent.MouseButtonPress: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1442 | self._mousePressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1443 | elif evt.type() == QEvent.MouseButtonRelease: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1444 | self._mouseReleaseEvent(evt) |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1445 | elif evt.type() == QEvent.MouseMove: |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1446 | self._mouseMoveEvent(evt) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1447 | elif evt.type() == QEvent.Wheel: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1448 | self._wheelEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1449 | elif evt.type() == QEvent.Gesture: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1450 | self._gestureEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1451 | ret = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1452 | evt.setAccepted(wasAccepted) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1453 | return ret |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1454 | |
5719
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1455 | if obj is self.parentWidget() and \ |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1456 | evt.type() in [QEvent.KeyPress, QEvent.KeyRelease]: |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1457 | wasAccepted = evt.isAccepted() |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1458 | evt.setAccepted(False) |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1459 | if evt.type() == QEvent.KeyPress: |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1460 | self._keyPressEvent(evt) |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1461 | elif evt.type() == QEvent.KeyRelease: |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1462 | self._keyReleaseEvent(evt) |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1463 | ret = evt.isAccepted() |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1464 | evt.setAccepted(wasAccepted) |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1465 | return ret |
73bbb3a8ee41
Fixed exiting the full screen mode using ESC key in the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5707
diff
changeset
|
1466 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1467 | # block already handled events |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1468 | if obj is self: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1469 | if evt.type() in [QEvent.KeyPress, QEvent.KeyRelease, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1470 | QEvent.MouseButtonPress, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1471 | QEvent.MouseButtonRelease, |
5707
1273cd92a8f4
Web Browser (NG):
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
1472 | QEvent.MouseMove, QEvent.Wheel, QEvent.Gesture]: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1473 | return True |
5707
1273cd92a8f4
Web Browser (NG):
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
1474 | |
1273cd92a8f4
Web Browser (NG):
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
1475 | elif evt.type() == QEvent.Hide: |
1273cd92a8f4
Web Browser (NG):
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
1476 | if self.isFullScreen(): |
1273cd92a8f4
Web Browser (NG):
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
1477 | self.triggerPageAction(QWebEnginePage.ExitFullScreen) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1478 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1479 | return super(WebBrowserView, self).eventFilter(obj, evt) |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1480 | |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1481 | def event(self, evt): |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1482 | """ |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1483 | Public method handling events. |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1484 | |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1485 | @param evt reference to the event (QEvent) |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1486 | @return flag indicating, if the event was handled (boolean) |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1487 | """ |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1488 | if evt.type() == QEvent.Gesture: |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1489 | self._gestureEvent(evt) |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1490 | return True |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1491 | |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1492 | return super(WebBrowserView, self).event(evt) |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1493 | |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1494 | def inputWidget(self): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1495 | """ |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1496 | Public method to get a reference to the render widget. |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1497 | |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1498 | @return reference to the render widget |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1499 | @rtype QWidget |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1500 | """ |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1501 | return self.__rwhvqt |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1502 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1503 | def clearHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1504 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1505 | Public slot to clear the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1506 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1507 | self.history().clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1508 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1509 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1510 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1511 | ## Signal converters below |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1512 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1513 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1514 | def __urlChanged(self, url): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1515 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1516 | Private slot to handle the urlChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1517 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1518 | @param url the new url (QUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1519 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1520 | self.sourceChanged.emit(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1521 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1522 | self.forwardAvailable.emit(self.isForwardAvailable()) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1523 | self.backwardAvailable.emit(self.isBackwardAvailable()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1524 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1525 | def __iconUrlChanged(self, url): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1526 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1527 | Private slot to handle the iconUrlChanged signal. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1528 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1529 | @param url URL to get web site icon from |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1530 | @type QUrl |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1531 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1532 | self.__siteIcon = QIcon() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1533 | if self.__siteIconLoader is not None: |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1534 | self.__siteIconLoader.deleteLater() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1535 | self.__siteIconLoader = WebIconLoader(url, self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1536 | self.__siteIconLoader.iconLoaded.connect(self.__iconLoaded) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1537 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1538 | def __iconLoaded(self, icon): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1539 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1540 | Private slot handling the loaded web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1541 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1542 | @param icon web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1543 | @type QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1544 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1545 | self.__siteIcon = icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1546 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1547 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1548 | WebIconProvider.instance().saveIcon(self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1549 | |
5039
200f12184a43
Renamed the iconChanged signal of WebBrowserView to faviconChanged in order to get rid of a name clash with Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5038
diff
changeset
|
1550 | self.faviconChanged.emit() |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1551 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1552 | def icon(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1553 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1554 | Public method to get the web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1555 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1556 | @return web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1557 | @rtype QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1558 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1559 | if not self.__siteIcon.isNull(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1560 | return QIcon(self.__siteIcon) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1561 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1562 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1563 | return WebIconProvider.instance().iconForUrl(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1564 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1565 | def __linkHovered(self, link): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1566 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1567 | Private slot to handle the linkHovered signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1568 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1569 | @param link the URL of the link (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1570 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1571 | self.highlighted.emit(link) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1572 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1573 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1574 | ## Signal handlers below |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1575 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1576 | |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1577 | def __renderProcessTerminated(self, status, exitCode): |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1578 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1579 | Private slot handling a crash of the web page render process. |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1580 | |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1581 | @param status termination status |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1582 | @type QWebEnginePage.RenderProcessTerminationStatus |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1583 | @param exitCode exit code of the process |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1584 | @type int |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1585 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1586 | if status == QWebEnginePage.NormalTerminationStatus: |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1587 | return |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1588 | |
5491
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1589 | QTimer.singleShot(0, lambda: self.__showTabCrashPage(status)) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1590 | |
5491
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1591 | def __showTabCrashPage(self, status): |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1592 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1593 | Private slot to show the tab crash page. |
5491
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1594 | |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1595 | @param status termination status |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1596 | @type QWebEnginePage.RenderProcessTerminationStatus |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1597 | """ |
5491
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1598 | self.page().deleteLater() |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
1599 | self.__createNewPage() |
5491
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1600 | |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1601 | html = readAllFileContents(":/html/tabCrashPage.html") |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1602 | html = html.replace("@IMAGE@", pixmapToDataUrl( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1603 | qApp.style().standardIcon(QStyle.SP_MessageBoxWarning).pixmap( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1604 | 48, 48)).toString()) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1605 | html = html.replace("@FAVICON@", pixmapToDataUrl( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1606 | qApp.style() .standardIcon(QStyle.SP_MessageBoxWarning).pixmap( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1607 | 16, 16)).toString()) |
5491
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1608 | html = html.replace( |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1609 | "@TITLE@", self.tr("Render Process terminated abnormally")) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1610 | html = html.replace( |
5491
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1611 | "@H1@", self.tr("Render Process terminated abnormally")) |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1612 | if status == QWebEnginePage.CrashedTerminationStatus: |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1613 | msg = self.tr("The render process crashed while" |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1614 | " loading this page.") |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1615 | elif status == QWebEnginePage.KilledTerminationStatus: |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1616 | msg = self.tr("The render process was killed.") |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1617 | else: |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1618 | msg = self.tr("The render process terminated while" |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1619 | " loading this page.") |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1620 | html = html.replace("@LI-1@", msg) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1621 | html = html.replace( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1622 | "@LI-2@", |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1623 | self.tr( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1624 | "Try reloading the page or closing some tabs to make more" |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1625 | " memory available.")) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1626 | self.page().setHtml(html, self.url()) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1627 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1628 | def __loadStarted(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1629 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1630 | Private method to handle the loadStarted signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1631 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1632 | self.__isLoading = True |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1633 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1634 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1635 | def __loadProgress(self, progress): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1636 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1637 | Private method to handle the loadProgress signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1638 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1639 | @param progress progress value (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1640 | """ |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1641 | self.__progress = progress |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1642 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1643 | def __loadFinished(self, ok): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1644 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1645 | Private method to handle the loadFinished signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1646 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1647 | @param ok flag indicating the result (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1648 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1649 | self.__isLoading = False |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1650 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1651 | |
5015
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1652 | QApplication.processEvents() |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1653 | QTimer.singleShot(200, self.__renderPreview) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1654 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1655 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1656 | zoomValue = ZoomManager.instance().zoomValue(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1657 | self.setZoomValue(zoomValue) |
4612
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
1658 | |
256
04083f42042d
Some changes to the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
168
diff
changeset
|
1659 | if ok: |
4734
ce0b1f024da9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4732
diff
changeset
|
1660 | self.__mw.historyManager().addHistoryEntry(self) |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1661 | self.__mw.adBlockManager().page().hideBlockedPageEntries( |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1662 | self.page()) |
4744
ad3f6c1caf8d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4741
diff
changeset
|
1663 | self.__mw.passwordManager().completePage(self.page()) |
5015
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1664 | |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1665 | self.page().runJavaScript( |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1666 | "document.lastModified", WebBrowserPage.SafeJsWorld, |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1667 | lambda res: self.__adjustBookmark(res)) |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1668 | |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1669 | def __adjustBookmark(self, lastModified): |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1670 | """ |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1671 | Private slot to adjust the 'lastModified' value of bookmarks. |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1672 | |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1673 | @param lastModified last modified value |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1674 | @type str |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1675 | """ |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1676 | modified = QDateTime.fromString(lastModified, "MM/dd/yyyy hh:mm:ss") |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1677 | if modified.isValid(): |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1678 | from WebBrowser.WebBrowserWindow import WebBrowserWindow |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1679 | from .Bookmarks.BookmarkNode import BookmarkNode |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1680 | manager = WebBrowserWindow.bookmarksManager() |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1681 | for bookmark in manager.bookmarksForUrl(self.url()): |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1682 | manager.setTimestamp(bookmark, BookmarkNode.TsModified, |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1683 | modified) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1684 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1685 | def isLoading(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1686 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1687 | Public method to get the loading state. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1688 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1689 | @return flag indicating the loading state (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1690 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1691 | return self.__isLoading |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1692 | |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1693 | def progress(self): |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1694 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1695 | Public method to get the load progress. |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1696 | |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1697 | @return load progress (integer) |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1698 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1699 | return self.__progress |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1700 | |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1701 | def __renderPreview(self): |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1702 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1703 | Private slot to render a preview pixmap after the page was loaded. |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1704 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1705 | from .WebBrowserSnap import renderTabPreview |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1706 | w = 600 # some default width, the preview gets scaled when shown |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1707 | h = int(w * self.height() / self.width()) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1708 | self.__preview = renderTabPreview(self, w, h) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1709 | |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1710 | def getPreview(self): |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1711 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1712 | Public method to get the preview pixmap. |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1713 | |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1714 | @return preview pixmap |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1715 | @rtype QPixmap |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1716 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1717 | return self.__preview |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1718 | |
5033
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1719 | def saveAs(self): |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1720 | """ |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1721 | Public method to save the current page to a file. |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1722 | """ |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1723 | url = self.url() |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1724 | if url.isEmpty(): |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1725 | return |
d1c2651060ec
Added the 'Save as' functionality to the new web browser (for Qt 5.7+)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5015
diff
changeset
|
1726 | |
5920
e47dd106c3d6
Fixed a few issues in the QWebEngine based web browser detected on Ubuntu 17.10.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5867
diff
changeset
|
1727 | if qVersionTuple() >= (5, 8, 0) and PYQT_VERSION >= 0x50800: |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1728 | # since Qt 5.8.0 |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1729 | fileName, savePageFormat = self.__getSavePageFileNameAndFormat() |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1730 | if fileName: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1731 | self.page().save(fileName, savePageFormat) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1732 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1733 | self.triggerPageAction(QWebEnginePage.SavePage) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1734 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1735 | def __getSavePageFileNameAndFormat(self): |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1736 | """ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1737 | Private method to get the file name to save the page to. |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1738 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1739 | @return tuple containing the file name to save to and the |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1740 | save page format |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1741 | @rtype tuple of (str, QWebEngineDownloadItem.SavePageFormat) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1742 | """ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1743 | documentLocation = QStandardPaths.writableLocation( |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1744 | QStandardPaths.DocumentsLocation) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1745 | filterList = [ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1746 | self.tr("Web Archive (*.mhtml *.mht)"), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1747 | self.tr("HTML File (*.html *.htm)"), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1748 | self.tr("HTML File with all resources (*.html *.htm)"), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1749 | ] |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1750 | extensionsList = [ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1751 | # tuple of extensions for *nix and Windows |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1752 | # keep in sync with filters list |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1753 | (".mhtml", ".mht"), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1754 | (".html", ".htm"), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1755 | (".html", ".htm"), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1756 | ] |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1757 | if self.url().fileName(): |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1758 | defaultFileName = os.path.join(documentLocation, |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1759 | self.url().fileName()) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1760 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1761 | defaultFileName = os.path.join(documentLocation, |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1762 | self.page().title()) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1763 | if Utilities.isWindowsPlatform(): |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1764 | defaultFileName += ".mht" |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1765 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1766 | defaultFileName += ".mhtml" |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1767 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1768 | fileName = "" |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1769 | saveFormat = QWebEngineDownloadItem.MimeHtmlSaveFormat |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1770 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1771 | fileName, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1772 | None, |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1773 | self.tr("Save Web Page"), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1774 | defaultFileName, |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1775 | ";;".join(filterList), |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1776 | None) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1777 | if fileName: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1778 | index = filterList.index(selectedFilter) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1779 | if index == 0: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1780 | saveFormat = QWebEngineDownloadItem.MimeHtmlSaveFormat |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1781 | elif index == 1: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1782 | saveFormat = QWebEngineDownloadItem.SingleHtmlSaveFormat |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1783 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1784 | saveFormat = QWebEngineDownloadItem.CompleteHtmlSaveFormat |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1785 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1786 | extension = os.path.splitext(fileName)[1] |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1787 | if not extension: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1788 | # add the platform specific default extension |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1789 | if Utilities.isWindowsPlatform(): |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1790 | extensionsIndex = 1 |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1791 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1792 | extensionsIndex = 0 |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1793 | extensions = extensionsList[index] |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1794 | fileName += extensions[extensionsIndex] |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1795 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1796 | return fileName, saveFormat |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1797 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1798 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1799 | ## Miscellaneous methods below |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1800 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1801 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1802 | def createWindow(self, windowType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1803 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3539
diff
changeset
|
1804 | Public method called, when a new window should be created. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1805 | |
4826
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1806 | @param windowType type of the requested window |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1807 | (QWebEnginePage.WebWindowType) |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1808 | @return reference to the created browser window (WebBrowserView) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1809 | """ |
5038
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
1810 | if windowType in [QWebEnginePage.WebBrowserTab, |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
1811 | QWebEnginePage.WebDialog]: |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
1812 | return self.__mw.newTab(addNextTo=self) |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
1813 | elif windowType == QWebEnginePage.WebBrowserWindow: |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
1814 | return self.__mw.newWindow().currentBrowser() |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
1815 | else: |
df7103c3f2a6
Added capabilities to open links in a new background tab, and several other link open actions to various context menus of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5033
diff
changeset
|
1816 | return self.__mw.newTab(addNextTo=self, background=True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1817 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1818 | def preferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1819 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1820 | Public method to indicate a change of the settings. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1821 | """ |
629
c88489b378fb
Added configuration options for the web browser cache policy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1822 | self.reload() |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1823 | |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1824 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1825 | ## RSS related methods below |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1826 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1827 | |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1828 | def checkRSS(self): |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1829 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1830 | Public method to check, if the loaded page contains feed links. |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1831 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1832 | @return flag indicating the existence of feed links (boolean) |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1833 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1834 | self.__rss = [] |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1835 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1836 | script = Scripts.getFeedLinks() |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1837 | feeds = self.page().execJavaScript(script) |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1838 | |
4857
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1839 | if feeds is not None: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1840 | for feed in feeds: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1841 | if feed["url"] and feed["title"]: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1842 | self.__rss.append((feed["title"], feed["url"])) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1843 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1844 | return len(self.__rss) > 0 |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1845 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1846 | def getRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1847 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1848 | Public method to get the extracted RSS feeds. |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1849 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1850 | @return list of RSS feeds (list of tuples of two strings) |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1851 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1852 | return self.__rss |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1853 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1854 | def hasRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1855 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1856 | Public method to check, if the loaded page has RSS links. |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1857 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1858 | @return flag indicating the presence of RSS links (boolean) |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1859 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1860 | return len(self.__rss) > 0 |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1861 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1862 | ########################################################################### |
4884
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1863 | ## Full Screen handling below |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1864 | ########################################################################### |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1865 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1866 | def isFullScreen(self): |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1867 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1868 | Public method to check, if full screen mode is active. |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1869 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1870 | @return flag indicating full screen mode |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1871 | @rtype bool |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1872 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1873 | return self.__mw.isFullScreen() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1874 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1875 | def requestFullScreen(self, enable): |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1876 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1877 | Public method to request full screen mode. |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1878 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1879 | @param enable flag indicating full screen mode on or off |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1880 | @type bool |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1881 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1882 | if enable: |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1883 | self.__mw.enterHtmlFullScreen() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1884 | else: |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1885 | self.__mw.showNormal() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1886 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1887 | ########################################################################### |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1888 | ## Speed Dial slots below |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1889 | ########################################################################### |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1890 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1891 | def __addSpeedDial(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1892 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1893 | Private slot to add a new speed dial. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1894 | """ |
5001
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
1895 | self.__page.runJavaScript("addSpeedDial();", |
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
1896 | WebBrowserPage.SafeJsWorld) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1897 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1898 | def __configureSpeedDial(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1899 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1900 | Private slot to configure the speed dial. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1901 | """ |
5001
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
1902 | self.page().runJavaScript("configureSpeedDial();", |
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
1903 | WebBrowserPage.SafeJsWorld) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1904 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1905 | def __reloadAllSpeedDials(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1906 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1907 | Private slot to reload all speed dials. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1908 | """ |
5001
08eaee907686
Prepared the QWebEingine based web browser for the new runJavaScript() method as of Qt 5.7.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4958
diff
changeset
|
1909 | self.page().runJavaScript("reloadAll();", WebBrowserPage.SafeJsWorld) |
4954
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
1910 | |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
1911 | def __resetSpeedDials(self): |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
1912 | """ |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
1913 | Private slot to reset all speed dials to the default pages. |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
1914 | """ |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
1915 | self.__speedDial.resetDials() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1916 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1917 | ########################################################################### |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1918 | ## Methods below implement session related functions |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1919 | ########################################################################### |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1920 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1921 | def storeSessionData(self, data): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1922 | """ |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1923 | Public method to store session data to be restored later on. |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1924 | |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1925 | @param data dictionary with session data to be restored |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1926 | @type dict |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1927 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1928 | self.__restoreData = data |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1929 | |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1930 | def __showEventSlot(self): |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1931 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1932 | Private slot to perform actions when the view is shown and the event |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1933 | loop is running. |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1934 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1935 | if self.__restoreData: |
5797
8bc870b7a8a6
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5793
diff
changeset
|
1936 | sessionData, self.__restoreData = self.__restoreData, None |
5793
4ff73b969ab1
Some fixes and adjustments for the session support of the Web Browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5785
diff
changeset
|
1937 | self.loadFromSessionData(sessionData) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1938 | |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1939 | def showEvent(self, evt): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1940 | """ |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1941 | Protected method to handle show events. |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1942 | |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1943 | @param evt reference to the show event object |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1944 | @type QShowEvent |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1945 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1946 | super(WebBrowserView, self).showEvent(evt) |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1947 | self.activateSession() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1948 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1949 | def activateSession(self): |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1950 | """ |
5797
8bc870b7a8a6
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5793
diff
changeset
|
1951 | Public slot to activate a restored session. |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1952 | """ |
5793
4ff73b969ab1
Some fixes and adjustments for the session support of the Web Browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5785
diff
changeset
|
1953 | if self.__restoreData and not self.__mw.isClosing(): |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1954 | QTimer.singleShot(0, self.__showEventSlot) |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1955 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1956 | def getSessionData(self): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1957 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1958 | Public method to populate the session data. |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1959 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1960 | @return dictionary containing the session data |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1961 | @rtype dict |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1962 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1963 | if self.__restoreData: |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1964 | # page has not been shown yet |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1965 | return self.__restoreData |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1966 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1967 | sessionData = {} |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1968 | page = self.page() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1969 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1970 | # 1. zoom factor |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1971 | sessionData["ZoomFactor"] = page.zoomFactor() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1972 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1973 | # 2. scroll position |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1974 | scrollPos = page.scrollPosition() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1975 | sessionData["ScrollPosition"] = { |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1976 | "x": scrollPos.x(), |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1977 | "y": scrollPos.y(), |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1978 | } |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1979 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1980 | # 3. page history |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1981 | historyArray = QByteArray() |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1982 | stream = QDataStream(historyArray, QIODevice.WriteOnly) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1983 | stream << page.history() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1984 | sessionData["History"] = str( |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1985 | historyArray.toBase64(QByteArray.Base64UrlEncoding), |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1986 | encoding="ascii") |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1987 | sessionData["HistoryIndex"] = page.history().currentItemIndex() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1988 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1989 | # 4. current URL and title |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1990 | sessionData["Url"] = self.url().toString() |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1991 | sessionData["Title"] = self.title() |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1992 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1993 | # 5. web icon |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1994 | iconArray = QByteArray() |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1995 | stream = QDataStream(iconArray, QIODevice.WriteOnly) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
1996 | stream << page.icon() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1997 | sessionData["Icon"] = str(iconArray.toBase64(), encoding="ascii") |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1998 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
1999 | return sessionData |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2000 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2001 | def loadFromSessionData(self, sessionData): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2002 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2003 | Public method to load the session data. |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2004 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2005 | @param sessionData dictionary containing the session data as |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2006 | generated by getSessionData() |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2007 | @type dict |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2008 | """ |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2009 | page = self.page() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2010 | # blank the page |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2011 | page.setUrl(QUrl("about:blank")) |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2012 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2013 | # 1. page history |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2014 | if "History" in sessionData: |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2015 | historyArray = QByteArray.fromBase64( |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2016 | sessionData["History"].encode("ascii"), |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2017 | QByteArray.Base64UrlEncoding) |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2018 | stream = QDataStream(historyArray, QIODevice.ReadOnly) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2019 | stream >> page.history() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2020 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2021 | if "HistoryIndex" in sessionData: |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2022 | item = page.history().itemAt(sessionData["HistoryIndex"]) |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2023 | if item is not None: |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2024 | page.history().goToItem(item) |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2025 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2026 | # 2. zoom factor |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2027 | if "ZoomFactor" in sessionData: |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2028 | page.setZoomFactor(sessionData["ZoomFactor"]) |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2029 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2030 | # 3. scroll position |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2031 | if "ScrollPosition" in sessionData: |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2032 | scrollPos = sessionData["ScrollPosition"] |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2033 | page.scrollTo(QPointF(scrollPos["x"], scrollPos["y"])) |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2034 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2035 | def extractSessionMetaData(self, sessionData): |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2036 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2037 | Public method to extract some session meta data elements needed by the |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2038 | tab widget in case of deferred loading. |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2039 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2040 | @param sessionData dictionary containing the session data as |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2041 | generated by getSessionData() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2042 | @type dict |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2043 | @return tuple containing the title, URL and web icon |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2044 | @rtype tuple of (str, str, QIcon) |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2045 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2046 | if "Title" in sessionData: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2047 | title = sessionData["Title"] |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2048 | else: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2049 | title = "" |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2050 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2051 | if "Url" in sessionData: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2052 | urlStr = sessionData["Url"] |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2053 | else: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2054 | urlStr = "" |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2055 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2056 | if "Icon" in sessionData: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2057 | iconArray = QByteArray.fromBase64( |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2058 | sessionData["Icon"].encode("ascii")) |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2059 | stream = QDataStream(iconArray, QIODevice.ReadOnly) |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2060 | icon = QIcon() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2061 | stream >> icon |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2062 | else: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2063 | from .Tools import WebIconProvider |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2064 | icon = WebIconProvider.instance().iconForUrl( |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2065 | QUrl.fromUserInput(urlStr)) |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2066 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2067 | return title, urlStr, icon |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2068 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2069 | ########################################################################### |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2070 | ## Methods below implement safe browsing related functions |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2071 | ########################################################################### |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2072 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2073 | def getSafeBrowsingStatus(self): |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2074 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2075 | Public method to get the safe browsing status of the current page. |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2076 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2077 | @return flag indicating a safe site |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2078 | @rtype bool |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2079 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2080 | if self.__page: |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2081 | return self.__page.getSafeBrowsingStatus() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2082 | else: |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2083 | return True |