Sun, 13 Mar 2016 14:56:13 +0100
Continued porting the web browser.
- some modification to improve the Qt 5.6 handling
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 | |
4631
5c1a96925da4
Updated copyright for 2016.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4612
diff
changeset
|
3 | # Copyright (c) 2008 - 2016 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
8 | Module implementing the web browser using QWebEngineView. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3080
diff
changeset
|
11 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2432
diff
changeset
|
12 | try: |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4713
diff
changeset
|
13 | str = unicode # __IGNORE_EXCEPTION__ |
3484 | 14 | except NameError: |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2432
diff
changeset
|
15 | pass |
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2432
diff
changeset
|
16 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3636
diff
changeset
|
17 | from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QT_TRANSLATE_NOOP, \ |
3776
ccb6eacb50e5
Started adding code to make eric6 usable with PyQt5 and PyQt4.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3747
diff
changeset
|
18 | QUrl, QBuffer, QIODevice, QFileInfo, Qt, QTimer, QEvent, \ |
3747
2bc31e509810
Fixed an issue in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3734
diff
changeset
|
19 | QRect, QFile, QPoint, QByteArray, qVersion |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3636
diff
changeset
|
20 | from PyQt5.QtGui import QDesktopServices, QClipboard, QMouseEvent, QColor, \ |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
21 | QPalette, QIcon, QContextMenuEvent |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3636
diff
changeset
|
22 | from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication, QInputDialog, \ |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3636
diff
changeset
|
23 | QLineEdit, QLabel, QToolTip, QFrame, QDialog |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3636
diff
changeset
|
24 | from PyQt5.QtPrintSupport import QPrinter, QPrintDialog |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
25 | from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest, QHostInfo |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
26 | from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
28 | from E5Gui import E5MessageBox, E5FileDialog |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
535
diff
changeset
|
29 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
30 | import WebBrowser |
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 |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
34 | from .Tools import WebBrowserTools, Scripts |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
35 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
36 | from .Network.LoadRequest import LoadRequest, LoadRequestOperations |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
37 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
38 | from . import WebInspector |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
39 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | import Preferences |
978
11f8adbcac97
Added an interface to VirusTotal to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
952
diff
changeset
|
41 | import UI.PixmapCache |
4241
545629046c45
Fixed a bug in the message filter causing a traceback when no message filters are configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
42 | import Globals |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | |
923
e224bdbf88ad
Fixed an issue related to the non-availability of SSL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
44 | try: |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3636
diff
changeset
|
45 | from PyQt5.QtNetwork import QSslCertificate |
923
e224bdbf88ad
Fixed an issue related to the non-availability of SSL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
46 | SSL_AVAILABLE = True |
e224bdbf88ad
Fixed an issue related to the non-availability of SSL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
47 | except ImportError: |
e224bdbf88ad
Fixed an issue related to the non-availability of SSL.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
48 | SSL_AVAILABLE = False |
1960
d8c45fe8a1b9
Reworked some of the AdBlock code to achieve some speed improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1953
diff
changeset
|
49 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
50 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
51 | class WebBrowserView(QWebEngineView): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
53 | Class implementing the web browser view widget. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
487
diff
changeset
|
55 | @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
|
56 | @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
|
57 | @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
|
58 | @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
|
59 | @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
|
60 | @signal zoomValueChanged(int) emitted to signal a change of the zoom value |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
61 | @signal iconChanged() emitted to signal a changed web site icon |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
63 | sourceChanged = pyqtSignal(QUrl) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
64 | forwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
65 | backwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
66 | highlighted = pyqtSignal(str) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
67 | 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
|
68 | zoomValueChanged = pyqtSignal(int) |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
69 | iconChanged = pyqtSignal() |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
70 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
71 | ZoomLevels = [ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
72 | 30, 40, 50, 67, 80, 90, |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
73 | 100, |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
74 | 110, 120, 133, 150, 170, 200, 220, 233, 250, 270, 285, 300, |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
75 | ] |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
76 | ZoomLevelDefault = 100 |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
77 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
78 | def __init__(self, mainWindow, parent=None, name=""): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
82 | @param mainWindow reference to the main window (WebBrowserWindow) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | @param parent parent widget of this window (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | @param name name of this window (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
86 | super(WebBrowserView, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | self.setObjectName(name) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
88 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
89 | self.__rwhvqt = None |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
90 | self.installEventFilter(self) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
91 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
92 | # TODO: Speeddial |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
93 | ## import WebBrowser.WebBrowserWindow |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
94 | ## self.__speedDial = WebBrowser.WebBrowserWindow.WebBrowserWindow.speedDial() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
96 | self.__page = WebBrowserPage(self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | self.setPage(self.__page) |
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 |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
100 | self.__ctrlPressed = False |
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 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | self.__currentZoom = 100 |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
110 | self.__zoomLevels = WebBrowserView.ZoomLevels[:] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
112 | ## self.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
113 | ## self.linkClicked.connect(self.setSource) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
114 | ## |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
115 | 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
|
116 | self.urlChanged.connect(self.__urlChanged) |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
117 | ## self.statusBarMessage.connect(self.__statusBarMessage) |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
118 | self.page().linkHovered.connect(self.__linkHovered) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
120 | 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
|
121 | 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
|
122 | self.loadFinished.connect(self.__loadFinished) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
124 | ## self.page().setForwardUnsupportedContent(True) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
125 | ## self.page().unsupportedContent.connect(self.__unsupportedContent) |
4316
493891cbacee
Added support for feature permissions to the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4275
diff
changeset
|
126 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
127 | ## self.page().databaseQuotaExceeded.connect(self.__databaseQuotaExceeded) |
350
db40effc5c65
Added support for Web SQL Databases to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
313
diff
changeset
|
128 | |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
129 | self.__mw.openSearchManager().currentEngineChanged.connect( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
130 | 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
|
131 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
132 | 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
|
133 | |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4713
diff
changeset
|
134 | # TODO: Access Keys |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
135 | ## self.__enableAccessKeys = Preferences.getWebBrowser("AccessKeysEnabled") |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
136 | ## self.__accessKeysPressed = False |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
137 | ## self.__accessKeyLabels = [] |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
138 | ## self.__accessKeyNodes = {} |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
139 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
140 | ## self.page().loadStarted.connect(self.__hideAccessKeys) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
141 | ## self.page().scrollRequested.connect(self.__hideAccessKeys) |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
142 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
143 | 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
|
144 | |
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
|
145 | 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
|
146 | |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
147 | self.__mw.personalInformationManager().connectPage(self.page()) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
148 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
149 | self.__inspector = None |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
150 | 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
|
151 | |
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
|
152 | self.grabGesture(Qt.PinchGesture) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
154 | ## def __addExternalBinding(self, frame=None): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
155 | ## """ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
156 | ## Private slot to add javascript bindings for adding search providers. |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
157 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
158 | ## @param frame reference to the web frame (QWebFrame) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
159 | ## """ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
160 | ## self.page().settings().setAttribute(QWebSettings.JavascriptEnabled, |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
161 | ## True) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
162 | ## if self.__javaScriptBinding is None: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
163 | ## self.__javaScriptBinding = JavaScriptExternalObject(self.__mw, self) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
164 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
165 | ## if frame is None: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
166 | ## # called from QWebFrame.javaScriptWindowObjectCleared |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
167 | ## frame = self.sender() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
168 | ## if isinstance(frame, HelpWebPage): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
169 | ## frame = frame.mainFrame() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
170 | ## if frame.url().scheme() == "eric" and frame.url().path() == "home": |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
171 | ## if self.__javaScriptEricObject is None: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
172 | ## self.__javaScriptEricObject = JavaScriptEricObject( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
173 | ## self.__mw, self) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
174 | ## frame.addToJavaScriptWindowObject( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
175 | ## "eric", self.__javaScriptEricObject) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
176 | ## elif frame.url().scheme() == "eric" and \ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
177 | ## frame.url().path() == "speeddial": |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
178 | ## frame.addToJavaScriptWindowObject( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
179 | ## "speeddial", self.__speedDial) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
180 | ## self.__speedDial.addWebFrame(frame) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
181 | ## else: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
182 | ## # called from QWebPage.frameCreated |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
183 | ## frame.javaScriptWindowObjectCleared.connect( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
184 | ## self.__addExternalBinding) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
185 | ## frame.addToJavaScriptWindowObject("external", self.__javaScriptBinding) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
186 | ## |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
187 | def __currentEngineChanged(self): |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
188 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
189 | 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
|
190 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
191 | if self.url().toString() == "eric:home": |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
192 | self.reload() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
194 | def mainWindow(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
195 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
196 | 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
|
197 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
198 | @return reference to the main window |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
199 | @rtype WebBrowserWindow |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
200 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
201 | return self.__mw |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
202 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
203 | def load(self, url): |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
204 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
205 | Public method to load a web site. |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
206 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
207 | @param url URL to be loaded |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
208 | @type QUrl or LoadRequest |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
209 | """ |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
210 | ## if isinstance(urlOrRequest, QUrl): |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
211 | super(WebBrowserView, self).load(url) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
212 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
213 | if not self.__firstLoad: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
214 | self.__firstLoad = True |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
215 | WebInspector.pushView(self) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
216 | ## elif isinstance(urlOrRequest, LoadRequest): |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
217 | ## reqUrl = urlOrRequest.url() |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
218 | ## if reqUrl.isEmpty(): |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
219 | ## return |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
220 | ## |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
221 | ## if reqUrl.scheme() == "javascript": |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
222 | ## script = reqUrl.toString()[11:] |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
223 | ## # check if the javascript script is percent encode |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
224 | ## # i.e. it contains '%' characters |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
225 | ## if '%' in script: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
226 | ## script = QUrl.fromPercentEncoding( |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
227 | ## QByteArray(script.encode("utf-8"))) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
228 | ## self.page().runJavaScript(script) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
229 | ## return |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
230 | ## |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
231 | ## if self.__isUrlValid(reqUrl): |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
232 | ## self.loadRequest(urlOrRequest) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
233 | ## return |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
234 | ## |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
235 | ## # ensure proper loading of hosts without a '.' |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
236 | ## if not reqUrl.isEmpty() and \ |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
237 | ## reqUrl.scheme() and \ |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
238 | ## not WebBrowserTools.containsSpace(reqUrl.path()) and \ |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
239 | ## '.' not in reqUrl.path(): |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
240 | ## u = QUrl("http://" + reqUrl.path()) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
241 | ## if u.isValid(): |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
242 | ## info = QHostInfo.fromName(u.path()) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
243 | ## if info.error() == QHostInfo.NoError: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
244 | ## req = LoadRequest(urlOrRequest) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
245 | ## req.setUrl(u) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
246 | ## self.loadRequest(req) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
247 | ## return |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
248 | ## |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
249 | ## def loadRequest(self, req): |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
250 | ## """ |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
251 | ## Public method to load a page via a load request object. |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
252 | ## |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
253 | ## @param req loaf request object |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
254 | ## @type LoadRequest |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
255 | ## """ |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
256 | ## if req.Operation == LoadRequestOperations.GetOperation: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
257 | ## self.load(req.url()) |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
258 | ## else: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
259 | ## self.page().runJavaScript( |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
260 | ## Scripts.sendPostData(req.url(), req.data())) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
261 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
262 | # TODO: eliminate requestData, add param to get rid of __ctrlPressed |
1953
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1952
diff
changeset
|
263 | def setSource(self, name, requestData=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | 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
|
266 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | @param name filename to be shown (QUrl) |
1953
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1952
diff
changeset
|
268 | @param requestData tuple containing the request data (QNetworkRequest, |
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1952
diff
changeset
|
269 | QNetworkAccessManager.Operation, QByteArray) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
271 | ## if (name is None or not name.isValid()) and requestData is None: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
272 | if name is None or not name.isValid(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
275 | ## if name is None and requestData is not None: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
276 | ## name = requestData[0].url() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
277 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
278 | if self.__ctrlPressed: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | # open in a new window |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
280 | self.__mw.newTab(name) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
281 | self.__ctrlPressed = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | if not name.scheme(): |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
285 | name.setUrl(Preferences.getWebBrowser("DefaultScheme") + |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
286 | name.toString()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | if len(name.scheme()) == 1 or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | name.scheme() == "file": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | # name is a local file |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | if name.scheme() and len(name.scheme()) == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | # it is a local path on win os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | name = QUrl.fromLocalFile(name.toString()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | 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
|
296 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
297 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
298 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
299 | self.tr( |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
300 | """<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
|
301 | .format(name.toLocalFile())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | return |
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 | if name.toLocalFile().endswith(".pdf") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | name.toLocalFile().endswith(".PDF") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | name.toLocalFile().endswith(".chm") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | name.toLocalFile().endswith(".CHM"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
310 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
311 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
312 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
313 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
314 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
315 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
316 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | return |
278
c93823b96faa
Added a handler for ftp: URLs to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
260
diff
changeset
|
318 | elif name.scheme() in ["mailto"]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
321 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
322 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
323 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
324 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
325 | """<p>Could not start an application""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
326 | """ for URL <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
327 | .format(name.toString())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | if name.toString().endswith(".pdf") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | name.toString().endswith(".PDF") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | name.toString().endswith(".chm") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | name.toString().endswith(".CHM"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
336 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
337 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
338 | self.tr("eric6 Web Browser"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
339 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
340 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
341 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
342 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | |
1953
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1952
diff
changeset
|
345 | if requestData is not None: |
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1952
diff
changeset
|
346 | self.load(*requestData) |
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1952
diff
changeset
|
347 | else: |
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1952
diff
changeset
|
348 | self.load(name) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | def source(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | 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
|
353 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | @return URL loaded in the help browser (QUrl) |
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 | return self.url() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | def documentTitle(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | 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
|
361 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | @return title (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | return self.title() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | def backward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | Public slot to move backwards in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
370 | self.triggerPageAction(QWebEnginePage.Back) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | def forward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | Public slot to move forward in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
377 | self.triggerPageAction(QWebEnginePage.Forward) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | def home(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | Public slot to move to the first page loaded. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
384 | homeUrl = QUrl(Preferences.getWebBrowser("HomePage")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | self.setSource(homeUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | def reload(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | Public slot to reload the current page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
392 | self.triggerPageAction(QWebEnginePage.Reload) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | |
4791
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
394 | def reloadBypassingCache(self): |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
395 | """ |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
396 | 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
|
397 | """ |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
398 | self.triggerPageAction(QWebEnginePage.ReloadAndBypassCache) |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
399 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | def copy(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | Public slot to copy the selected text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
404 | self.triggerPageAction(QWebEnginePage.Copy) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
406 | def cut(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
407 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
408 | Public slot to cut the selected text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
409 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
410 | self.triggerPageAction(QWebEnginePage.Cut) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
411 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
412 | def paste(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
413 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
414 | Public slot to paste text from the clipboard. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
415 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
416 | self.triggerPageAction(QWebEnginePage.Paste) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
417 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
418 | def undo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
419 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
420 | Public slot to undo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
421 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
422 | self.triggerPageAction(QWebEnginePage.Undo) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
423 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
424 | def redo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
425 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
426 | Public slot to redo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
427 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
428 | self.triggerPageAction(QWebEnginePage.Redo) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
429 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
430 | def selectAll(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
431 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
432 | Public slot to select all text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
433 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
434 | self.triggerPageAction(QWebEnginePage.SelectAll) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
435 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | def isForwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | 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
|
439 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | @return flag indicating move forward is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | return self.history().canGoForward() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | def isBackwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | 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
|
447 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | @return flag indicating move backwards is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | return self.history().canGoBack() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | def __levelForZoom(self, zoom): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | 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
|
455 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | @param zoom zoom factor (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | @return index of zoom factor (integer) |
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 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | index = self.__zoomLevels.index(zoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | except ValueError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | for index in range(len(self.__zoomLevels)): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | if zoom <= self.__zoomLevels[index]: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | return index |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | |
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
|
467 | 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
|
468 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
469 | 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
|
470 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
471 | @param value zoom value (integer) |
4612
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
472 | @keyparam saveValue flag indicating to save the zoom value with the |
c9982bcd00f8
Added capability to remember the zoom values for each site (incl. a dialog to manage these).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4357
diff
changeset
|
473 | 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
|
474 | @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
|
475 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
476 | if value != self.__currentZoom: |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
477 | 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
|
478 | self.__currentZoom = value |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
479 | if saveValue and not self.__mw.isPrivate(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
480 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
481 | 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
|
482 | 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
|
483 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
484 | 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
|
485 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
486 | 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
|
487 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
488 | @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
|
489 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
490 | 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
|
491 | return int(val) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | def zoomIn(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 slot to zoom into the page. |
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 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | if index < len(self.__zoomLevels) - 1: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
499 | self.setZoomValue(self.__zoomLevels[index + 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | def zoomOut(self): |
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 zoom out of the page. |
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 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | if index > 0: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
507 | self.setZoomValue(self.__zoomLevels[index - 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
509 | def zoomReset(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | Public method to reset the zoom factor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
513 | index = self.__levelForZoom(WebBrowserView.ZoomLevelDefault) |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
514 | self.setZoomValue(self.__zoomLevels[index]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | def hasSelection(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | 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
|
519 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | @return flag indicating text has been selected (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | return self.selectedText() != "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
524 | # TODO: adjust this to what Qt 5.6 is offering |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
525 | def findNextPrev(self, txt, case, backwards, wrap, highlightAll, callback): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | 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
|
528 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | @param txt text to search for (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | @param case flag indicating a case sensitive search (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | @param backwards flag indicating a backwards search (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | @param wrap flag indicating to wrap around (boolean) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
533 | @param highlightAll flag indicating to highlight all occurrences |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
534 | (boolean) |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
535 | @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
|
536 | @type function(bool) or None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
538 | findFlags = QWebEnginePage.FindFlags() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | if case: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
540 | findFlags |= QWebEnginePage.FindCaseSensitively |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | if backwards: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
542 | findFlags |= QWebEnginePage.FindBackward |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
543 | ## if wrap: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
544 | ## findFlags |= QWebPage.FindWrapsAroundDocument |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
545 | ## try: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
546 | ## if highlightAll: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
547 | ## findFlags |= QWebPage.HighlightAllOccurrences |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
548 | ## except AttributeError: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
549 | ## pass |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
551 | if callback is None: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
552 | self.findText(txt, findFlags) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
553 | else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
554 | self.findText(txt, findFlags, callback) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | def contextMenuEvent(self, evt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
557 | """ |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
558 | Public method called to create a context menu. |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
559 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
560 | This method is overridden from QWebEngineView. |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
561 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
562 | @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
|
563 | (QContextMenuEvent) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
564 | """ |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
565 | pos = evt.pos() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
566 | reason = evt.reason() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
567 | QTimer.singleShot( |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
568 | 0, |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
569 | lambda: self._contextMenuEvent(QContextMenuEvent(reason, pos))) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
570 | # 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
|
571 | # the main loop |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
572 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
573 | def _contextMenuEvent(self, evt): |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
574 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
575 | Protected method called to create a context menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
577 | This method is overridden from QWebEngineView. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
579 | @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
|
580 | (QContextMenuEvent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
581 | """ |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
582 | self.__menu.clear() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
583 | |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
584 | hitTest = self.page().hitTestContent(evt.pos()) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
585 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
586 | self.__createContextMenu(self.__menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
587 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
588 | # TODO: AdBlock |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
589 | ## if not hitTest.isContentEditable() and not hitTest.isContentSelected(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
590 | ## self.__menu.addAction(self.__mw.adBlockIcon().menuAction()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
591 | |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
592 | if Preferences.getWebBrowser("WebInspectorEnabled"): |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
593 | self.__menu.addSeparator() |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
594 | self.__menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
595 | UI.PixmapCache.getIcon("webInspector.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
596 | self.tr("Inspect Element..."), self.__webInspector) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
597 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
598 | if not self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
599 | pos = evt.globalPos() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
600 | 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
|
601 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
602 | def __createContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
603 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
604 | Private method to populate the context menu. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
605 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
606 | @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
|
607 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
608 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
609 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
610 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
611 | if not hitTest.linkUrl().isEmpty() and \ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
612 | hitTest.linkUrl().scheme() != "javascript": |
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(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
622 | menu.addAction(self.__mw.undoAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
623 | menu.addAction(self.__mw.redoAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
624 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
625 | menu.addAction(self.__mw.cutAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
626 | menu.addAction(self.__mw.copyAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
627 | menu.addAction(self.__mw.pasteAct) |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
628 | menu.addSeparator() |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
629 | self.__mw.personalInformationManager().createSubMenu( |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
630 | menu, self, hitTest) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
631 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
632 | if hitTest.tagName() == "input": |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
633 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
634 | act = menu.addAction("") |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
635 | act.setVisible(False) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
636 | self.__checkForForm(act, hitTest.pos()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
637 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
638 | if self.selectedText(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
639 | self.__createSelectedTextContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
640 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
641 | if self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
642 | self.__createPageContextMenu(menu) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
643 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
644 | def __createLinkContextMenu(self, menu, hitTest): |
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 | 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
|
647 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
648 | @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
|
649 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
650 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
651 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
652 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
653 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
654 | menu.addSeparator() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
656 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
657 | UI.PixmapCache.getIcon("openNewTab.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
658 | self.tr("Open Link in New Tab\tCtrl+LMB"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
659 | self.__openLinkInNewTab).setData(hitTest.linkUrl()) |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
660 | menu.addAction( |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
661 | UI.PixmapCache.getIcon("newWindow.png"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
662 | self.tr("Open Link in New Window"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
663 | self.__openLinkInNewWindow).setData(hitTest.linkUrl()) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
664 | menu.addAction( |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
665 | UI.PixmapCache.getIcon("privateMode.png"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
666 | self.tr("Open Link in New Private Window"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
667 | self.__openLinkInNewPrivateWindow).setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
668 | menu.addSeparator() |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
669 | # TODO: Qt 5.6 |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
670 | ## menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
671 | ## UI.PixmapCache.getIcon("download.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
672 | ## self.tr("Save Lin&k"), self.__downloadLink) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
673 | menu.addAction( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
674 | UI.PixmapCache.getIcon("bookmark22.png"), |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
675 | self.tr("Bookmark this Link"), self.__bookmarkLink)\ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
676 | .setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
677 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
678 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
679 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
680 | self.tr("Copy Link to Clipboard"), self.__copyLink)\ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
681 | .setData(hitTest.linkUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
682 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
683 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
684 | self.tr("Send Link"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
685 | self.__sendLink).setData(hitTest.linkUrl()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
686 | if Preferences.getWebBrowser("VirusTotalEnabled") and \ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
687 | Preferences.getWebBrowser("VirusTotalServiceKey") != "": |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
688 | menu.addAction( |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
689 | UI.PixmapCache.getIcon("virustotal.png"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
690 | self.tr("Scan Link with VirusTotal"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
691 | self.__virusTotal).setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
692 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
693 | def __createImageContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
694 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
695 | 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
|
696 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
697 | @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
|
698 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
699 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
700 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
701 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
702 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
703 | 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
|
704 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
705 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
706 | UI.PixmapCache.getIcon("openNewTab.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
707 | self.tr("Open Image in New Tab"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
708 | self.__openLinkInNewTab).setData(hitTest.imageUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
709 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
710 | # TODO: Save Image |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
711 | ## menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
712 | ## UI.PixmapCache.getIcon("download.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
713 | ## self.tr("Save Image"), self.__downloadImage) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
714 | # TODO: Copy Image |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
715 | ## menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
716 | ## self.tr("Copy Image to Clipboard"), self.__copyImage) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
717 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
718 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
719 | self.tr("Copy Image Location to Clipboard"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
720 | self.__copyLink).setData(hitTest.imageUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
721 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
722 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
723 | self.tr("Send Image Link"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
724 | self.__sendLink).setData(hitTest.imageUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
725 | # TODO: AdBlock |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
726 | ## menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
727 | ## menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
728 | ## UI.PixmapCache.getIcon("adBlockPlus.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
729 | ## self.tr("Block Image"), self.__blockImage)\ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
730 | ## .setData(hitTest.imageUrl().toString()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
731 | if Preferences.getWebBrowser("VirusTotalEnabled") and \ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
732 | Preferences.getWebBrowser("VirusTotalServiceKey") != "": |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
733 | menu.addAction( |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
734 | UI.PixmapCache.getIcon("virustotal.png"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
735 | self.tr("Scan Image with VirusTotal"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
736 | self.__virusTotal).setData(hitTest.imageUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
737 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
738 | def __createMediaContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
739 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
740 | 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
|
741 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
742 | @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
|
743 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
744 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
745 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
746 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
747 | self.__clickedPos = hitTest.pos() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
748 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
749 | if not menu.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
750 | 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
|
751 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
752 | if hitTest.mediaPaused(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
753 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
754 | UI.PixmapCache.getIcon("mediaPlaybackStart.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
755 | self.tr("Play"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
756 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
757 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
758 | UI.PixmapCache.getIcon("mediaPlaybackPause.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
759 | self.tr("Pause"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
760 | if hitTest.mediaMuted(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
761 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
762 | UI.PixmapCache.getIcon("audioVolumeHigh.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
763 | self.tr("Unmute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
764 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
765 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
766 | UI.PixmapCache.getIcon("audioVolumeMuted.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
767 | self.tr("Mute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
768 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
769 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
770 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
771 | self.tr("Copy Media Address to Clipboard"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
772 | self.__copyLink).setData(hitTest.mediaUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
773 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
774 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
775 | self.tr("Send Media Address"), self.__sendLink)\ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
776 | .setData(hitTest.mediaUrl()) |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
777 | # TODO: Qt 5.6 |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
778 | ## menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
779 | ## UI.PixmapCache.getIcon("download.png"), |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
780 | ## self.tr("Save Media"), self.__downloadMedia) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
781 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
782 | def __createSelectedTextContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
783 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
784 | 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
|
785 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
786 | @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
|
787 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
788 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
789 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
790 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
791 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
792 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
793 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
794 | menu.addAction(self.__mw.copyAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
795 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
796 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
797 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
798 | self.tr("Send Text"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
799 | self.__sendLink).setData(self.selectedText()) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
800 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
801 | engineName = self.__mw.openSearchManager().currentEngineName() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
802 | if engineName: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
803 | menu.addAction(self.tr("Search with '{0}'").format(engineName), |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
804 | self.__searchDefaultRequested) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
805 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
806 | from .OpenSearch.OpenSearchEngineAction import \ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
807 | OpenSearchEngineAction |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
808 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
809 | 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
|
810 | engineNames = self.__mw.openSearchManager().allEnginesNames() |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
811 | for engineName in engineNames: |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
812 | engine = self.__mw.openSearchManager().engine(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
813 | act = OpenSearchEngineAction(engine, self.__searchMenu) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
814 | act.setData(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
815 | self.__searchMenu.addAction(act) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
816 | self.__searchMenu.triggered.connect(self.__searchRequested) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
817 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
818 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
819 | |
4754
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
820 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
821 | languages = Preferences.toList( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
822 | Preferences.Prefs.settings.value( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
823 | "WebBrowser/AcceptLanguages", |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
824 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
825 | if languages: |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
826 | language = languages[0] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
827 | langCode = language.split("[")[1][:2] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
828 | googleTranslatorUrl = QUrl( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
829 | "http://translate.google.com/#auto|{0}|{1}".format( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
830 | langCode, self.selectedText())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
831 | menu.addAction( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
832 | UI.PixmapCache.getIcon("translate.png"), |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
833 | self.tr("Google Translate"), self.__openLinkInNewTab)\ |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
834 | .setData(googleTranslatorUrl) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
835 | wiktionaryUrl = QUrl( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
836 | "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
|
837 | .format(langCode, self.selectedText())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
838 | menu.addAction( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
839 | UI.PixmapCache.getIcon("wikipedia.png"), |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
840 | self.tr("Dictionary"), self.__openLinkInNewTab)\ |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
841 | .setData(wiktionaryUrl) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
842 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
843 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
844 | guessedUrl = QUrl.fromUserInput(self.selectedText().strip()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
845 | if self.__isUrlValid(guessedUrl): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
846 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
847 | self.tr("Go to web address"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
848 | self.__openLinkInNewTab).setData(guessedUrl) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
849 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
850 | def __createPageContextMenu(self, menu): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
851 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
852 | Private method to populate the basic context menu. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
853 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
854 | @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
|
855 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
856 | """ |
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
|
857 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
858 | menu.addAction(self.__mw.newTabAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
859 | menu.addAction(self.__mw.newAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
860 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
861 | # TODO: Save |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
862 | ## menu.addAction(self.__mw.saveAsAct) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
863 | ## 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
|
864 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
865 | menu.addAction( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
866 | UI.PixmapCache.getIcon("bookmark22.png"), |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
867 | self.tr("Bookmark this Page"), self.addBookmark) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
868 | menu.addAction( |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
869 | UI.PixmapCache.getIcon("editCopy.png"), |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
870 | self.tr("Copy Page Link"), self.__copyLink).setData(self.url()) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
871 | menu.addAction( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
872 | UI.PixmapCache.getIcon("mailSend.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
873 | self.tr("Send Page Link"), self.__sendLink).setData(self.url()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
874 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
875 | |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4713
diff
changeset
|
876 | # TODO: User Agent |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
877 | ## from .UserAgent.UserAgentMenu import UserAgentMenu |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
878 | ## self.__userAgentMenu = UserAgentMenu(self.tr("User Agent"), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
879 | ## url=self.url()) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
880 | ## menu.addMenu(self.__userAgentMenu) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
881 | ## menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
882 | menu.addAction(self.__mw.backAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
883 | menu.addAction(self.__mw.forwardAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
884 | menu.addAction(self.__mw.homeAct) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
885 | menu.addAction(self.__mw.reloadAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
886 | menu.addAction(self.__mw.stopAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
888 | menu.addAction(self.__mw.zoomInAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
889 | menu.addAction(self.__mw.zoomResetAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
890 | menu.addAction(self.__mw.zoomOutAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | menu.addSeparator() |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
892 | menu.addAction(self.__mw.selectAllAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
893 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
894 | menu.addAction(self.__mw.findAct) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
895 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
896 | menu.addAction(self.__mw.pageSourceAct) |
4783
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
897 | menu.addSeparator() |
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
898 | menu.addAction(self.__mw.siteInfoAct) |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
899 | if self.url().scheme() in ["http", "https"]: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
900 | menu.addSeparator() |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
901 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
902 | w3url = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
903 | b"http://validator.w3.org/check?uri=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
904 | QUrl.toPercentEncoding(bytes(self.url().toEncoded()).decode())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
905 | menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
906 | UI.PixmapCache.getIcon("w3.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
907 | self.tr("Validate Page"), self.__openLinkInNewTab)\ |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
908 | .setData(w3url) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
909 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
910 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
911 | languages = Preferences.toList( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
912 | Preferences.Prefs.settings.value( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
913 | "WebBrowser/AcceptLanguages", |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
914 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
915 | if languages: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
916 | language = languages[0] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
917 | langCode = language.split("[")[1][:2] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
918 | googleTranslatorUrl = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
919 | 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
|
920 | langCode.encode() + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
921 | b"&u=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
922 | QUrl.toPercentEncoding( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
923 | bytes(self.url().toEncoded()).decode())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
924 | menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
925 | UI.PixmapCache.getIcon("translate.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
926 | self.tr("Google Translate"), self.__openLinkInNewTab)\ |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
927 | .setData(googleTranslatorUrl) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
928 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
929 | def __checkForForm(self, act, pos): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
930 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
931 | 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
|
932 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
933 | @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
|
934 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
935 | @param pos position to be tested |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
936 | @type QPoint |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
937 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
938 | self.__clickedPos = pos |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
939 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
940 | from .Tools import Scripts |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
941 | script = Scripts.getFormData(pos) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
942 | self.page().runJavaScript( |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
943 | script, lambda res: self.__checkForFormCallback(res, act)) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
944 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
945 | def __checkForFormCallback(self, res, act): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
946 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
947 | Private method handling the __checkForForm result. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
948 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
949 | @param res result dictionary generated by JavaScript |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
950 | @type dict |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
951 | @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
|
952 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
953 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
954 | if act is None or not bool(res): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
955 | return |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
956 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
957 | url = QUrl(res["action"]) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
958 | method = res["method"] |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
959 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
960 | 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
|
961 | act.setVisible(True) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
962 | 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
|
963 | act.triggered.connect(self.__addSearchEngine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
964 | |
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
|
965 | 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
|
966 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
967 | 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
|
968 | |
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
|
969 | @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
|
970 | @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
|
971 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
972 | return url.isValid() and \ |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
973 | bool(url.host()) and \ |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
974 | bool(url.scheme()) and \ |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
975 | "." in url.host() |
1586
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
976 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
977 | def __openLinkInNewTab(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
978 | """ |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
979 | 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
|
980 | tab. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
981 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
982 | act = self.sender() |
7
c679fb30c8f3
Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
983 | url = act.data() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
984 | if url.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
986 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
987 | # TODO: check, if this can be done simpler |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
988 | self.__ctrlPressed = True |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
989 | self.setSource(url) |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
990 | self.__ctrlPressed = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
991 | |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
992 | def __openLinkInNewWindow(self): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
993 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
994 | 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
|
995 | window. |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
996 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
997 | act = self.sender() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
998 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
999 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1000 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1001 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1002 | self.__mw.newWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1003 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1004 | def __openLinkInNewPrivateWindow(self): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1005 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1006 | 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
|
1007 | private window. |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1008 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1009 | act = self.sender() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1010 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1011 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1012 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1013 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1014 | self.__mw.newPrivateWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
1015 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1016 | def __bookmarkLink(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1017 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1018 | Private slot to bookmark a link via the context menu. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1019 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1020 | act = self.sender() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1021 | url = act.data() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1022 | if url.isEmpty(): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1023 | return |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1024 | |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1025 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1026 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1027 | dlg.setUrl(bytes(url.toEncoded()).decode()) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1028 | dlg.exec_() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1029 | |
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
|
1030 | def __sendLink(self): |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1031 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1032 | Private slot to send a link via email. |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1033 | """ |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1034 | act = self.sender() |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1035 | 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
|
1036 | 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
|
1037 | 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
|
1038 | |
b3e34806b734
Extended the web page context menu by several entries to send links or the selected text, handling the clicked frame, translate the selected text with Google Translate and search it in Wictionary.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1584
diff
changeset
|
1039 | 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
|
1040 | 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
|
1041 | 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
|
1042 | |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1043 | def __copyLink(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1044 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1045 | Private slot to copy a link to the clipboard. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1046 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1047 | act = self.sender() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1048 | data = act.data() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1049 | if isinstance(data, QUrl) and data.isEmpty(): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1050 | return |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1051 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1052 | if isinstance(data, QUrl): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1053 | data = data.toString() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1054 | QApplication.clipboard().setText(data) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
1055 | |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1056 | # TODO: Qt 5.6 |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1057 | ## def __downloadLink(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1058 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1059 | ## Private slot to download a link and save it to disk. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1060 | ## """ |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1061 | ## self.triggerPageAction(QWebEnginePage.DownloadLinkToDisk) |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1062 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1063 | ## def __downloadImage(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1064 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1065 | ## Private slot to download an image and save it to disk. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1066 | ## """ |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1067 | ## self.triggerPageAction(QWebEnginePage.DownloadImageToDisk) |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1068 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1069 | ## def __copyImage(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1070 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1071 | ## Private slot to copy an image to the clipboard. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1072 | ## """ |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1073 | ## self.triggerPageAction(QWebEnginePage.CopyImageToClipboard) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1074 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1075 | # TODO: AdBlock |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1076 | ## def __blockImage(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1077 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1078 | ## Private slot to add a block rule for an image URL. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1079 | ## """ |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1080 | ## import WebBrowser.WebBrowserWindow |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1081 | ## act = self.sender() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1082 | ## url = act.data() |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1083 | ## dlg = WebBrowser.WebBrowserWindow.WebBrowserWindow.adBlockManager().showDialog() |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1084 | ## dlg.addCustomRule(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1085 | |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1086 | # TODO: Qt 5.6 |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1087 | ## def __downloadMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1088 | ## """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1089 | ## Private slot to download a media and save it to disk. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1090 | ## """ |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1091 | ## self.triggerPageAction(QWebEnginePage.DownloadMediaToDisk) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
1092 | |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1093 | # TODO: Qt 5.6: do this with triggerPageAction() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1094 | def __pauseMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1095 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1096 | 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
|
1097 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1098 | from .Tools import Scripts |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1099 | script = Scripts.toggleMediaPause(self.__clickedPos) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1100 | self.page().runJavaScript(script) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1101 | |
4772
db71b47b663e
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4767
diff
changeset
|
1102 | # TODO: Qt 5.6: do this with triggerPageAction() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1103 | def __muteMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1104 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1105 | Private slot to (un)mute the selected media. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1106 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1107 | from .Tools import Scripts |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1108 | script = Scripts.toggleMediaMute(self.__clickedPos) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
1109 | self.page().runJavaScript(script) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
1110 | |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1111 | def __virusTotal(self): |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1112 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1113 | Private slot to scan the selected URL with VirusTotal. |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1114 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1115 | act = self.sender() |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1116 | url = act.data() |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
1117 | self.__mw.requestVirusTotalScan(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1118 | |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1119 | def __searchDefaultRequested(self): |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1120 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1121 | 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
|
1122 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1123 | searchText = self.selectedText() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1124 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1125 | if not searchText: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1126 | return |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1127 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1128 | engine = self.__mw.openSearchManager().currentEngine() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1129 | if engine: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1130 | self.search.emit(engine.searchUrl(searchText)) |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1131 | |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1132 | def __searchRequested(self, act): |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1133 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1134 | 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
|
1135 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1136 | @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
|
1137 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1138 | searchText = self.selectedText() |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1139 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1140 | if not searchText: |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1141 | return |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1142 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1143 | engineName = act.data() |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1144 | if engineName: |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1145 | engine = self.__mw.openSearchManager().engine(engineName) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1146 | else: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1147 | engine = self.__mw.openSearchManager().currentEngine() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1148 | if engine: |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1149 | self.search.emit(engine.searchUrl(searchText)) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1150 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1151 | def __addSearchEngine(self): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1152 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1153 | Private slot to add a new search engine. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1154 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1155 | from .Tools import Scripts |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1156 | script = Scripts.getFormData(self.__clickedPos) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1157 | self.page().runJavaScript( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1158 | script, |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1159 | lambda res: self.__mw.openSearchManager().addEngineFromForm( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1160 | res, self)) |
381
64ae9e09d8bc
Extended the Ad-Blocker of the web browser and added capability to configure the text encoding of the web browser (needs Qt >= 4.6).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
376
diff
changeset
|
1161 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1162 | def __webInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1163 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1164 | Private slot to show the web inspector window. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1165 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1166 | if self.__inspector is None: |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1167 | from .WebInspector import WebInspector |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1168 | self.__inspector = WebInspector() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1169 | self.__inspector.setView(self, True) |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1170 | self.__inspector.show() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1171 | else: |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1172 | self.closeWebInspector() |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1173 | |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1174 | def closeWebInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1175 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1176 | Public slot to close the web inspector. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1177 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1178 | if self.__inspector is not None: |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1179 | if self.__inspector.isVisible(): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1180 | self.__inspector.hide() |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1181 | WebInspector.unregisterView(self.__inspector) |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1182 | self.__inspector.deleteLater() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1183 | self.__inspector = None |
4341
1ff0929aab09
Added our own web inspector window to overcome a Qt weekness.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4326
diff
changeset
|
1184 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1185 | def addBookmark(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1186 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1187 | Public slot to bookmark the current page. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1188 | """ |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1189 | from .Tools import Scripts |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1190 | script = Scripts.getAllMetaAttributes() |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1191 | self.page().runJavaScript( |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1192 | script, self.__addBookmarkCallback) |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1193 | |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1194 | def __addBookmarkCallback(self, res): |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1195 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1196 | Private callback method of __addBookmark(). |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1197 | |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1198 | @param url URL for the bookmark |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1199 | @type str |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1200 | @param title title for the bookmark |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1201 | @type str |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1202 | @param res result of the JavaScript |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1203 | @type list |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1204 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1205 | description = "" |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1206 | for meta in res: |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1207 | if meta["name"] == "description": |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1208 | description = meta["content"] |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1209 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1210 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1211 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1212 | dlg.setUrl(bytes(self.url().toEncoded()).decode()) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1213 | dlg.setTitle(self.title()) |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1214 | dlg.setDescription(description) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1215 | dlg.exec_() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1216 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1217 | 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
|
1218 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1219 | 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
|
1220 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1221 | @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
|
1222 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1223 | 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
|
1224 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1225 | 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
|
1226 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1227 | 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
|
1228 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1229 | @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
|
1230 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1231 | evt.ignore() |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1232 | 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
|
1233 | 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
|
1234 | 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
|
1235 | else: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1236 | 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
|
1237 | 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
|
1238 | 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
|
1239 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1240 | if not evt.isAccepted(): |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1241 | super(WebBrowserView, self).dragMoveEvent(evt) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1242 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1243 | 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
|
1244 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1245 | 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
|
1246 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1247 | @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
|
1248 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1249 | super(WebBrowserView, self).dropEvent(evt) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1250 | if not evt.isAccepted() and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1251 | evt.source() != self and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1252 | evt.possibleActions() & Qt.CopyAction: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1253 | 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
|
1254 | 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
|
1255 | 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
|
1256 | 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
|
1257 | 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
|
1258 | 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
|
1259 | 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
|
1260 | 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
|
1261 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1262 | 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
|
1263 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1264 | 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
|
1265 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1266 | @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
|
1267 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1268 | self.__mw.setEventMouseButtons(evt.buttons()) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1269 | 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
|
1270 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1271 | if evt.button() == Qt.XButton1: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1272 | self.pageAction(QWebEnginePage.Back).trigger() |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1273 | elif evt.button() == Qt.XButton2: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1274 | self.pageAction(QWebEnginePage.Forward).trigger() |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1275 | else: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1276 | super(WebBrowserView, self).mousePressEvent(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
|
1277 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1278 | 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
|
1279 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1280 | 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
|
1281 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1282 | @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
|
1283 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1284 | 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
|
1285 | self.__page.event(evt) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1286 | if not evt.isAccepted() and \ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1287 | self.__mw.eventMouseButtons() & Qt.MidButton: |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1288 | url = QUrl(QApplication.clipboard().text(QClipboard.Selection)) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1289 | if not url.isEmpty() and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1290 | url.isValid() and \ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1291 | url.scheme() != "": |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1292 | self.__mw.setEventMouseButtons(Qt.NoButton) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1293 | self.__mw.setEventKeyboardModifiers(Qt.NoModifier) |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1294 | 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
|
1295 | 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
|
1296 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1297 | 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
|
1298 | """ |
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
|
1299 | 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
|
1300 | |
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
|
1301 | @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
|
1302 | """ |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4713
diff
changeset
|
1303 | delta = evt.angleDelta().y() |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1304 | if evt.modifiers() & Qt.ControlModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3776
diff
changeset
|
1305 | 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
|
1306 | self.zoomOut() |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1307 | else: |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1308 | 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
|
1309 | 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
|
1310 | return |
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
|
1311 | |
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
|
1312 | if evt.modifiers() & Qt.ShiftModifier: |
3778
0c5bc18da740
Added more changes to make eric6 usable with PyQt4 as well.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3776
diff
changeset
|
1313 | 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
|
1314 | self.backward() |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1315 | else: |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1316 | 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
|
1317 | 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
|
1318 | return |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1319 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1320 | super(WebBrowserView, self).wheelEvent(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
|
1321 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1322 | def _keyPressEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1323 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1324 | Protected method called by a key press. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1325 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1326 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1327 | """ |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1328 | if self.__mw.personalInformationManager().viewKeyPressEvent(self, evt): |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1329 | evt.accept() |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1330 | return |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1331 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1332 | # TODO: Access Keys |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1333 | ## if self.__enableAccessKeys: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1334 | ## self.__accessKeysPressed = ( |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1335 | ## evt.modifiers() == Qt.ControlModifier and |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1336 | ## evt.key() == Qt.Key_Control) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1337 | ## if not self.__accessKeysPressed: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1338 | ## if self.__checkForAccessKey(evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1339 | ## self.__hideAccessKeys() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1340 | ## evt.accept() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1341 | ## return |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1342 | ## self.__hideAccessKeys() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1343 | ## else: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1344 | ## QTimer.singleShot(300, self.__accessKeyShortcut) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1345 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1346 | self.__ctrlPressed = (evt.key() == Qt.Key_Control) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1347 | super(WebBrowserView, self).keyPressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1348 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1349 | def _keyReleaseEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1350 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1351 | Protected method called by a key release. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1352 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1353 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1354 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1355 | # TODO: Access Keys |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1356 | ## if self.__enableAccessKeys: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1357 | ## self.__accessKeysPressed = evt.key() == Qt.Key_Control |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1358 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1359 | self.__ctrlPressed = False |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1360 | super(WebBrowserView, self).keyReleaseEvent(evt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1361 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1362 | def focusOutEvent(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
|
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 | Protected method called by a focus out event. |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1365 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1366 | @param evt reference to the focus event (QFocusEvent) |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1367 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1368 | # TODO: Access Keys |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1369 | ## if self.__accessKeysPressed: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1370 | ## self.__hideAccessKeys() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1371 | ## self.__accessKeysPressed = False |
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 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1373 | super(WebBrowserView, self).focusOutEvent(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
|
1374 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1375 | # TODO: Gestures: Obsoleted by eventFilter() (?) |
4760
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1376 | def event(self, evt): |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1377 | """ |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1378 | Public method handling events. |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1379 | |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1380 | @param evt reference to the event (QEvent) |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1381 | @return flag indicating, if the event was handled (boolean) |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1382 | """ |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1383 | if evt.type() == QEvent.Gesture: |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1384 | self._gestureEvent(evt) |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1385 | return True |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1386 | |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1387 | return super(WebBrowserView, self).event(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
|
1388 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1389 | 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
|
1390 | """ |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1391 | 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
|
1392 | |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1393 | @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
|
1394 | """ |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1395 | pinch = evt.gesture(Qt.PinchGesture) |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1396 | if pinch: |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1397 | if pinch.state() == Qt.GestureStarted: |
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
|
1398 | pinch.setScaleFactor(self.__currentZoom / 100.0) |
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
|
1399 | else: |
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1400 | scaleFactor = pinch.scaleFactor() |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
1401 | 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
|
1402 | evt.accept() |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1403 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1404 | def eventFilter(self, obj, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1405 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1406 | 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
|
1407 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1408 | @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
|
1409 | @type QObject |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1410 | @param evt reference to event to be processed |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1411 | @type QEvent |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1412 | @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
|
1413 | @rtype bool |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1414 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1415 | # find the render widget receiving events for the web page |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1416 | if obj is self and evt.type() == QEvent.ChildAdded: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1417 | child = evt.child() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1418 | if child and child.inherits( |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1419 | "QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget"): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1420 | self.__rwhvqt = child |
4760
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1421 | self.grabGesture(Qt.PinchGesture) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1422 | self.__rwhvqt.installEventFilter(self) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1423 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1424 | # forward events to WebBrowserView |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1425 | if obj is self.__rwhvqt: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1426 | wasAccepted = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1427 | evt.setAccepted(False) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1428 | if evt.type() == QEvent.KeyPress: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1429 | self._keyPressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1430 | elif evt.type() == QEvent.KeyRelease: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1431 | self._keyReleaseEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1432 | elif evt.type() == QEvent.MouseButtonPress: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1433 | self._mousePressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1434 | elif evt.type() == QEvent.MouseButtonRelease: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1435 | self._mouseReleaseEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1436 | elif evt.type() == QEvent.Wheel: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1437 | self._wheelEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1438 | elif evt.type() == QEvent.Gesture: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1439 | self._gestureEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1440 | ret = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1441 | evt.setAccepted(wasAccepted) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1442 | return ret |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1443 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1444 | # block already handled events |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1445 | if obj is self: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1446 | if evt.type() in [QEvent.KeyPress, QEvent.KeyRelease, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1447 | QEvent.MouseButtonPress, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1448 | QEvent.MouseButtonRelease, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1449 | QEvent.Wheel, QEvent.Gesture]: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1450 | return True |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1451 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1452 | return super(WebBrowserView, self).eventFilter(obj, evt) |
1518
e6e21910210d
Added capability to zoom by a pinch gesture to the editor, the shell, the terminal, the web browser and various graphics related windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
1453 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1454 | def clearHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1455 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1456 | Public slot to clear the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1457 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1458 | self.history().clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1459 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1460 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1461 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1462 | ## 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
|
1463 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1464 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1465 | def __urlChanged(self, url): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1466 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1467 | Private slot to handle the urlChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1468 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1469 | @param url the new url (QUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1470 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1471 | self.sourceChanged.emit(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1472 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1473 | 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
|
1474 | self.backwardAvailable.emit(self.isBackwardAvailable()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1475 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1476 | def __iconUrlChanged(self, url): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1477 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1478 | Private slot to handle the iconUrlChanged signal. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1479 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1480 | @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
|
1481 | @type QUrl |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1482 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1483 | self.__siteIcon = QIcon() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1484 | if self.__siteIconLoader is not None: |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1485 | self.__siteIconLoader.deleteLater() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1486 | self.__siteIconLoader = WebIconLoader(url, self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1487 | self.__siteIconLoader.iconLoaded.connect(self.__iconLoaded) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1488 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1489 | def __iconLoaded(self, icon): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1490 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1491 | Private slot handling the loaded web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1492 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1493 | @param icon web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1494 | @type QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1495 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1496 | self.__siteIcon = icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1497 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1498 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1499 | WebIconProvider.instance().saveIcon(self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1500 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1501 | self.iconChanged.emit() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1502 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1503 | def icon(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1504 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1505 | Public method to get the web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1506 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1507 | @return web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1508 | @rtype QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1509 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1510 | if not self.__siteIcon.isNull(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1511 | return QIcon(self.__siteIcon) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1512 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1513 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1514 | return WebIconProvider.instance().iconForUrl(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1515 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1516 | ## def __statusBarMessage(self, text): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1517 | ## """ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1518 | ## Private slot to handle the statusBarMessage signal. |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1519 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1520 | ## @param text text to be shown in the status bar (string) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1521 | ## """ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1522 | ## self.__mw.statusBar().showMessage(text) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1523 | ## |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1524 | def __linkHovered(self, link): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1525 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1526 | Private slot to handle the linkHovered signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1527 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1528 | @param link the URL of the link (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1529 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1530 | self.highlighted.emit(link) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1531 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1532 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1533 | ## 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
|
1534 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1535 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1536 | def __loadStarted(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1537 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1538 | Private method to handle the loadStarted signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1539 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1540 | self.__isLoading = True |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1541 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1542 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1543 | def __loadProgress(self, progress): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1544 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1545 | Private method to handle the loadProgress signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1546 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1547 | @param progress progress value (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1548 | """ |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1549 | self.__progress = progress |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1550 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1551 | def __loadFinished(self, ok): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1552 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1553 | Private method to handle the loadFinished signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1554 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1555 | @param ok flag indicating the result (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1556 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1557 | self.__isLoading = False |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1558 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1559 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1560 | # TODO: ClickToFlash (?) |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1561 | ## if Preferences.getWebBrowser("ClickToFlashEnabled"): |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1562 | ## # this is a hack to make the ClickToFlash button appear |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1563 | ## self.zoomIn() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1564 | ## self.zoomOut() |
1651
bc68f24d5658
Added the ClickToFlash plug-in to (temporarily) block Flash and related content.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1647
diff
changeset
|
1565 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1566 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1567 | zoomValue = ZoomManager.instance().zoomValue(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1568 | 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
|
1569 | |
256
04083f42042d
Some changes to the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
168
diff
changeset
|
1570 | if ok: |
4734
ce0b1f024da9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4732
diff
changeset
|
1571 | self.__mw.historyManager().addHistoryEntry(self) |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1572 | # TODO: AdBlock |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1573 | ## self.__mw.adBlockManager().page().hideBlockedPageEntries(self.page()) |
4744
ad3f6c1caf8d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4741
diff
changeset
|
1574 | self.__mw.passwordManager().completePage(self.page()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1575 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1576 | def isLoading(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1577 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1578 | Public method to get the loading state. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1579 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1580 | @return flag indicating the loading state (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1581 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1582 | return self.__isLoading |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1583 | |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1584 | def progress(self): |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1585 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1586 | 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
|
1587 | |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1588 | @return load progress (integer) |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1589 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1590 | return self.__progress |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1591 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1592 | ## def saveAs(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1593 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1594 | ## Public method to save the current page to a file. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1595 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1596 | ## url = self.url() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1597 | ## if url.isEmpty(): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1598 | ## return |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1599 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1600 | ## self.__mw.downloadManager().download(url, True, mainWindow=self.__mw) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1601 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1602 | ## def __unsupportedContent(self, reply, requestFilename=None, |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1603 | ## download=False): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1604 | ## """ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1605 | ## Private slot to handle the unsupportedContent signal. |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1606 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1607 | ## @param reply reference to the reply object (QNetworkReply) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1608 | ## @keyparam requestFilename indicating to ask for a filename |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1609 | ## (boolean or None). If it is None, the behavior is determined |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1610 | ## by a configuration option. |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1611 | ## @keyparam download flag indicating a download operation (boolean) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1612 | ## """ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1613 | ## if reply is None: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1614 | ## return |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1615 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1616 | ## replyUrl = reply.url() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1617 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1618 | ## if replyUrl.scheme() == "abp": |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1619 | ## return |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1620 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1621 | ## if reply.error() == QNetworkReply.NoError: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1622 | ## if reply.header(QNetworkRequest.ContentTypeHeader): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1623 | ## self.__mw.downloadManager().handleUnsupportedContent( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1624 | ## reply, webPage=self.page(), mainWindow=self.__mw) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1625 | ## return |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1626 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1627 | ## replyUrl = reply.url() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1628 | ## if replyUrl.isEmpty(): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1629 | ## return |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1630 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1631 | ## notFoundFrame = self.page().mainFrame() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1632 | ## if notFoundFrame is None: |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1633 | ## return |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1634 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1635 | ## if reply.header(QNetworkRequest.ContentTypeHeader): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1636 | ## data = reply.readAll() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1637 | ## if contentSniff(data): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1638 | ## notFoundFrame.setHtml(str(data, encoding="utf-8"), replyUrl) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1639 | ## return |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1640 | ## |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1641 | ## urlString = bytes(replyUrl.toEncoded()).decode() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1642 | ## title = self.tr("Error loading page: {0}").format(urlString) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1643 | ## htmlFile = QFile(":/html/notFoundPage.html") |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1644 | ## htmlFile.open(QFile.ReadOnly) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1645 | ## html = htmlFile.readAll() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1646 | ## pixmap = qApp.style()\ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1647 | ## .standardIcon(QStyle.SP_MessageBoxWarning).pixmap(48, 48) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1648 | ## imageBuffer = QBuffer() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1649 | ## imageBuffer.open(QIODevice.ReadWrite) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1650 | ## if pixmap.save(imageBuffer, "PNG"): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1651 | ## html = html.replace("@IMAGE@", imageBuffer.buffer().toBase64()) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1652 | ## pixmap = qApp.style()\ |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1653 | ## .standardIcon(QStyle.SP_MessageBoxWarning).pixmap(16, 16) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1654 | ## imageBuffer = QBuffer() |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1655 | ## imageBuffer.open(QIODevice.ReadWrite) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1656 | ## if pixmap.save(imageBuffer, "PNG"): |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1657 | ## html = html.replace("@FAVICON@", imageBuffer.buffer().toBase64()) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1658 | ## html = html.replace("@TITLE@", title.encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1659 | ## html = html.replace("@H1@", reply.errorString().encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1660 | ## html = html.replace( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1661 | ## "@H2@", self.tr("When connecting to: {0}.") |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1662 | ## .format(urlString).encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1663 | ## html = html.replace( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1664 | ## "@LI-1@", |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1665 | ## self.tr("Check the address for errors such as " |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1666 | ## "<b>ww</b>.example.org instead of " |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1667 | ## "<b>www</b>.example.org").encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1668 | ## html = html.replace( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1669 | ## "@LI-2@", |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1670 | ## self.tr("If the address is correct, try checking the network " |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1671 | ## "connection.").encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1672 | ## html = html.replace( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1673 | ## "@LI-3@", |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1674 | ## self.tr( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1675 | ## "If your computer or network is protected by a firewall " |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1676 | ## "or proxy, make sure that the browser is permitted to " |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1677 | ## "access the network.").encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1678 | ## html = html.replace( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1679 | ## "@LI-4@", |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1680 | ## self.tr("If your cache policy is set to offline browsing," |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1681 | ## "only pages in the local cache are available.") |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1682 | ## .encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1683 | ## html = html.replace( |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1684 | ## "@BUTTON@", self.tr("Try Again").encode("utf8")) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1685 | ## notFoundFrame.setHtml(bytes(html).decode("utf8"), replyUrl) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1686 | ## self.__mw.historyManager().removeHistoryEntry(replyUrl, self.title()) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1687 | ## self.loadFinished.emit(False) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1688 | ## |
4316
493891cbacee
Added support for feature permissions to the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4275
diff
changeset
|
1689 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1690 | ## def __databaseQuotaExceeded(self, frame, databaseName): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1691 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1692 | ## Private slot to handle the case, where the database quota is exceeded. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1693 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1694 | ## @param frame reference to the frame (QWebFrame) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1695 | ## @param databaseName name of the web database (string) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1696 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1697 | ## securityOrigin = frame.securityOrigin() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1698 | ## if securityOrigin.databaseQuota() > 0 and \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1699 | ## securityOrigin.databaseUsage() == 0: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1700 | ## # cope with a strange behavior of Qt 4.6, if a database is |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1701 | ## # accessed for the first time |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1702 | ## return |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1703 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1704 | ## res = E5MessageBox.yesNo( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1705 | ## self, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1706 | ## self.tr("Web Database Quota"), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1707 | ## self.tr( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1708 | ## """<p>The database quota of <strong>{0}</strong> has""" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1709 | ## """ been exceeded while accessing database <strong>{1}""" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1710 | ## """</strong>.</p><p>Shall it be changed?</p>""") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1711 | ## .format(self.__dataString(securityOrigin.databaseQuota()), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1712 | ## databaseName), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1713 | ## yesDefault=True) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1714 | ## if res: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1715 | ## newQuota, ok = QInputDialog.getInt( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1716 | ## self, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1717 | ## self.tr("New Web Database Quota"), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1718 | ## self.tr( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1719 | ## "Enter the new quota in MB (current = {0}, used = {1}; " |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1720 | ## "step size = 5 MB):" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1721 | ## .format( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1722 | ## self.__dataString(securityOrigin.databaseQuota()), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1723 | ## self.__dataString(securityOrigin.databaseUsage()))), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1724 | ## securityOrigin.databaseQuota() // (1024 * 1024), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1725 | ## 0, 2147483647, 5) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1726 | ## if ok: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1727 | ## securityOrigin.setDatabaseQuota(newQuota * 1024 * 1024) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1728 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1729 | ## def __dataString(self, size): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1730 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1731 | ## Private method to generate a formatted data string. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1732 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1733 | ## @param size size to be formatted (integer) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1734 | ## @return formatted data string (string) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1735 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1736 | ## unit = "" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1737 | ## if size < 1024: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1738 | ## unit = self.tr("bytes") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1739 | ## elif size < 1024 * 1024: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1740 | ## size /= 1024 |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1741 | ## unit = self.tr("kB") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1742 | ## else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1743 | ## size /= 1024 * 1024 |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1744 | ## unit = self.tr("MB") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1745 | ## return "{0:.1f} {1}".format(size, unit) |
350
db40effc5c65
Added support for Web SQL Databases to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
313
diff
changeset
|
1746 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1747 | ########################################################################### |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1748 | ## Access key related methods below |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1749 | ########################################################################### |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1750 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1751 | # TODO: Access Keys |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1752 | ## def __accessKeyShortcut(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1753 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1754 | ## Private slot to switch the display of access keys. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1755 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1756 | ## if not self.hasFocus() or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1757 | ## not self.__accessKeysPressed or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1758 | ## not self.__enableAccessKeys: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1759 | ## return |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1760 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1761 | ## if self.__accessKeyLabels: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1762 | ## self.__hideAccessKeys() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1763 | ## else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1764 | ## self.__showAccessKeys() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1765 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1766 | ## self.__accessKeysPressed = False |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1767 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1768 | ## def __checkForAccessKey(self, evt): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1769 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1770 | ## Private method to check the existence of an access key and activate the |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1771 | ## corresponding link. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1772 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1773 | ## @param evt reference to the key event (QKeyEvent) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1774 | ## @return flag indicating, if the event was handled (boolean) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1775 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1776 | ## if not self.__accessKeyLabels: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1777 | ## return False |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1778 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1779 | ## text = evt.text() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1780 | ## if not text: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1781 | ## return False |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1782 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1783 | ## key = text[0].upper() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1784 | ## handled = False |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1785 | ## if key in self.__accessKeyNodes: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1786 | ## element = self.__accessKeyNodes[key] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1787 | ## p = element.geometry().center() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1788 | ## frame = element.webFrame() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1789 | ## p -= frame.scrollPosition() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1790 | ## frame = frame.parentFrame() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1791 | ## while frame and frame != self.page().mainFrame(): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1792 | ## p -= frame.scrollPosition() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1793 | ## frame = frame.parentFrame() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1794 | ## pevent = QMouseEvent( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1795 | ## QEvent.MouseButtonPress, p, Qt.LeftButton, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1796 | ## Qt.MouseButtons(Qt.NoButton), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1797 | ## Qt.KeyboardModifiers(Qt.NoModifier)) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1798 | ## qApp.sendEvent(self, pevent) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1799 | ## revent = QMouseEvent( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1800 | ## QEvent.MouseButtonRelease, p, Qt.LeftButton, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1801 | ## Qt.MouseButtons(Qt.NoButton), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1802 | ## Qt.KeyboardModifiers(Qt.NoModifier)) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1803 | ## qApp.sendEvent(self, revent) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1804 | ## handled = True |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1805 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1806 | ## return handled |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1807 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1808 | ## def __hideAccessKeys(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1809 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1810 | ## Private slot to hide the access key labels. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1811 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1812 | ## if self.__accessKeyLabels: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1813 | ## for label in self.__accessKeyLabels: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1814 | ## label.hide() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1815 | ## label.deleteLater() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1816 | ## self.__accessKeyLabels = [] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1817 | ## self.__accessKeyNodes = {} |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1818 | ## self.update() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1819 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1820 | ## def __showAccessKeys(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1821 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1822 | ## Private method to show the access key labels. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1823 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1824 | ## supportedElements = [ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1825 | ## "input", "a", "area", "button", "label", "legend", "textarea", |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1826 | ## ] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1827 | ## unusedKeys = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1828 | ## " 0 1 2 3 4 5 6 7 8 9".split() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1829 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1830 | ## viewport = QRect(self.__page.mainFrame().scrollPosition(), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1831 | ## self.__page.viewportSize()) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1832 | ## # Priority first goes to elements with accesskey attributes |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1833 | ## alreadyLabeled = [] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1834 | ## for elementType in supportedElements: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1835 | ## result = self.page().mainFrame().findAllElements(elementType)\ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1836 | ## .toList() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1837 | ## for element in result: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1838 | ## geometry = element.geometry() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1839 | ## if geometry.size().isEmpty() or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1840 | ## not viewport.contains(geometry.topLeft()): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1841 | ## continue |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1842 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1843 | ## accessKeyAttribute = element.attribute("accesskey").upper() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1844 | ## if not accessKeyAttribute: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1845 | ## continue |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1846 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1847 | ## accessKey = "" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1848 | ## i = 0 |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1849 | ## while i < len(accessKeyAttribute): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1850 | ## if accessKeyAttribute[i] in unusedKeys: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1851 | ## accessKey = accessKeyAttribute[i] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1852 | ## break |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1853 | ## i += 2 |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1854 | ## if accessKey == "": |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1855 | ## continue |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1856 | ## unusedKeys.remove(accessKey) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1857 | ## self.__makeAccessLabel(accessKey, element) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1858 | ## alreadyLabeled.append(element) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1859 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1860 | ## # Pick an access key first from the letters in the text and then |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1861 | ## # from the list of unused access keys |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1862 | ## for elementType in supportedElements: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1863 | ## result = self.page().mainFrame().findAllElements(elementType)\ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1864 | ## .toList() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1865 | ## for element in result: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1866 | ## geometry = element.geometry() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1867 | ## if not unusedKeys or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1868 | ## element in alreadyLabeled or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1869 | ## geometry.size().isEmpty() or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1870 | ## not viewport.contains(geometry.topLeft()): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1871 | ## continue |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1872 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1873 | ## accessKey = "" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1874 | ## text = element.toPlainText().upper() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1875 | ## for c in text: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1876 | ## if c in unusedKeys: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1877 | ## accessKey = c |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1878 | ## break |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1879 | ## if accessKey == "": |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1880 | ## accessKey = unusedKeys[0] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1881 | ## unusedKeys.remove(accessKey) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1882 | ## self.__makeAccessLabel(accessKey, element) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1883 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1884 | ## def __makeAccessLabel(self, accessKey, element): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1885 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1886 | ## Private method to generate the access label for an element. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1887 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1888 | ## @param accessKey access key to generate the label for (str) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1889 | ## @param element reference to the web element to create the label for |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1890 | ## (QWebElement) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1891 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1892 | ## label = QLabel(self) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1893 | ## label.setText("<qt><b>{0}</b></qt>".format(accessKey)) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1894 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1895 | ## p = QToolTip.palette() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1896 | ## color = QColor(Qt.yellow).lighter(150) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1897 | ## color.setAlpha(175) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1898 | ## p.setColor(QPalette.Window, color) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1899 | ## label.setPalette(p) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1900 | ## label.setAutoFillBackground(True) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1901 | ## label.setFrameStyle(QFrame.Box | QFrame.Plain) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1902 | ## point = element.geometry().center() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1903 | ## point -= self.__page.mainFrame().scrollPosition() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1904 | ## label.move(point) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1905 | ## label.show() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1906 | ## point.setX(point.x() - label.width() // 2) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1907 | ## label.move(point) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1908 | ## self.__accessKeyLabels.append(label) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1909 | ## self.__accessKeyNodes[accessKey] = element |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1910 | |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1911 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1912 | ## 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
|
1913 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1914 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1915 | def createWindow(self, windowType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1916 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3539
diff
changeset
|
1917 | 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
|
1918 | |
4826
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1919 | @param windowType type of the requested window |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1920 | (QWebEnginePage.WebWindowType) |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1921 | @return reference to the created browser window (WebBrowserView) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1922 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1923 | self.__mw.newTab(addNextTo=self) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1924 | return self.__mw.currentBrowser() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1925 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1926 | def preferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1927 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1928 | Public method to indicate a change of the settings. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1929 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1930 | # TODO: Access Keys |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1931 | ## self.__enableAccessKeys = Preferences.getWebBrowser("AccessKeysEnabled") |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1932 | ## if not self.__enableAccessKeys: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1933 | ## self.__hideAccessKeys() |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1934 | |
629
c88489b378fb
Added configuration options for the web browser cache policy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1935 | self.reload() |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1936 | |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1937 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1938 | ## 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
|
1939 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1940 | |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1941 | def checkRSS(self): |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1942 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1943 | 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
|
1944 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1945 | @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
|
1946 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1947 | self.__rss = [] |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1948 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1949 | script = Scripts.getFeedLinks() |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1950 | feeds = self.page().execJavaScript(script) |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1951 | |
4857
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1952 | if feeds is not None: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1953 | for feed in feeds: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1954 | if feed["url"] and feed["title"]: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1955 | self.__rss.append((feed["title"], feed["url"])) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1956 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1957 | return len(self.__rss) > 0 |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1958 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1959 | def getRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1960 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1961 | 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
|
1962 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1963 | @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
|
1964 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1965 | return self.__rss |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1966 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1967 | def hasRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1968 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1969 | 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
|
1970 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1971 | @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
|
1972 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1973 | 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
|
1974 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1975 | ########################################################################### |
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
|
1976 | ## Clicked Frame slots |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1977 | ########################################################################### |
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
|
1978 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1979 | ## def __loadClickedFrame(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1980 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1981 | ## Private slot to load the selected frame only. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1982 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1983 | ## self.setSource(self.__clickedFrame.url()) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1984 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1985 | ## def __printClickedFrame(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1986 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1987 | ## Private slot to print the selected frame. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1988 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1989 | ## printer = QPrinter(mode=QPrinter.HighResolution) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1990 | ## if Preferences.getPrinter("ColorMode"): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1991 | ## printer.setColorMode(QPrinter.Color) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1992 | ## else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1993 | ## printer.setColorMode(QPrinter.GrayScale) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1994 | ## if Preferences.getPrinter("FirstPageFirst"): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1995 | ## printer.setPageOrder(QPrinter.FirstPageFirst) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1996 | ## else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1997 | ## printer.setPageOrder(QPrinter.LastPageFirst) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1998 | ## printer.setPageMargins( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1999 | ## Preferences.getPrinter("LeftMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2000 | ## Preferences.getPrinter("TopMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2001 | ## Preferences.getPrinter("RightMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2002 | ## Preferences.getPrinter("BottomMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2003 | ## QPrinter.Millimeter |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2004 | ## ) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2005 | ## printerName = Preferences.getPrinter("PrinterName") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2006 | ## if printerName: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2007 | ## printer.setPrinterName(printerName) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2008 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2009 | ## printDialog = QPrintDialog(printer, self) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2010 | ## if printDialog.exec_() == QDialog.Accepted: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2011 | ## try: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2012 | ## self.__clickedFrame.print_(printer) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2013 | ## except AttributeError: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2014 | ## E5MessageBox.critical( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2015 | ## self, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2016 | ## self.tr("eric6 Web Browser"), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2017 | ## self.tr( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2018 | ## """<p>Printing is not available due to a bug in""" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2019 | ## """ PyQt5. Please upgrade.</p>""")) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2020 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2021 | ## def __printPreviewClickedFrame(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2022 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2023 | ## Private slot to show a print preview of the clicked frame. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2024 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2025 | ## from PyQt5.QtPrintSupport import QPrintPreviewDialog |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2026 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2027 | ## printer = QPrinter(mode=QPrinter.HighResolution) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2028 | ## if Preferences.getPrinter("ColorMode"): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2029 | ## printer.setColorMode(QPrinter.Color) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2030 | ## else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2031 | ## printer.setColorMode(QPrinter.GrayScale) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2032 | ## if Preferences.getPrinter("FirstPageFirst"): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2033 | ## printer.setPageOrder(QPrinter.FirstPageFirst) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2034 | ## else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2035 | ## printer.setPageOrder(QPrinter.LastPageFirst) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2036 | ## printer.setPageMargins( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2037 | ## Preferences.getPrinter("LeftMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2038 | ## Preferences.getPrinter("TopMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2039 | ## Preferences.getPrinter("RightMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2040 | ## Preferences.getPrinter("BottomMargin") * 10, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2041 | ## QPrinter.Millimeter |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2042 | ## ) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2043 | ## printerName = Preferences.getPrinter("PrinterName") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2044 | ## if printerName: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2045 | ## printer.setPrinterName(printerName) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2046 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2047 | ## preview = QPrintPreviewDialog(printer, self) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2048 | ## preview.paintRequested.connect(self.__generatePrintPreviewClickedFrame) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2049 | ## preview.exec_() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2050 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2051 | ## def __generatePrintPreviewClickedFrame(self, printer): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2052 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2053 | ## Private slot to generate a print preview of the clicked frame. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2054 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2055 | ## @param printer reference to the printer object (QPrinter) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2056 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2057 | ## try: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2058 | ## self.__clickedFrame.print_(printer) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2059 | ## except AttributeError: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2060 | ## E5MessageBox.critical( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2061 | ## self, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2062 | ## self.tr("eric6 Web Browser"), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2063 | ## self.tr( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2064 | ## """<p>Printing is not available due to a bug in PyQt5.""" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2065 | ## """Please upgrade.</p>""")) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2066 | ## return |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2067 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2068 | ## def __printPdfClickedFrame(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2069 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2070 | ## Private slot to print the selected frame to PDF. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2071 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2072 | ## printer = QPrinter(mode=QPrinter.HighResolution) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2073 | ## if Preferences.getPrinter("ColorMode"): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2074 | ## printer.setColorMode(QPrinter.Color) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2075 | ## else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2076 | ## printer.setColorMode(QPrinter.GrayScale) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2077 | ## printerName = Preferences.getPrinter("PrinterName") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2078 | ## if printerName: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2079 | ## printer.setPrinterName(printerName) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2080 | ## printer.setOutputFormat(QPrinter.PdfFormat) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2081 | ## name = self.__clickedFrame.url().path().rsplit('/', 1)[-1] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2082 | ## if name: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2083 | ## name = name.rsplit('.', 1)[0] |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2084 | ## name += '.pdf' |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2085 | ## printer.setOutputFileName(name) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2086 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2087 | ## printDialog = QPrintDialog(printer, self) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2088 | ## if printDialog.exec_() == QDialog.Accepted: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2089 | ## try: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2090 | ## self.__clickedFrame.print_(printer) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2091 | ## except AttributeError: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2092 | ## E5MessageBox.critical( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2093 | ## self, |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2094 | ## self.tr("eric6 Web Browser"), |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2095 | ## self.tr( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2096 | ## """<p>Printing is not available due to a bug in""" |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2097 | ## """ PyQt5. Please upgrade.</p>""")) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2098 | ## return |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2099 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2100 | ## def __zoomInClickedFrame(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2101 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2102 | ## Private slot to zoom into the clicked frame. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2103 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2104 | ## index = self.__levelForZoom( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2105 | ## int(self.__clickedFrame.zoomFactor() * 100)) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2106 | ## if index < len(self.__zoomLevels) - 1: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2107 | ## self.__clickedFrame.setZoomFactor( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2108 | ## self.__zoomLevels[index + 1] / 100) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2109 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2110 | ## def __zoomResetClickedFrame(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2111 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2112 | ## Private slot to reset the zoom factor of the clicked frame. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2113 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2114 | ## self.__clickedFrame.setZoomFactor(self.__currentZoom / 100) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2115 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2116 | ## def __zoomOutClickedFrame(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2117 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2118 | ## Private slot to zoom out of the clicked frame. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2119 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2120 | ## index = self.__levelForZoom( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2121 | ## int(self.__clickedFrame.zoomFactor() * 100)) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2122 | ## if index > 0: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2123 | ## self.__clickedFrame.setZoomFactor( |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2124 | ## self.__zoomLevels[index - 1] / 100) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2125 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2126 | ## def __showClickedFrameSource(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2127 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2128 | ## Private slot to show the source of the clicked frame. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2129 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2130 | ## from QScintilla.MiniEditor import MiniEditor |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2131 | ## src = self.__clickedFrame.toHtml() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2132 | ## editor = MiniEditor(parent=self) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2133 | ## editor.setText(src, "Html") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2134 | ## editor.setLanguage("dummy.html") |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2135 | ## editor.show() |
676
6771da84fb0c
Did some refinesments to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
675
diff
changeset
|
2136 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
2137 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2138 | ##def contentSniff(data): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2139 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2140 | ## Module function to do some content sniffing to check, if the data is HTML. |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2141 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2142 | ## @param data data block to sniff at (string) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2143 | ## @return flag indicating HTML content (boolean) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2144 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2145 | ## if data.contains("<!doctype") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2146 | ## data.contains("<script") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2147 | ## data.contains("<html") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2148 | ## data.contains("<!--") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2149 | ## data.contains("<head") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2150 | ## data.contains("<iframe") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2151 | ## data.contains("<h1") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2152 | ## data.contains("<div") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2153 | ## data.contains("<font") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2154 | ## data.contains("<table") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2155 | ## data.contains("<a") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2156 | ## data.contains("<style") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2157 | ## data.contains("<title") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2158 | ## data.contains("<b") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2159 | ## data.contains("<body") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2160 | ## data.contains("<br") or \ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2161 | ## data.contains("<p"): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2162 | ## return True |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2163 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
2164 | ## return False |