Wed, 19 May 2021 17:36:34 +0200
Continued porting eric to PyQt6.
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 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7900
diff
changeset
|
3 | # Copyright (c) 2008 - 2021 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 | |
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
|
11 | import os |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
12 | import functools |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
13 | import contextlib |
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
|
14 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
15 | from PyQt6.QtCore import ( |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
16 | pyqtSignal, pyqtSlot, Qt, QUrl, QFileInfo, QTimer, QEvent, QPoint, |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
17 | QPointF, QDateTime, QStandardPaths, QByteArray, QIODevice, QDataStream |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
18 | ) |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
19 | from PyQt6.QtGui import ( |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
20 | QDesktopServices, QClipboard, QIcon, QContextMenuEvent, QPixmap, QCursor |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
21 | ) |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
22 | from PyQt6.QtWidgets import QStyle, QMenu, QApplication, QDialog |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
23 | from PyQt6.QtWebEngineWidgets import ( |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
24 | QWebEngineView, QWebEnginePage, QWebEngineDownloadItem |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
25 | ) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
27 | from E5Gui import E5MessageBox, E5FileDialog |
7761
ed2c67d20328
Eliminated use of qApp in order to prepare for PyQt6 migration.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
28 | from E5Gui.E5Application import e5App |
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 |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
37 | from .Tools.WebBrowserTools import getHtmlPage, 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 |
1960
d8c45fe8a1b9
Reworked some of the AdBlock code to achieve some speed improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1953
diff
changeset
|
42 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
43 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
44 | class WebBrowserView(QWebEngineView): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
46 | Class implementing the web browser view widget. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
487
diff
changeset
|
48 | @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
|
49 | @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
|
50 | @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
|
51 | @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
|
52 | @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
|
53 | @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
|
54 | @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
|
55 | @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
|
56 | browsing event |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
57 | @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
|
58 | malicious web site as determined by safe browsing |
7356 | 59 | @signal showMessage(str) emitted to show a message in the main window |
60 | status bar | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
62 | sourceChanged = pyqtSignal(QUrl) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
63 | forwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
64 | backwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
65 | highlighted = pyqtSignal(str) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
66 | 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
|
67 | 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
|
68 | 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
|
69 | safeBrowsingAbort = pyqtSignal() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
70 | safeBrowsingBad = pyqtSignal(str, str) |
7356 | 71 | showMessage = pyqtSignal(str) |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
72 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
73 | ZoomLevels = [ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
74 | 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
|
75 | 100, |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
76 | 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
|
77 | ] |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
78 | ZoomLevelDefault = 100 |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
79 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
80 | def __init__(self, mainWindow, parent=None, name=""): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
84 | @param mainWindow reference to the main window (WebBrowserWindow) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | @param parent parent widget of this window (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | @param name name of this window (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
88 | super().__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | self.setObjectName(name) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
90 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
91 | self.__rwhvqt = None |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
92 | self.installEventFilter(self) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
93 | |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4865
diff
changeset
|
94 | self.__speedDial = WebBrowserWindow.speedDial() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
96 | 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
|
97 | self.__createNewPage() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
99 | self.__mw = mainWindow |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
100 | self.__tabWidget = parent |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | self.__isLoading = False |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
102 | self.__progress = 0 |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
103 | self.__siteIconLoader = None |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
104 | self.__siteIcon = QIcon() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
105 | self.__menu = QMenu(self) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
106 | self.__clickedPos = QPoint() |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
107 | self.__firstLoad = False |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
108 | self.__preview = QPixmap() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | self.__currentZoom = 100 |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
111 | self.__zoomLevels = WebBrowserView.ZoomLevels[:] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
113 | 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
|
114 | 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
|
115 | self.page().linkHovered.connect(self.__linkHovered) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
117 | 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
|
118 | 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
|
119 | self.loadFinished.connect(self.__loadFinished) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
120 | self.renderProcessTerminated.connect(self.__renderProcessTerminated) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
122 | self.__mw.openSearchManager().currentEngineChanged.connect( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
123 | 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
|
124 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
125 | 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
|
126 | |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
127 | 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
|
128 | |
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
|
129 | 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
|
130 | |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
131 | self.__mw.personalInformationManager().connectPage(self.page()) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
132 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
133 | self.__inspector = None |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
134 | 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
|
135 | |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
136 | self.__restoreData = None |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
137 | |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
138 | if self.parentWidget() is not None: |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
139 | self.parentWidget().installEventFilter(self) |
6269
51a0f31bb240
WebBrowserView: added rwhvqt detection for Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6221
diff
changeset
|
140 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
141 | self.grabGesture(Qt.GestureType.PinchGesture) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
143 | 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
|
144 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
145 | 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
|
146 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
147 | 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
|
148 | 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
|
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.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
|
151 | self.__page.safeBrowsingBad.connect(self.safeBrowsingBad) |
6656
273a2130adbe
WebBrowserPage: added support for the printRequested signal as of Qt 5.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6645
diff
changeset
|
152 | self.__page.printPageRequested.connect(self.__printPage) |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
153 | self.__page.quotaRequested.connect(self.__quotaRequested) |
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
154 | # The registerProtocolHandlerRequested signal is handled in |
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
155 | # WebBrowserPage. |
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
156 | self.__page.selectClientCertificate.connect( |
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
157 | self.__selectClientCertificate) |
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
158 | with contextlib.suppress(AttributeError, ImportError): |
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
159 | #- Qt >= 5.14 |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
160 | from PyQt6.QtWebEngineCore import QWebEngineFindTextResult |
7650
36c2dc7e3437
WebBrowserView: introduced a fix (kind of hack) for strange builds of QtWebEngine lacking QWebEngineFindTextResult although findTextFinished signal is defined.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
161 | # __IGNORE_WARNING__ |
36c2dc7e3437
WebBrowserView: introduced a fix (kind of hack) for strange builds of QtWebEngine lacking QWebEngineFindTextResult although findTextFinished signal is defined.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
162 | |
7356 | 163 | self.__page.findTextFinished.connect( |
164 | self.__findTextFinished) | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
165 | |
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
|
166 | 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
|
167 | """ |
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
|
168 | 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
|
169 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
170 | self.grabGesture(Qt.GestureType.PinchGesture) |
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
|
171 | 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
|
172 | if self.__rwhvqt: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
173 | self.__rwhvqt.grabGesture(Qt.GestureType.PinchGesture) |
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
|
174 | 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
|
175 | 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
|
176 | 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
|
177 | |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
178 | def __currentEngineChanged(self): |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
179 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
180 | 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
|
181 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
182 | if self.url().toString() == "eric:home": |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
183 | self.reload() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
185 | def mainWindow(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
186 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
187 | 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
|
188 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
189 | @return reference to the main window |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
190 | @rtype WebBrowserWindow |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
191 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
192 | return self.__mw |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
193 | |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
194 | def tabWidget(self): |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
195 | """ |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
196 | Public method to get a reference to the tab widget containing this |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
197 | view. |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
198 | |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
199 | @return reference to the tab widget |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
200 | @rtype WebBrowserTabWidget |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
201 | """ |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
202 | return self.__tabWidget |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6155
diff
changeset
|
203 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
204 | def load(self, url): |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
205 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
206 | Public method to load a web site. |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
207 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
208 | @param url URL to be loaded |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
209 | @type QUrl |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
210 | """ |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
211 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
212 | self.__page is not None and |
6141
f4cecd941096
WebBrowserView: Call acceptNavigationRequest() first in the load method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6126
diff
changeset
|
213 | not self.__page.acceptNavigationRequest( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
214 | url, QWebEnginePage.NavigationType.NavigationTypeTyped, True) |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
215 | ): |
6141
f4cecd941096
WebBrowserView: Call acceptNavigationRequest() first in the load method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6126
diff
changeset
|
216 | return |
f4cecd941096
WebBrowserView: Call acceptNavigationRequest() first in the load method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6126
diff
changeset
|
217 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
218 | super().load(url) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
219 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
220 | if not self.__firstLoad: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
221 | self.__firstLoad = True |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
222 | WebInspector.pushView(self) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
223 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
224 | def setSource(self, name, newTab=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | 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
|
227 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | @param name filename to be shown (QUrl) |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
229 | @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
|
230 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
231 | if name is None or not name.isValid(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
234 | if newTab: |
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
235 | # open in a new tab |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
236 | self.__mw.newTab(name) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | |
5195
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
239 | if not name.scheme(): |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
240 | 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
|
241 | 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
|
242 | else: |
5195
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
243 | if Utilities.isWindowsPlatform(): |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
244 | 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
|
245 | name.toString())) |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
246 | else: |
a282431c01fc
Fixed the last change to the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5194
diff
changeset
|
247 | name.setUrl("file://" + name.toString()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
249 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
250 | len(name.scheme()) == 1 or |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
251 | name.scheme() == "file" |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
252 | ): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | # name is a local file |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | if name.scheme() and len(name.scheme()) == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | # it is a local path on win os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | name = QUrl.fromLocalFile(name.toString()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | 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
|
259 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
260 | self, |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7945
diff
changeset
|
261 | self.tr("eric 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
|
262 | self.tr( |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
263 | """<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
|
264 | .format(name.toLocalFile())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | |
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
|
267 | if name.toLocalFile().lower().endswith((".pdf", ".chm")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
270 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
271 | self, |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7945
diff
changeset
|
272 | self.tr("eric 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
|
273 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
274 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
275 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
276 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | return |
278
c93823b96faa
Added a handler for ftp: URLs to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
260
diff
changeset
|
278 | elif name.scheme() in ["mailto"]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
281 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
282 | self, |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7945
diff
changeset
|
283 | self.tr("eric 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
|
284 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
285 | """<p>Could not start an application""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
286 | """ for URL <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
287 | .format(name.toString())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | 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
|
290 | if name.toString().lower().endswith((".pdf", ".chm")): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
293 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
294 | self, |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7945
diff
changeset
|
295 | self.tr("eric 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
|
296 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
297 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
298 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
299 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
302 | self.load(name) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | def source(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | 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
|
307 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | @return URL loaded in the help browser (QUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | return self.url() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | def documentTitle(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | 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
|
315 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | @return title (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | return self.title() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | def backward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | Public slot to move backwards in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
324 | self.triggerPageAction(QWebEnginePage.WebAction.Back) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | self.__urlChanged(self.history().currentItem().url()) |
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 | def forward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | Public slot to move forward in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
331 | self.triggerPageAction(QWebEnginePage.WebAction.Forward) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | def home(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | Public slot to move to the first page loaded. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
338 | homeUrl = QUrl(Preferences.getWebBrowser("HomePage")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | self.setSource(homeUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | def reload(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | Public slot to reload the current page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
346 | self.triggerPageAction(QWebEnginePage.WebAction.Reload) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | |
4791
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
348 | def reloadBypassingCache(self): |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
349 | """ |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
350 | 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
|
351 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
352 | self.triggerPageAction(QWebEnginePage.WebAction.ReloadAndBypassCache) |
4791
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
353 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | def copy(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | Public slot to copy the selected text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
358 | self.triggerPageAction(QWebEnginePage.WebAction.Copy) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
360 | def cut(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
361 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
362 | Public slot to cut the selected text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
363 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
364 | self.triggerPageAction(QWebEnginePage.WebAction.Cut) |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
365 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
366 | def paste(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
367 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
368 | Public slot to paste text from the clipboard. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
369 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
370 | self.triggerPageAction(QWebEnginePage.WebAction.Paste) |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
371 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
372 | def undo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
373 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
374 | Public slot to undo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
375 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
376 | self.triggerPageAction(QWebEnginePage.WebAction.Undo) |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
377 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
378 | def redo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
379 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
380 | Public slot to redo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
381 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
382 | self.triggerPageAction(QWebEnginePage.WebAction.Redo) |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
383 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
384 | def selectAll(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
385 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
386 | Public slot to select all text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
387 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
388 | self.triggerPageAction(QWebEnginePage.WebAction.SelectAll) |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
389 | |
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
|
390 | 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
|
391 | """ |
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
|
392 | 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
|
393 | """ |
5921
d4797da58218
Some more fixes for the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5920
diff
changeset
|
394 | try: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
395 | self.triggerPageAction(QWebEnginePage.WebAction.Unselect) |
5921
d4797da58218
Some more fixes for the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5920
diff
changeset
|
396 | except AttributeError: |
d4797da58218
Some more fixes for the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5920
diff
changeset
|
397 | # 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
|
398 | 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
|
399 | "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
|
400 | 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
|
401 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | def isForwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | 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
|
405 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | @return flag indicating move forward is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | return self.history().canGoForward() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | def isBackwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | 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
|
413 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | @return flag indicating move backwards is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | return self.history().canGoBack() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | def __levelForZoom(self, zoom): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | 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
|
421 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | @param zoom zoom factor (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | @return index of zoom factor (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | index = self.__zoomLevels.index(zoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | except ValueError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | for index in range(len(self.__zoomLevels)): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | if zoom <= self.__zoomLevels[index]: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | return index |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | |
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
|
433 | 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
|
434 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
435 | 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
|
436 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
437 | @param value zoom value (integer) |
7900
72b88fb20261
Corrected the use of '@keyparam' in the source documentation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
438 | @param saveValue flag indicating to save the zoom value with the |
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
|
439 | 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
|
440 | @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
|
441 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
442 | if value != self.__currentZoom: |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
443 | 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
|
444 | self.__currentZoom = value |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
445 | if saveValue and not self.__mw.isPrivate(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
446 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
447 | 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
|
448 | 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
|
449 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
450 | 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
|
451 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
452 | 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
|
453 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
454 | @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
|
455 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
456 | 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
|
457 | return int(val) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | def zoomIn(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | Public slot to zoom into the page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | if index < len(self.__zoomLevels) - 1: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
465 | self.setZoomValue(self.__zoomLevels[index + 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | def zoomOut(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | Public slot to zoom out of the page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | if index > 0: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
473 | self.setZoomValue(self.__zoomLevels[index - 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
475 | def zoomReset(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | Public method to reset the zoom factor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
479 | index = self.__levelForZoom(WebBrowserView.ZoomLevelDefault) |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
480 | self.setZoomValue(self.__zoomLevels[index]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | |
4925
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
482 | def mapToViewport(self, pos): |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
483 | """ |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
484 | 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
|
485 | |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
486 | @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
|
487 | @type QPoint |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
488 | @return viewport position |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
489 | @rtype QPoint |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
490 | """ |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
491 | return self.page().mapToViewport(pos) |
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
492 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | def hasSelection(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
494 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | 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
|
496 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | @return flag indicating text has been selected (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | return self.selectedText() != "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | |
4881
c269212cceac
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4880
diff
changeset
|
501 | def findNextPrev(self, txt, case, backwards, callback): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | 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
|
504 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | @param txt text to search for (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | @param case flag indicating a case sensitive search (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | @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
|
508 | @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
|
509 | @type function(bool) or None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | """ |
8324
83084f088655
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
511 | findFlags = QWebEnginePage.FindFlag(0) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | if case: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
513 | findFlags |= QWebEnginePage.FindFlag.FindCaseSensitively |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | if backwards: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
515 | findFlags |= QWebEnginePage.FindFlag.FindBackward |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
517 | if callback is None: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
518 | self.findText(txt, findFlags) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
519 | else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
520 | self.findText(txt, findFlags, callback) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | |
7356 | 522 | def __findTextFinished(self, result): |
523 | """ | |
524 | Private slot handling the findTextFinished signal of the web page. | |
525 | ||
526 | @param result reference to the QWebEngineFindTextResult object of the | |
527 | last search | |
528 | @type QWebEngineFindTextResult | |
529 | """ | |
530 | self.showMessage.emit(self.tr("Match {0} of {1}").format( | |
531 | result.activeMatch(), result.numberOfMatches()) | |
532 | ) | |
533 | ||
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | def contextMenuEvent(self, evt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | """ |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
536 | 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
|
537 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
538 | This method is overridden from QWebEngineView. |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
539 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
540 | @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
|
541 | (QContextMenuEvent) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
542 | """ |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
543 | pos = evt.pos() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
544 | reason = evt.reason() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
545 | QTimer.singleShot( |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
546 | 0, |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
547 | lambda: self._contextMenuEvent(QContextMenuEvent(reason, pos))) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
548 | # 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
|
549 | # the main loop |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
550 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
551 | def _contextMenuEvent(self, evt): |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
552 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | Protected method called to create a context menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
555 | This method is overridden from QWebEngineView. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
557 | @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
|
558 | (QContextMenuEvent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | """ |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
560 | self.__menu.clear() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
561 | |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
562 | hitTest = self.page().hitTestContent(evt.pos()) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
563 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
564 | self.__createContextMenu(self.__menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
565 | |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
566 | 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
|
567 | self.__menu.addSeparator() |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
568 | # TODO: change this code to add a QMenu |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
569 | self.__menu.addAction(self.__mw.adBlockIcon().menuAction()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
570 | |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
571 | self.__menu.addSeparator() |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
572 | self.__menu.addAction( |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
573 | UI.PixmapCache.getIcon("webInspector"), |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
574 | self.tr("Inspect Element..."), self.__webInspector) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
575 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
576 | if not self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
577 | pos = evt.globalPos() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
578 | 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
|
579 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
580 | def __createContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
581 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
582 | Private method to populate the context menu. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
584 | @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
|
585 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
586 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
587 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
588 | """ |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
589 | spellCheckActionCount = 0 |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
590 | contextMenuData = self.page().contextMenuData() |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
591 | hitTest.updateWithContextMenuData(contextMenuData) |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
592 | |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
593 | if bool(contextMenuData.misspelledWord()): |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
594 | boldFont = menu.font() |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
595 | boldFont.setBold(True) |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
596 | |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
597 | for suggestion in contextMenuData.spellCheckerSuggestions(): |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
598 | act = menu.addAction(suggestion) |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
599 | act.setFont(boldFont) |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
600 | act.triggered.connect( |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
601 | functools.partial(self.__replaceMisspelledWord, act)) |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
602 | |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
603 | if not bool(menu.actions()): |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
604 | menu.addAction(self.tr("No suggestions")).setEnabled(False) |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
605 | |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
606 | menu.addSeparator() |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
607 | spellCheckActionCount = len(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
|
608 | |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
609 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
610 | not hitTest.linkUrl().isEmpty() and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
611 | hitTest.linkUrl().scheme() != "javascript" |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
612 | ): |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
613 | self.__createLinkContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
614 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
615 | if not hitTest.imageUrl().isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
616 | self.__createImageContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
617 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
618 | if not hitTest.mediaUrl().isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
619 | self.__createMediaContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
620 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
621 | 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
|
622 | # 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
|
623 | 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
|
624 | 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
|
625 | 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
|
626 | 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
|
627 | 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
|
628 | 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
|
629 | 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
|
630 | 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
|
631 | 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
|
632 | menu, self, hitTest) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
633 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
634 | if hitTest.tagName() == "input": |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
635 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
636 | act = menu.addAction("") |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
637 | act.setVisible(False) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
638 | self.__checkForForm(act, hitTest.pos()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
639 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
640 | if self.selectedText(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
641 | self.__createSelectedTextContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
642 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
643 | if self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
644 | self.__createPageContextMenu(menu) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
645 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
646 | def __createLinkContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
647 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
648 | 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
|
649 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
650 | @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
|
651 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
652 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
653 | @type WebHitTestResult |
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 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
656 | menu.addSeparator() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
658 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
659 | UI.PixmapCache.getIcon("openNewTab"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
660 | self.tr("Open Link in New Tab\tCtrl+LMB")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
661 | act.setData(hitTest.linkUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
662 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
663 | lambda: self.__openLinkInNewTab(act)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
664 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
665 | UI.PixmapCache.getIcon("newWindow"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
666 | self.tr("Open Link in New Window")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
667 | act.setData(hitTest.linkUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
668 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
669 | lambda: self.__openLinkInNewWindow(act)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
670 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
671 | UI.PixmapCache.getIcon("privateMode"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
672 | self.tr("Open Link in New Private Window")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
673 | act.setData(hitTest.linkUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
674 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
675 | lambda: self.__openLinkInNewPrivateWindow(act)) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
676 | menu.addSeparator() |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
677 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
678 | UI.PixmapCache.getIcon("download"), |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
679 | self.tr("Save Lin&k"), self.__downloadLink) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
680 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
681 | UI.PixmapCache.getIcon("bookmark22"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
682 | self.tr("Bookmark this Link")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
683 | act.setData(hitTest.linkUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
684 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
685 | lambda: self.__bookmarkLink(act)) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
686 | menu.addSeparator() |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
687 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
688 | UI.PixmapCache.getIcon("editCopy"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
689 | self.tr("Copy Link to Clipboard")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
690 | act.setData(hitTest.linkUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
691 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
692 | lambda: self.__copyLink(act)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
693 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
694 | UI.PixmapCache.getIcon("mailSend"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
695 | self.tr("Send Link")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
696 | act.setData(hitTest.linkUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
697 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
698 | lambda: self.__sendLink(act)) |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
699 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
700 | Preferences.getWebBrowser("VirusTotalEnabled") and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
701 | Preferences.getWebBrowser("VirusTotalServiceKey") != "" |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
702 | ): |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
703 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
704 | UI.PixmapCache.getIcon("virustotal"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
705 | self.tr("Scan Link with VirusTotal")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
706 | act.setData(hitTest.linkUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
707 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
708 | lambda: self.__virusTotal(act)) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
709 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
710 | def __createImageContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
711 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
712 | 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
|
713 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
714 | @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
|
715 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
716 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
717 | @type WebHitTestResult |
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 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
720 | 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
|
721 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
722 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
723 | UI.PixmapCache.getIcon("openNewTab"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
724 | self.tr("Open Image in New Tab")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
725 | act.setData(hitTest.imageUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
726 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
727 | lambda: self.__openLinkInNewTab(act)) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
728 | menu.addSeparator() |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
729 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
730 | UI.PixmapCache.getIcon("download"), |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
731 | self.tr("Save Image"), self.__downloadImage) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
732 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
733 | self.tr("Copy Image to Clipboard"), self.__copyImage) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
734 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
735 | UI.PixmapCache.getIcon("editCopy"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
736 | self.tr("Copy Image Location to Clipboard")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
737 | act.setData(hitTest.imageUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
738 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
739 | lambda: self.__copyLink(act)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
740 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
741 | UI.PixmapCache.getIcon("mailSend"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
742 | self.tr("Send Image Link")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
743 | act.setData(hitTest.imageUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
744 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
745 | lambda: self.__sendLink(act)) |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
746 | |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
747 | 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
|
748 | menu.addSeparator() |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
749 | 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
|
750 | searchEngineName = engine.searchEngine() |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
751 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
752 | UI.PixmapCache.getIcon("{0}".format( |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
753 | searchEngineName.lower())), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
754 | self.tr("Search image in {0}").format(searchEngineName)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
755 | act.setData(engine.getSearchQuery(hitTest.imageUrl())) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
756 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
757 | lambda: self.__searchImage(act)) |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
758 | 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
|
759 | 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
|
760 | for searchEngineName in engine.searchEngineNames(): |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
761 | act = self.__imageSearchMenu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
762 | UI.PixmapCache.getIcon("{0}".format( |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
763 | searchEngineName.lower())), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
764 | self.tr("Search image in {0}").format(searchEngineName)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
765 | act.setData(engine.getSearchQuery( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
766 | hitTest.imageUrl(), searchEngineName)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
767 | act.triggered.connect( |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
768 | functools.partial(self.__searchImage, act)) |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
769 | |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
770 | menu.addSeparator() |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
771 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
772 | UI.PixmapCache.getIcon("adBlockPlus"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
773 | self.tr("Block Image")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
774 | act.setData(hitTest.imageUrl().toString()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
775 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
776 | lambda: self.__blockImage(act)) |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
777 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
778 | Preferences.getWebBrowser("VirusTotalEnabled") and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
779 | Preferences.getWebBrowser("VirusTotalServiceKey") != "" |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
780 | ): |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
781 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
782 | UI.PixmapCache.getIcon("virustotal"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
783 | self.tr("Scan Image with VirusTotal")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
784 | act.setData(hitTest.imageUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
785 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
786 | lambda: self.__virusTotal(act)) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
787 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
788 | def __createMediaContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
789 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
790 | 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
|
791 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
792 | @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
|
793 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
794 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
795 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
796 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | if not menu.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
798 | 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
|
799 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
800 | if hitTest.mediaPaused(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
801 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
802 | UI.PixmapCache.getIcon("mediaPlaybackStart"), |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
803 | self.tr("Play"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
804 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
805 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
806 | UI.PixmapCache.getIcon("mediaPlaybackPause"), |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
807 | self.tr("Pause"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
808 | if hitTest.mediaMuted(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
809 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
810 | UI.PixmapCache.getIcon("audioVolumeHigh"), |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
811 | self.tr("Unmute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
812 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
813 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
814 | UI.PixmapCache.getIcon("audioVolumeMuted"), |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
815 | self.tr("Mute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
816 | menu.addSeparator() |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
817 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
818 | UI.PixmapCache.getIcon("editCopy"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
819 | self.tr("Copy Media Address to Clipboard")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
820 | act.setData(hitTest.mediaUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
821 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
822 | lambda: self.__copyLink(act)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
823 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
824 | UI.PixmapCache.getIcon("mailSend"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
825 | self.tr("Send Media Address")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
826 | act.setData(hitTest.mediaUrl()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
827 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
828 | lambda: self.__sendLink(act)) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
829 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
830 | UI.PixmapCache.getIcon("download"), |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
831 | self.tr("Save Media"), self.__downloadMedia) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
832 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
833 | def __createSelectedTextContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
834 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
835 | 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
|
836 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
837 | @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
|
838 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
839 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
840 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
841 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
842 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
843 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
844 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
845 | menu.addAction(self.__mw.copyAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
846 | menu.addSeparator() |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
847 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
848 | UI.PixmapCache.getIcon("mailSend"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
849 | self.tr("Send Text")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
850 | act.setData(self.selectedText()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
851 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
852 | lambda: self.__sendLink(act)) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
853 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
854 | engineName = self.__mw.openSearchManager().currentEngineName() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
855 | if engineName: |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
856 | 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
|
857 | self.__searchDefaultRequested) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
858 | |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
859 | from .OpenSearch.OpenSearchEngineAction import ( |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
860 | OpenSearchEngineAction |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
861 | ) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
862 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
863 | 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
|
864 | engineNames = self.__mw.openSearchManager().allEnginesNames() |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
865 | for engineName in engineNames: |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
866 | engine = self.__mw.openSearchManager().engine(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
867 | act = OpenSearchEngineAction(engine, self.__searchMenu) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
868 | act.setData(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
869 | self.__searchMenu.addAction(act) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
870 | self.__searchMenu.triggered.connect(self.__searchRequested) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
871 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
872 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
873 | |
4754
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
874 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
875 | languages = Preferences.toList( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
876 | Preferences.Prefs.settings.value( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
877 | "WebBrowser/AcceptLanguages", |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
878 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
879 | if languages: |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
880 | language = languages[0] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
881 | langCode = language.split("[")[1][:2] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
882 | 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
|
883 | "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
|
884 | langCode, self.selectedText())) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
885 | act1 = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
886 | UI.PixmapCache.getIcon("translate"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
887 | self.tr("Google Translate")) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
888 | act1.setData(googleTranslatorUrl) |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
889 | act1.triggered.connect( |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
890 | lambda: self.__openLinkInNewTab(act1)) |
4754
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
891 | wiktionaryUrl = QUrl( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
892 | "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
|
893 | .format(langCode, self.selectedText())) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
894 | act2 = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
895 | UI.PixmapCache.getIcon("wikipedia"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
896 | self.tr("Dictionary")) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
897 | act2.setData(wiktionaryUrl) |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
898 | act2.triggered.connect( |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
899 | lambda: self.__openLinkInNewTab(act2)) |
4754
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
900 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
901 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
902 | guessedUrl = QUrl.fromUserInput(self.selectedText().strip()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
903 | if self.__isUrlValid(guessedUrl): |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
904 | act3 = menu.addAction(self.tr("Go to web address")) |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
905 | act3.setData(guessedUrl) |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
906 | act3.triggered.connect( |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
907 | lambda: self.__openLinkInNewTab(act3)) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
908 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
909 | def __createPageContextMenu(self, menu): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
910 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
911 | Private method to populate the basic context menu. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
912 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
913 | @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
|
914 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
915 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
916 | menu.addAction(self.__mw.newTabAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
917 | menu.addAction(self.__mw.newAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
918 | 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
|
919 | 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
|
920 | menu.addAction(self.__mw.saveAsAct) |
6155
ae44225e7e7c
PageScreen: Removed the action to save the whole web page as a screenshot because it is not supported by QWebEngine (and probably will not in the foreseeable future).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6147
diff
changeset
|
921 | menu.addAction(self.__mw.saveVisiblePageScreenAct) |
ae44225e7e7c
PageScreen: Removed the action to save the whole web page as a screenshot because it is not supported by QWebEngine (and probably will not in the foreseeable future).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6147
diff
changeset
|
922 | 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
|
923 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
924 | if self.url().toString() == "eric:speeddial": |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
925 | # special menu for the spedd dial page |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
926 | menu.addAction(self.__mw.backAct) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
927 | menu.addAction(self.__mw.forwardAct) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
928 | menu.addSeparator() |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
929 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
930 | UI.PixmapCache.getIcon("plus"), |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
931 | self.tr("Add New Page"), self.__addSpeedDial) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
932 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
933 | UI.PixmapCache.getIcon("preferences-general"), |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
934 | self.tr("Configure Speed Dial"), self.__configureSpeedDial) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
935 | menu.addSeparator() |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
936 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
937 | UI.PixmapCache.getIcon("reload"), |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
938 | 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
|
939 | menu.addSeparator() |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
940 | menu.addAction( |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
941 | 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
|
942 | return |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
943 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
944 | menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
945 | UI.PixmapCache.getIcon("bookmark22"), |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
946 | self.tr("Bookmark this Page"), self.addBookmark) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
947 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
948 | UI.PixmapCache.getIcon("editCopy"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
949 | self.tr("Copy Page Link")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
950 | act.setData(self.url()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
951 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
952 | lambda: self.__copyLink(act)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
953 | act = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
954 | UI.PixmapCache.getIcon("mailSend"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
955 | self.tr("Send Page Link")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
956 | act.setData(self.url()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
957 | act.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
958 | lambda: self.__sendLink(act)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
959 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
960 | |
4906
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
961 | from .UserAgent.UserAgentMenu import UserAgentMenu |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
962 | self.__userAgentMenu = UserAgentMenu(self.tr("User Agent"), |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
963 | url=self.url()) |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
964 | menu.addMenu(self.__userAgentMenu) |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
965 | menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
966 | menu.addAction(self.__mw.backAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
967 | menu.addAction(self.__mw.forwardAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
968 | menu.addAction(self.__mw.homeAct) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
969 | menu.addAction(self.__mw.reloadAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
970 | menu.addAction(self.__mw.stopAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
971 | menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
972 | menu.addAction(self.__mw.zoomInAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
973 | menu.addAction(self.__mw.zoomResetAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
974 | menu.addAction(self.__mw.zoomOutAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
975 | menu.addSeparator() |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
976 | menu.addAction(self.__mw.selectAllAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
977 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
978 | menu.addAction(self.__mw.findAct) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
979 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
980 | menu.addAction(self.__mw.pageSourceAct) |
4783
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
981 | menu.addSeparator() |
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
982 | menu.addAction(self.__mw.siteInfoAct) |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
983 | if self.url().scheme() in ["http", "https"]: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
984 | menu.addSeparator() |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
985 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
986 | w3url = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
987 | b"http://validator.w3.org/check?uri=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
988 | QUrl.toPercentEncoding(bytes(self.url().toEncoded()).decode())) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
989 | act1 = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
990 | UI.PixmapCache.getIcon("w3"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
991 | self.tr("Validate Page")) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
992 | act1.setData(w3url) |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
993 | act1.triggered.connect( |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
994 | lambda: self.__openLinkInNewTab(act1)) |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
995 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
996 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
997 | languages = Preferences.toList( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
998 | Preferences.Prefs.settings.value( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
999 | "WebBrowser/AcceptLanguages", |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1000 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1001 | if languages: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1002 | language = languages[0] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1003 | langCode = language.split("[")[1][:2] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1004 | googleTranslatorUrl = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1005 | 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
|
1006 | langCode.encode() + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1007 | b"&u=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1008 | QUrl.toPercentEncoding( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1009 | bytes(self.url().toEncoded()).decode())) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1010 | act2 = menu.addAction( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
1011 | UI.PixmapCache.getIcon("translate"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1012 | self.tr("Google Translate")) |
7937
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1013 | act2.setData(googleTranslatorUrl) |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1014 | act2.triggered.connect( |
181d1160f617
Fixed some 'lambda' related issues by converting them to 'functools.partial'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
1015 | lambda: self.__openLinkInNewTab(act2)) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1016 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1017 | def __checkForForm(self, act, pos): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1018 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1019 | 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
|
1020 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1021 | @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
|
1022 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1023 | @param pos position to be tested |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1024 | @type QPoint |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1025 | """ |
4925
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
1026 | self.__clickedPos = self.mapToViewport(pos) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1027 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1028 | from .Tools import Scripts |
4925
6534062014dc
Mapped the webhit test position to the viewport.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4924
diff
changeset
|
1029 | script = Scripts.getFormData(self.__clickedPos) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1030 | 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
|
1031 | 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
|
1032 | 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
|
1033 | lambda res: self.__checkForFormCallback(res, act)) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1034 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1035 | def __checkForFormCallback(self, res, act): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1036 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1037 | Private method handling the __checkForForm result. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1038 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1039 | @param res result dictionary generated by JavaScript |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1040 | @type dict |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1041 | @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
|
1042 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1043 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1044 | if act is None or not bool(res): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1045 | return |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1046 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1047 | url = QUrl(res["action"]) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1048 | method = res["method"] |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1049 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1050 | 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
|
1051 | act.setVisible(True) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1052 | 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
|
1053 | act.triggered.connect(self.__addSearchEngine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1054 | |
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
|
1055 | 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
|
1056 | """ |
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
|
1057 | 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
|
1058 | |
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
|
1059 | @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
|
1060 | @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
|
1061 | """ |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1062 | return ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1063 | url.isValid() and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1064 | bool(url.host()) and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1065 | bool(url.scheme()) and |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
1066 | "." in url.host() |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1067 | ) |
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
|
1068 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1069 | def __replaceMisspelledWord(self, act): |
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
|
1070 | """ |
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
|
1071 | Private slot to replace a misspelled word under the context menu. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1072 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1073 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1074 | @type QAction |
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
|
1075 | """ |
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
|
1076 | 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
|
1077 | 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
|
1078 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1079 | def __openLinkInNewTab(self, act): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1080 | """ |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1081 | 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
|
1082 | tab. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1083 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1084 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1085 | @type QAction |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1086 | """ |
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
|
1087 | url = act.data() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1088 | if url.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1089 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1090 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
1091 | self.setSource(url, newTab=True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1092 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1093 | def __openLinkInNewWindow(self, act): |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1094 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1095 | 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
|
1096 | window. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1097 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1098 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1099 | @type QAction |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1100 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1101 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1102 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1103 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1104 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1105 | self.__mw.newWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1106 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1107 | def __openLinkInNewPrivateWindow(self, act): |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1108 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1109 | 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
|
1110 | private window. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1111 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1112 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1113 | @type QAction |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1114 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1115 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1116 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1117 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1118 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1119 | self.__mw.newPrivateWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1120 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1121 | def __bookmarkLink(self, act): |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1122 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1123 | Private slot to bookmark a link via the context menu. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1124 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1125 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1126 | @type QAction |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1127 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1128 | url = act.data() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1129 | if url.isEmpty(): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1130 | return |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1131 | |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1132 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1133 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1134 | dlg.setUrl(bytes(url.toEncoded()).decode()) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7717
diff
changeset
|
1135 | dlg.exec() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1136 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1137 | def __sendLink(self, act): |
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
|
1138 | """ |
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
|
1139 | Private slot to send a link via email. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1140 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1141 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1142 | @type QAction |
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
|
1143 | """ |
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
|
1144 | 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
|
1145 | 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
|
1146 | 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
|
1147 | |
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
|
1148 | 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
|
1149 | 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
|
1150 | 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
|
1151 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1152 | def __copyLink(self, act): |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1153 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1154 | Private slot to copy a link to the clipboard. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1155 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1156 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1157 | @type QAction |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1158 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1159 | data = act.data() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1160 | if isinstance(data, QUrl) and data.isEmpty(): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1161 | return |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1162 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1163 | if isinstance(data, QUrl): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1164 | data = data.toString() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1165 | QApplication.clipboard().setText(data) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1166 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1167 | def __downloadLink(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1168 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1169 | 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
|
1170 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1171 | self.triggerPageAction(QWebEnginePage.WebAction.DownloadLinkToDisk) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1172 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1173 | def __downloadImage(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1174 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1175 | 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
|
1176 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1177 | self.triggerPageAction(QWebEnginePage.WebAction.DownloadImageToDisk) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1178 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1179 | def __copyImage(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1180 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1181 | 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
|
1182 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1183 | self.triggerPageAction(QWebEnginePage.WebAction.CopyImageToClipboard) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1184 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1185 | def __blockImage(self, act): |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1186 | """ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1187 | Private slot to add a block rule for an image URL. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1188 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1189 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1190 | @type QAction |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1191 | """ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1192 | url = act.data() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1193 | dlg = WebBrowserWindow.adBlockManager().showDialog() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1194 | dlg.addCustomRule(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1195 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1196 | def __searchImage(self, act): |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1197 | """ |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1198 | Private slot to search for an image URL. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1199 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1200 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1201 | @type QAction |
4956
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1202 | """ |
1496516b0f2c
Finished implementing the image search functionality for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4954
diff
changeset
|
1203 | 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
|
1204 | 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
|
1205 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1206 | def __downloadMedia(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1207 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1208 | 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
|
1209 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1210 | self.triggerPageAction(QWebEnginePage.WebAction.DownloadMediaToDisk) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
1211 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1212 | def __pauseMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1213 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1214 | 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
|
1215 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1216 | self.triggerPageAction(QWebEnginePage.WebAction.ToggleMediaPlayPause) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1217 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1218 | def __muteMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1219 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1220 | Private slot to (un)mute the selected media. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1221 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1222 | self.triggerPageAction(QWebEnginePage.WebAction.ToggleMediaMute) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
1223 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1224 | def __virusTotal(self, act): |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1225 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1226 | Private slot to scan the selected URL with VirusTotal. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1227 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1228 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6081
diff
changeset
|
1229 | @type QAction |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1230 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1231 | url = act.data() |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1232 | self.__mw.requestVirusTotalScan(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1233 | |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1234 | def __searchDefaultRequested(self): |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1235 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1236 | 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
|
1237 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1238 | searchText = self.selectedText() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1239 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1240 | if not searchText: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1241 | return |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1242 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1243 | engine = self.__mw.openSearchManager().currentEngine() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1244 | if engine: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1245 | self.search.emit(engine.searchUrl(searchText)) |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1246 | |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1247 | def __searchRequested(self, act): |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1248 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1249 | 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
|
1250 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1251 | @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
|
1252 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1253 | searchText = self.selectedText() |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1254 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1255 | if not searchText: |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1256 | return |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1257 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1258 | engineName = act.data() |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
1259 | engine = ( |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
1260 | self.__mw.openSearchManager().engine(engineName) |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
1261 | if engineName else |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
1262 | self.__mw.openSearchManager().currentEngine() |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8243
diff
changeset
|
1263 | ) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1264 | if engine: |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1265 | self.search.emit(engine.searchUrl(searchText)) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1266 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1267 | def __addSearchEngine(self): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1268 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1269 | Private slot to add a new search engine. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1270 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1271 | from .Tools import Scripts |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1272 | script = Scripts.getFormData(self.__clickedPos) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1273 | self.page().runJavaScript( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1274 | 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
|
1275 | WebBrowserPage.SafeJsWorld, |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1276 | lambda res: self.__mw.openSearchManager().addEngineFromForm( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1277 | 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
|
1278 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1279 | def __webInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1280 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1281 | Private slot to show the web inspector window. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1282 | """ |
6126
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1283 | from .WebInspector import WebInspector |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1284 | if WebInspector.isEnabled(): |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1285 | if self.__inspector is None: |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1286 | self.__inspector = WebInspector() |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1287 | self.__inspector.setView(self, True) |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1288 | self.__inspector.inspectorClosed.connect( |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1289 | self.closeWebInspector) |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1290 | self.__inspector.show() |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1291 | else: |
6c4509eceea2
Fixed an issue related to the display of the web inspector window.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
1292 | self.closeWebInspector() |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1293 | |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1294 | def closeWebInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1295 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1296 | Public slot to close the web inspector. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1297 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1298 | if self.__inspector is not None: |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1299 | if self.__inspector.isVisible(): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1300 | self.__inspector.hide() |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1301 | WebInspector.unregisterView(self.__inspector) |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1302 | self.__inspector.deleteLater() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1303 | 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
|
1304 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1305 | def addBookmark(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1306 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1307 | Public slot to bookmark the current page. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1308 | """ |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1309 | from .Tools import Scripts |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1310 | script = Scripts.getAllMetaAttributes() |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1311 | 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
|
1312 | script, WebBrowserPage.SafeJsWorld, self.__addBookmarkCallback) |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1313 | |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1314 | def __addBookmarkCallback(self, res): |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1315 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1316 | Private callback method of __addBookmark(). |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1317 | |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
1318 | @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
|
1319 | meta attributes |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1320 | @type list |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1321 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1322 | description = "" |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1323 | for meta in res: |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1324 | if meta["name"] == "description": |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1325 | description = meta["content"] |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1326 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1327 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1328 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1329 | dlg.setUrl(bytes(self.url().toEncoded()).decode()) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1330 | dlg.setTitle(self.title()) |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1331 | dlg.setDescription(description) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7717
diff
changeset
|
1332 | dlg.exec() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1333 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1334 | 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
|
1335 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1336 | 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
|
1337 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1338 | @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
|
1339 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1340 | 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
|
1341 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1342 | 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
|
1343 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1344 | 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
|
1345 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1346 | @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
|
1347 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1348 | 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
|
1349 | 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
|
1350 | 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
|
1351 | 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
|
1352 | else: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1353 | 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
|
1354 | 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
|
1355 | 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
|
1356 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1357 | if not evt.isAccepted(): |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
1358 | super().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
|
1359 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1360 | 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
|
1361 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1362 | 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
|
1363 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1364 | @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
|
1365 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
1366 | super().dropEvent(evt) |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1367 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1368 | not evt.isAccepted() and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1369 | evt.source() != self and |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1370 | evt.possibleActions() & Qt.DropAction.CopyAction |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1371 | ): |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1372 | 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
|
1373 | 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
|
1374 | 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
|
1375 | 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
|
1376 | 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
|
1377 | 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
|
1378 | 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
|
1379 | 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
|
1380 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1381 | 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
|
1382 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1383 | 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
|
1384 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1385 | @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
|
1386 | """ |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1387 | 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
|
1388 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1389 | return |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1390 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1391 | self.__mw.setEventMouseButtons(evt.buttons()) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1392 | 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
|
1393 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1394 | if evt.button() == Qt.MouseButton.XButton1: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1395 | self.pageAction(QWebEnginePage.WebAction.Back).trigger() |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1396 | evt.accept() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1397 | elif evt.button() == Qt.MouseButton.XButton2: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1398 | self.pageAction(QWebEnginePage.WebAction.Forward).trigger() |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1399 | 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
|
1400 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1401 | 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
|
1402 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1403 | 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
|
1404 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1405 | @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
|
1406 | """ |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1407 | 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
|
1408 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1409 | return |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1410 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1411 | 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
|
1412 | self.__page.event(evt) |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1413 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1414 | not evt.isAccepted() and |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
1415 | self.__mw.eventMouseButtons() & Qt.MouseButton.MiddleButton |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1416 | ): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1417 | url = QUrl(QApplication.clipboard().text( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1418 | QClipboard.Mode.Selection)) |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1419 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1420 | not url.isEmpty() and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1421 | url.isValid() and |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1422 | url.scheme() != "" |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1423 | ): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1424 | self.__mw.setEventMouseButtons(Qt.MouseButton.NoButton) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1425 | self.__mw.setEventKeyboardModifiers( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1426 | Qt.KeyboardModifier.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
|
1427 | 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
|
1428 | 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
|
1429 | |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1430 | def _mouseMoveEvent(self, evt): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1431 | """ |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1432 | 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
|
1433 | |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1434 | @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
|
1435 | """ |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1436 | 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
|
1437 | 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
|
1438 | 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
|
1439 | 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
|
1440 | # 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
|
1441 | self.__mw.showFullScreenNavigation() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1442 | |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1443 | 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
|
1444 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1445 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1446 | 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
|
1447 | """ |
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
|
1448 | 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
|
1449 | |
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
|
1450 | @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
|
1451 | """ |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1452 | if WebBrowserWindow.autoScroller().wheel(): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1453 | evt.accept() |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1454 | return |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1455 | |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4713
diff
changeset
|
1456 | delta = evt.angleDelta().y() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1457 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3776
diff
changeset
|
1458 | 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
|
1459 | self.zoomOut() |
6081
7ea61bd1aa23
Fixed handling of mouse wheel events for mive with a wheel supporting horizontal tilting.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1460 | elif 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
|
1461 | 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
|
1462 | 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
|
1463 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1464 | elif evt.modifiers() & Qt.KeyboardModifier.ShiftModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3776
diff
changeset
|
1465 | 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
|
1466 | self.backward() |
6081
7ea61bd1aa23
Fixed handling of mouse wheel events for mive with a wheel supporting horizontal tilting.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1467 | elif 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
|
1468 | 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
|
1469 | 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
|
1470 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1471 | def _keyPressEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1472 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1473 | Protected method called by a key press. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1474 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1475 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1476 | """ |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1477 | if self.__mw.personalInformationManager().viewKeyPressEvent(self, evt): |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1478 | evt.accept() |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1479 | return |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1480 | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1481 | if evt.key() == Qt.Key.Key_ZoomIn: |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1482 | self.zoomIn() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1483 | evt.accept() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1484 | elif evt.key() == Qt.Key.Key_ZoomOut: |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1485 | self.zoomOut() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1486 | evt.accept() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1487 | elif evt.key() == Qt.Key.Key_Plus: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1488 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1489 | self.zoomIn() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1490 | evt.accept() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1491 | elif evt.key() == Qt.Key.Key_Minus: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1492 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1493 | self.zoomOut() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1494 | evt.accept() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1495 | elif evt.key() == Qt.Key.Key_0: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1496 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1497 | self.zoomReset() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1498 | evt.accept() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1499 | elif evt.key() == Qt.Key.Key_M: |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1500 | if evt.modifiers() & Qt.KeyboardModifier.ControlModifier: |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1501 | self.__muteMedia() |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1502 | evt.accept() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1503 | elif evt.key() == Qt.Key.Key_Backspace: |
6839
4f6234f34dfd
WebBrowserView: added support to go one page back by pressing the backspace key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6797
diff
changeset
|
1504 | pos = QCursor.pos() |
4f6234f34dfd
WebBrowserView: added support to go one page back by pressing the backspace key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6797
diff
changeset
|
1505 | pos = self.mapFromGlobal(pos) |
4f6234f34dfd
WebBrowserView: added support to go one page back by pressing the backspace key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6797
diff
changeset
|
1506 | hitTest = self.page().hitTestContent(pos) |
4f6234f34dfd
WebBrowserView: added support to go one page back by pressing the backspace key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6797
diff
changeset
|
1507 | if not hitTest.isContentEditable(): |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1508 | self.pageAction(QWebEnginePage.WebAction.Back).trigger() |
6839
4f6234f34dfd
WebBrowserView: added support to go one page back by pressing the backspace key.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6797
diff
changeset
|
1509 | evt.accept() |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1510 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1511 | def _keyReleaseEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1512 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1513 | Protected method called by a key release. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1514 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1515 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1516 | """ |
8227
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1517 | if evt.key() == Qt.Key.Key_Escape and self.isFullScreen(): |
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1518 | self.triggerPageAction(QWebEnginePage.WebAction.ExitFullScreen) |
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1519 | evt.accept() |
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1520 | 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
|
1521 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1522 | 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
|
1523 | """ |
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
|
1524 | 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
|
1525 | |
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
|
1526 | @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
|
1527 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1528 | pinch = evt.gesture(Qt.GestureType.PinchGesture) |
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
|
1529 | if pinch: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1530 | if pinch.state() == Qt.GestureState.GestureStarted: |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5630
diff
changeset
|
1531 | pinch.setTotalScaleFactor(self.__currentZoom / 100.0) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1532 | elif pinch.state() == Qt.GestureState.GestureUpdated: |
5631
d0beabfaad42
Fixed the pinch gesture behavior.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5630
diff
changeset
|
1533 | scaleFactor = pinch.totalScaleFactor() |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
1534 | 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
|
1535 | evt.accept() |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1536 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1537 | def eventFilter(self, obj, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1538 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1539 | 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
|
1540 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1541 | @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
|
1542 | @type QObject |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1543 | @param evt reference to event to be processed |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1544 | @type QEvent |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1545 | @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
|
1546 | @rtype bool |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1547 | """ |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1548 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1549 | obj is self and |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1550 | evt.type() == QEvent.Type.ParentChange and |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1551 | self.parentWidget() is not None |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1552 | ): |
6269
51a0f31bb240
WebBrowserView: added rwhvqt detection for Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6221
diff
changeset
|
1553 | self.parentWidget().installEventFilter(self) |
51a0f31bb240
WebBrowserView: added rwhvqt detection for Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6221
diff
changeset
|
1554 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1555 | # find the render widget receiving events for the web page |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1556 | if obj is self and evt.type() == QEvent.Type.ChildAdded: |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
1557 | QTimer.singleShot(0, self.__setRwhvqt) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1558 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1559 | # forward events to WebBrowserView |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1560 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1561 | obj is self.__rwhvqt and |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1562 | evt.type() in [QEvent.Type.KeyPress, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1563 | QEvent.Type.KeyRelease, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1564 | QEvent.Type.MouseButtonPress, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1565 | QEvent.Type.MouseButtonRelease, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1566 | QEvent.Type.MouseMove, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1567 | QEvent.Type.Wheel, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1568 | QEvent.Type.Gesture] |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1569 | ): |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1570 | wasAccepted = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1571 | evt.setAccepted(False) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1572 | if evt.type() == QEvent.Type.KeyPress: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1573 | self._keyPressEvent(evt) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1574 | elif evt.type() == QEvent.Type.KeyRelease: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1575 | self._keyReleaseEvent(evt) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1576 | elif evt.type() == QEvent.Type.MouseButtonPress: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1577 | self._mousePressEvent(evt) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1578 | elif evt.type() == QEvent.Type.MouseButtonRelease: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1579 | self._mouseReleaseEvent(evt) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1580 | elif evt.type() == QEvent.Type.MouseMove: |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1581 | self._mouseMoveEvent(evt) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1582 | elif evt.type() == QEvent.Type.Wheel: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1583 | self._wheelEvent(evt) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1584 | elif evt.type() == QEvent.Type.Gesture: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1585 | self._gestureEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1586 | ret = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1587 | evt.setAccepted(wasAccepted) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1588 | return ret |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1589 | |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1590 | if ( |
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1591 | obj is self.parentWidget() and |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1592 | evt.type() in [QEvent.Type.KeyPress, QEvent.Type.KeyRelease] |
7271
2cac5b7abcce
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7249
diff
changeset
|
1593 | ): |
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
|
1594 | 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
|
1595 | evt.setAccepted(False) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1596 | if evt.type() == QEvent.Type.KeyPress: |
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
|
1597 | self._keyPressEvent(evt) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1598 | elif evt.type() == QEvent.Type.KeyRelease: |
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
|
1599 | 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
|
1600 | 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
|
1601 | 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
|
1602 | 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
|
1603 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1604 | # block already handled events |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1605 | if obj is self: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1606 | if evt.type() in [QEvent.Type.KeyPress, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1607 | QEvent.Type.KeyRelease, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1608 | QEvent.Type.MouseButtonPress, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1609 | QEvent.Type.MouseButtonRelease, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1610 | QEvent.Type.MouseMove, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1611 | QEvent.Type.Wheel, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1612 | QEvent.Type.Gesture]: |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1613 | return True |
5707
1273cd92a8f4
Web Browser (NG):
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5631
diff
changeset
|
1614 | |
8227
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1615 | elif evt.type() == QEvent.Type.Hide and self.isFullScreen(): |
349308e84eeb
Applied some more code simplifications suggested by the new Simplify checker (Y102: use single if) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
1616 | self.triggerPageAction(QWebEnginePage.WebAction.ExitFullScreen) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1617 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
1618 | return super().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
|
1619 | |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1620 | 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
|
1621 | """ |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1622 | 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
|
1623 | |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1624 | @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
|
1625 | @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
|
1626 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1627 | if evt.type() == QEvent.Type.Gesture: |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1628 | self._gestureEvent(evt) |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1629 | return True |
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1630 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
1631 | return super().event(evt) |
5721
b4d0cddecd64
Improved the full screen handling of the web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5719
diff
changeset
|
1632 | |
4958
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1633 | def inputWidget(self): |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1634 | """ |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1635 | 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
|
1636 | |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1637 | @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
|
1638 | @rtype QWidget |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1639 | """ |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1640 | return self.__rwhvqt |
ef400197e7d5
Implemented the auto scroller for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4956
diff
changeset
|
1641 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1642 | def clearHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1643 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1644 | Public slot to clear the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1645 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1646 | self.history().clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1647 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1648 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1649 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1650 | ## 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
|
1651 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1652 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1653 | def __urlChanged(self, url): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1654 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1655 | Private slot to handle the urlChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1656 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1657 | @param url the new url (QUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1658 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1659 | self.sourceChanged.emit(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1660 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1661 | 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
|
1662 | self.backwardAvailable.emit(self.isBackwardAvailable()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1663 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1664 | def __iconUrlChanged(self, url): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1665 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1666 | Private slot to handle the iconUrlChanged signal. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1667 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1668 | @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
|
1669 | @type QUrl |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1670 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1671 | self.__siteIcon = QIcon() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1672 | if self.__siteIconLoader is not None: |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1673 | self.__siteIconLoader.deleteLater() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1674 | self.__siteIconLoader = WebIconLoader(url, self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1675 | self.__siteIconLoader.iconLoaded.connect(self.__iconLoaded) |
8243
cc717c2ae956
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8235
diff
changeset
|
1676 | with contextlib.suppress(AttributeError): |
7766 | 1677 | self.__siteIconLoader.sslConfiguration.connect( |
1678 | self.page().setSslConfiguration) | |
1679 | self.__siteIconLoader.clearSslConfiguration.connect( | |
1680 | self.page().clearSslConfiguration) | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1681 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1682 | def __iconLoaded(self, icon): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1683 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1684 | Private slot handling the loaded web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1685 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1686 | @param icon web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1687 | @type QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1688 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1689 | self.__siteIcon = icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1690 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1691 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1692 | WebIconProvider.instance().saveIcon(self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1693 | |
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
|
1694 | self.faviconChanged.emit() |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1695 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1696 | def icon(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1697 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1698 | Public method to get the web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1699 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1700 | @return web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1701 | @rtype QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1702 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1703 | if not self.__siteIcon.isNull(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1704 | return QIcon(self.__siteIcon) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1705 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1706 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1707 | return WebIconProvider.instance().iconForUrl(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1708 | |
6147
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1709 | def title(self): |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1710 | """ |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1711 | Public method to get the view title. |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1712 | |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1713 | @return view title |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1714 | @rtype str |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1715 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
1716 | titleStr = super().title() |
6147
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1717 | if not titleStr: |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1718 | if self.url().isEmpty(): |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1719 | url = self.__page.requestedUrl() |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1720 | else: |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1721 | url = self.url() |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1722 | |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1723 | titleStr = url.host() |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1724 | if not titleStr: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1725 | titleStr = url.toString( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1726 | QUrl.UrlFormattingOption.RemoveFragment) |
6147
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1727 | |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1728 | if not titleStr or titleStr == "about:blank": |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1729 | titleStr = self.tr("Empty Page") |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1730 | |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1731 | return titleStr |
0ea1f1e72463
WebBrowserView: Added a custom title() method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6142
diff
changeset
|
1732 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1733 | def __linkHovered(self, link): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1734 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1735 | Private slot to handle the linkHovered signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1736 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1737 | @param link the URL of the link (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1738 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1739 | self.highlighted.emit(link) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1740 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1741 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1742 | ## 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
|
1743 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1744 | |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1745 | def __renderProcessTerminated(self, status, exitCode): |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1746 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1747 | 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
|
1748 | |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1749 | @param status termination status |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1750 | @type QWebEnginePage.RenderProcessTerminationStatus |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1751 | @param exitCode exit code of the process |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1752 | @type int |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1753 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1754 | if ( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1755 | status == |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1756 | QWebEnginePage.RenderProcessTerminationStatus |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1757 | .NormalTerminationStatus |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1758 | ): |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1759 | return |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1760 | |
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
|
1761 | QTimer.singleShot(0, lambda: self.__showTabCrashPage(status)) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1762 | |
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
|
1763 | def __showTabCrashPage(self, status): |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1764 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1765 | 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
|
1766 | |
a9d9f294de64
Fixed an issue when loading the tab crash error page (new web browser).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
1767 | @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
|
1768 | @type QWebEnginePage.RenderProcessTerminationStatus |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1769 | """ |
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
|
1770 | 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
|
1771 | 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
|
1772 | |
7717
f32d7965a17e
Changed the code to not rely on the Qt Resource system anymore (no .qrc files and no use of pyrcc5 anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7716
diff
changeset
|
1773 | html = getHtmlPage("tabCrashPage.html") |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1774 | html = html.replace("@IMAGE@", pixmapToDataUrl( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1775 | e5App().style().standardIcon( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1776 | QStyle.StandardPixmap.SP_MessageBoxWarning).pixmap(48, 48) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1777 | ).toString()) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1778 | html = html.replace("@FAVICON@", pixmapToDataUrl( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1779 | e5App().style() .standardIcon( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1780 | QStyle.StandardPixmap.SP_MessageBoxWarning).pixmap(16, 16) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1781 | ).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
|
1782 | 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
|
1783 | "@TITLE@", self.tr("Render Process terminated abnormally")) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1784 | 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
|
1785 | "@H1@", self.tr("Render Process terminated abnormally")) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1786 | if ( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1787 | status == |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1788 | QWebEnginePage.RenderProcessTerminationStatus |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1789 | .CrashedTerminationStatus |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1790 | ): |
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
|
1791 | 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
|
1792 | " loading this page.") |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1793 | elif ( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1794 | status == |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1795 | QWebEnginePage.RenderProcessTerminationStatus |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1796 | .KilledTerminationStatus |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1797 | ): |
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
|
1798 | 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
|
1799 | 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
|
1800 | 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
|
1801 | " 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
|
1802 | html = html.replace("@LI-1@", msg) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1803 | html = html.replace( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1804 | "@LI-2@", |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1805 | self.tr( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1806 | "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
|
1807 | " memory available.")) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1808 | self.page().setHtml(html, self.url()) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1809 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1810 | def __loadStarted(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1811 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1812 | Private method to handle the loadStarted signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1813 | """ |
6591
7994baeb7abe
WebBrowser: fixed an issue causing the search string to be applied while navigating.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6466
diff
changeset
|
1814 | # reset search |
7994baeb7abe
WebBrowser: fixed an issue causing the search string to be applied while navigating.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6466
diff
changeset
|
1815 | self.findText("") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1816 | self.__isLoading = True |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1817 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1818 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1819 | def __loadProgress(self, progress): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1820 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1821 | Private method to handle the loadProgress signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1822 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1823 | @param progress progress value (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1824 | """ |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1825 | self.__progress = progress |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1826 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1827 | def __loadFinished(self, ok): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1828 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1829 | Private method to handle the loadFinished signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1830 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1831 | @param ok flag indicating the result (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1832 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1833 | self.__isLoading = False |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1834 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1835 | |
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
|
1836 | QApplication.processEvents() |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1837 | QTimer.singleShot(200, self.__renderPreview) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1838 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1839 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1840 | zoomValue = ZoomManager.instance().zoomValue(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1841 | 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
|
1842 | |
256
04083f42042d
Some changes to the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
168
diff
changeset
|
1843 | if ok: |
4734
ce0b1f024da9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4732
diff
changeset
|
1844 | self.__mw.historyManager().addHistoryEntry(self) |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1845 | self.__mw.adBlockManager().page().hideBlockedPageEntries( |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1846 | self.page()) |
4744
ad3f6c1caf8d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4741
diff
changeset
|
1847 | 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
|
1848 | |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1849 | 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
|
1850 | "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
|
1851 | 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
|
1852 | |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1853 | 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
|
1854 | """ |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1855 | 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
|
1856 | |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1857 | @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
|
1858 | @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
|
1859 | """ |
ca1d44f0f6b2
Enhanced the new web browser by adding a visit count to the bookmarks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5001
diff
changeset
|
1860 | 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
|
1861 | 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
|
1862 | 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
|
1863 | 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
|
1864 | 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
|
1865 | 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
|
1866 | 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
|
1867 | modified) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1868 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1869 | def isLoading(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1870 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1871 | Public method to get the loading state. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1872 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1873 | @return flag indicating the loading state (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1874 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1875 | return self.__isLoading |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1876 | |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1877 | def progress(self): |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1878 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1879 | 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
|
1880 | |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1881 | @return load progress (integer) |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1882 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1883 | return self.__progress |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1884 | |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1885 | def __renderPreview(self): |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1886 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1887 | 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
|
1888 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1889 | from .WebBrowserSnap import renderTabPreview |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1890 | 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
|
1891 | h = int(w * self.height() / self.width()) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1892 | self.__preview = renderTabPreview(self, w, h) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1893 | |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1894 | def getPreview(self): |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1895 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1896 | Public method to get the preview pixmap. |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1897 | |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1898 | @return preview pixmap |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1899 | @rtype QPixmap |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1900 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1901 | return self.__preview |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1902 | |
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
|
1903 | 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
|
1904 | """ |
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
|
1905 | 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
|
1906 | """ |
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
|
1907 | 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
|
1908 | 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
|
1909 | 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
|
1910 | |
7201
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
1911 | fileName, savePageFormat = self.__getSavePageFileNameAndFormat() |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
1912 | if fileName: |
6b42677d7043
Modified sources to be in line with the minimum Qt/PyQt requirement (v 5.9.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
1913 | self.page().save(fileName, savePageFormat) |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1914 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1915 | 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
|
1916 | """ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1917 | 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
|
1918 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1919 | @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
|
1920 | 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
|
1921 | @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
|
1922 | """ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1923 | documentLocation = QStandardPaths.writableLocation( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1924 | QStandardPaths.StandardLocation.DocumentsLocation) |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1925 | filterList = [ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1926 | 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
|
1927 | 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
|
1928 | 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
|
1929 | ] |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1930 | extensionsList = [ |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1931 | # 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
|
1932 | # 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
|
1933 | (".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
|
1934 | (".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
|
1935 | (".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
|
1936 | ] |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1937 | 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
|
1938 | 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
|
1939 | 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
|
1940 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1941 | 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
|
1942 | 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
|
1943 | 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
|
1944 | 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
|
1945 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1946 | 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
|
1947 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1948 | fileName = "" |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1949 | saveFormat = QWebEngineDownloadItem.SavePageFormat.MimeHtmlSaveFormat |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1950 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1951 | 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
|
1952 | None, |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1953 | 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
|
1954 | defaultFileName, |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1955 | ";;".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
|
1956 | None) |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1957 | 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
|
1958 | 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
|
1959 | if index == 0: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1960 | saveFormat = ( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1961 | QWebEngineDownloadItem.SavePageFormat.MimeHtmlSaveFormat |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1962 | ) |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1963 | elif index == 1: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1964 | saveFormat = ( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1965 | QWebEngineDownloadItem.SavePageFormat.SingleHtmlSaveFormat |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1966 | ) |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1967 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1968 | saveFormat = ( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1969 | QWebEngineDownloadItem.SavePageFormat |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1970 | .CompleteHtmlSaveFormat |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1971 | ) |
5530
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1972 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1973 | 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
|
1974 | 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
|
1975 | # 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
|
1976 | 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
|
1977 | 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
|
1978 | else: |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1979 | 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
|
1980 | 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
|
1981 | 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
|
1982 | |
93f95c4b3153
Started upgrading the new web browser to the Qt 5.8 offerings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5526
diff
changeset
|
1983 | return fileName, saveFormat |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1984 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1985 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1986 | ## 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
|
1987 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1988 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1989 | def createWindow(self, windowType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1990 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3539
diff
changeset
|
1991 | 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
|
1992 | |
4826
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1993 | @param windowType type of the requested window |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1994 | (QWebEnginePage.WebWindowType) |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1995 | @return reference to the created browser window (WebBrowserView) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1996 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1997 | if windowType in [QWebEnginePage.WebWindowType.WebBrowserTab, |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
1998 | QWebEnginePage.WebWindowType.WebDialog]: |
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
|
1999 | return self.__mw.newTab(addNextTo=self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2000 | elif windowType == QWebEnginePage.WebWindowType.WebBrowserWindow: |
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
|
2001 | 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
|
2002 | 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
|
2003 | return self.__mw.newTab(addNextTo=self, background=True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2004 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2005 | def preferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2006 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2007 | Public method to indicate a change of the settings. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2008 | """ |
629
c88489b378fb
Added configuration options for the web browser cache policy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
2009 | self.reload() |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2010 | |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
2011 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2012 | ## 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
|
2013 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2014 | |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2015 | def checkRSS(self): |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2016 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2017 | 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
|
2018 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2019 | @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
|
2020 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2021 | self.__rss = [] |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2022 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2023 | script = Scripts.getFeedLinks() |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2024 | feeds = self.page().execJavaScript(script) |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2025 | |
4857
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
2026 | if feeds is not None: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
2027 | for feed in feeds: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
2028 | if feed["url"] and feed["title"]: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
2029 | self.__rss.append((feed["title"], feed["url"])) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2030 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
2031 | return len(self.__rss) > 0 |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2032 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2033 | def getRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2034 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2035 | 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
|
2036 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2037 | @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
|
2038 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2039 | return self.__rss |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2040 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2041 | def hasRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2042 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2043 | 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
|
2044 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2045 | @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
|
2046 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
2047 | 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
|
2048 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
2049 | ########################################################################### |
4884
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2050 | ## Full Screen handling below |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2051 | ########################################################################### |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2052 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2053 | def isFullScreen(self): |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2054 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2055 | 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
|
2056 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2057 | @return flag indicating full screen mode |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2058 | @rtype bool |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2059 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2060 | return self.__mw.isFullScreen() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2061 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2062 | def requestFullScreen(self, enable): |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2063 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2064 | Public method to request full screen mode. |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2065 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2066 | @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
|
2067 | @type bool |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2068 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2069 | if enable: |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2070 | self.__mw.enterHtmlFullScreen() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2071 | else: |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2072 | self.__mw.showNormal() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2073 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
2074 | ########################################################################### |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2075 | ## 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
|
2076 | ########################################################################### |
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
|
2077 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2078 | def __addSpeedDial(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2079 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2080 | Private slot to add a new speed dial. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2081 | """ |
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
|
2082 | 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
|
2083 | WebBrowserPage.SafeJsWorld) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2084 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2085 | def __configureSpeedDial(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2086 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2087 | Private slot to configure the speed dial. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2088 | """ |
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
|
2089 | 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
|
2090 | WebBrowserPage.SafeJsWorld) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2091 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2092 | def __reloadAllSpeedDials(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2093 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2094 | Private slot to reload all speed dials. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
2095 | """ |
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
|
2096 | 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
|
2097 | |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
2098 | def __resetSpeedDials(self): |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
2099 | """ |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
2100 | 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
|
2101 | """ |
36e92a908f3f
Improved the web browser Speeddial (both variants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4925
diff
changeset
|
2102 | self.__speedDial.resetDials() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2103 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2104 | ########################################################################### |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2105 | ## 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
|
2106 | ########################################################################### |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2107 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2108 | def storeSessionData(self, data): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2109 | """ |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2110 | 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
|
2111 | |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2112 | @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
|
2113 | @type dict |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2114 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2115 | self.__restoreData = data |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2116 | |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2117 | def __showEventSlot(self): |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2118 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2119 | 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
|
2120 | loop is running. |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2121 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2122 | if self.__restoreData: |
5797
8bc870b7a8a6
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5793
diff
changeset
|
2123 | 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
|
2124 | self.loadFromSessionData(sessionData) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2125 | |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2126 | def showEvent(self, evt): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2127 | """ |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2128 | 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
|
2129 | |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2130 | @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
|
2131 | @type QShowEvent |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2132 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
2133 | super().showEvent(evt) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2134 | self.activateSession() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2135 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2136 | def activateSession(self): |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2137 | """ |
5797
8bc870b7a8a6
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5793
diff
changeset
|
2138 | 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
|
2139 | """ |
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
|
2140 | 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
|
2141 | 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
|
2142 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2143 | def getSessionData(self): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2144 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2145 | 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
|
2146 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2147 | @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
|
2148 | @rtype dict |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2149 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2150 | if self.__restoreData: |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2151 | # 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
|
2152 | return self.__restoreData |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2153 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2154 | sessionData = {} |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2155 | page = self.page() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2156 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2157 | # 1. zoom factor |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2158 | 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
|
2159 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2160 | # 2. scroll position |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2161 | scrollPos = page.scrollPosition() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2162 | sessionData["ScrollPosition"] = { |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2163 | "x": scrollPos.x(), |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2164 | "y": scrollPos.y(), |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2165 | } |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2166 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2167 | # 3. page history |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2168 | historyArray = QByteArray() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2169 | stream = QDataStream(historyArray, QIODevice.OpenModeFlag.WriteOnly) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2170 | stream << page.history() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2171 | sessionData["History"] = str( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2172 | historyArray.toBase64(QByteArray.Base64Option.Base64UrlEncoding), |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2173 | encoding="ascii") |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2174 | 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
|
2175 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2176 | # 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
|
2177 | 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
|
2178 | sessionData["Title"] = self.title() |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2179 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2180 | # 5. web icon |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2181 | iconArray = QByteArray() |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2182 | stream = QDataStream(iconArray, QIODevice.OpenModeFlag.WriteOnly) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2183 | stream << page.icon() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2184 | 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
|
2185 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2186 | return sessionData |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2187 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2188 | def loadFromSessionData(self, sessionData): |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2189 | """ |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2190 | 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
|
2191 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2192 | @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
|
2193 | generated by getSessionData() |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2194 | @type dict |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2195 | """ |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2196 | page = self.page() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2197 | # blank the page |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2198 | 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
|
2199 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2200 | # 1. page history |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2201 | if "History" in sessionData: |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2202 | historyArray = QByteArray.fromBase64( |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2203 | sessionData["History"].encode("ascii"), |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2204 | QByteArray.Base64Option.Base64UrlEncoding) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2205 | stream = QDataStream(historyArray, QIODevice.OpenModeFlag.ReadOnly) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2206 | stream >> page.history() |
5784
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2207 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2208 | 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
|
2209 | 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
|
2210 | 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
|
2211 | 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
|
2212 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2213 | # 2. zoom factor |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2214 | 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
|
2215 | 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
|
2216 | |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2217 | # 3. scroll position |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2218 | if "ScrollPosition" in sessionData: |
362bbcc49ac1
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5740
diff
changeset
|
2219 | scrollPos = sessionData["ScrollPosition"] |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2220 | 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
|
2221 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2222 | def extractSessionMetaData(self, sessionData): |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2223 | """ |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2224 | 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
|
2225 | 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
|
2226 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2227 | @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
|
2228 | generated by getSessionData() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2229 | @type dict |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2230 | @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
|
2231 | @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
|
2232 | """ |
8235
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
2233 | title = sessionData.get("Title", "") |
78e6d29eb773
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator) (batch 3).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8227
diff
changeset
|
2234 | urlStr = sessionData.get("Url", "") |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2235 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2236 | if "Icon" in sessionData: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2237 | iconArray = QByteArray.fromBase64( |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2238 | sessionData["Icon"].encode("ascii")) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2239 | stream = QDataStream(iconArray, QIODevice.OpenModeFlag.ReadOnly) |
5785
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2240 | icon = QIcon() |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2241 | stream >> icon |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2242 | else: |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2243 | from .Tools import WebIconProvider |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2244 | icon = WebIconProvider.instance().iconForUrl( |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2245 | QUrl.fromUserInput(urlStr)) |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2246 | |
7c7c5f9e4fad
Continued implementing session support for the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5784
diff
changeset
|
2247 | 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
|
2248 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2249 | ########################################################################### |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2250 | ## 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
|
2251 | ########################################################################### |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2252 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2253 | 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
|
2254 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2255 | 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
|
2256 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2257 | @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
|
2258 | @rtype bool |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2259 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2260 | 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
|
2261 | 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
|
2262 | else: |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5797
diff
changeset
|
2263 | return True |
6142
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2264 | |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2265 | ########################################################################### |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2266 | ## Methods below implement print support from the page |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2267 | ########################################################################### |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2268 | |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2269 | @pyqtSlot() |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2270 | def __printPage(self): |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2271 | """ |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2272 | Private slot to support printing from the web page. |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2273 | """ |
304a469455c8
Added support for printing from within a web page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6141
diff
changeset
|
2274 | self.__mw.tabWidget.printBrowser(browser=self) |
6410
98a5d0cd72f5
Webbrowser: finished upgrading to Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6402
diff
changeset
|
2275 | |
98a5d0cd72f5
Webbrowser: finished upgrading to Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6402
diff
changeset
|
2276 | ########################################################################### |
98a5d0cd72f5
Webbrowser: finished upgrading to Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6402
diff
changeset
|
2277 | ## Methods below implement slots for Qt 5.11+ |
98a5d0cd72f5
Webbrowser: finished upgrading to Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6402
diff
changeset
|
2278 | ########################################################################### |
98a5d0cd72f5
Webbrowser: finished upgrading to Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6402
diff
changeset
|
2279 | |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2280 | @pyqtSlot("QWebEngineQuotaRequest") |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2281 | def __quotaRequested(self, quotaRequest): |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2282 | """ |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2283 | Private slot to handle quota requests of the web page. |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2284 | |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2285 | @param quotaRequest reference to the quota request object |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2286 | @type QWebEngineQuotaRequest |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2287 | """ |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2288 | acceptRequest = Preferences.getWebBrowser("AcceptQuotaRequest") |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2289 | # map yes/no/ask from (0, 1, 2) |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2290 | if acceptRequest == 0: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2291 | # always yes |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2292 | ok = True |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2293 | elif acceptRequest == 1: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2294 | # always no |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2295 | ok = False |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2296 | else: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2297 | # ask user |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2298 | from .Download.DownloadUtilities import dataString |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2299 | sizeStr = dataString(quotaRequest.requestedSize()) |
6410
98a5d0cd72f5
Webbrowser: finished upgrading to Qt 5.11.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6402
diff
changeset
|
2300 | |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2301 | ok = E5MessageBox.yesNo( |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2302 | self, |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2303 | self.tr("Quota Request"), |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2304 | self.tr("""<p> Allow the website at <b>{0}</b> to use""" |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2305 | """ <b>{1}</b> of persistent storage?</p>""") |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2306 | .format(quotaRequest.origin().host(), sizeStr) |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2307 | ) |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2308 | |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2309 | if ok: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2310 | quotaRequest.accept() |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2311 | else: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2312 | quotaRequest.reject() |
6662
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2313 | |
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2314 | ########################################################################### |
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2315 | ## Methods below implement slots for Qt 5.12+ |
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2316 | ########################################################################### |
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2317 | |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2318 | @pyqtSlot("QWebEngineClientCertificateSelection") |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2319 | def __selectClientCertificate(self, clientCertificateSelection): |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2320 | """ |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2321 | Private slot to handle the client certificate selection request. |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2322 | |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2323 | @param clientCertificateSelection list of client SSL certificates |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2324 | found in system's client certificate store |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2325 | @type QWebEngineClientCertificateSelection |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2326 | """ |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2327 | certificates = clientCertificateSelection.certificates() |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2328 | if len(certificates) == 0: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2329 | clientCertificateSelection.selectNone() |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2330 | elif len(certificates) == 1: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2331 | clientCertificateSelection.select(certificates[0]) |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2332 | else: |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2333 | certificate = None |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2334 | from E5Network.E5SslCertificateSelectionDialog import ( |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2335 | E5SslCertificateSelectionDialog |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2336 | ) |
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2337 | dlg = E5SslCertificateSelectionDialog(certificates, self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7960
diff
changeset
|
2338 | if dlg.exec() == QDialog.DialogCode.Accepted: |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2339 | certificate = dlg.getSelectedCertificate() |
6662
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2340 | |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2341 | if certificate is None: |
6662
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2342 | clientCertificateSelection.selectNone() |
0002926e71d3
Web Browser (NG): added support to select a client SSL certificate (as of Qt 5.12).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6656
diff
changeset
|
2343 | else: |
7945
76daafe10009
Removed code dealing with Qt versions less than the required one and removed use of QDesktopWidget or QApplication.desktop().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7937
diff
changeset
|
2344 | clientCertificateSelection.select(certificate) |