Sun, 03 Apr 2016 17:07:25 +0200
Corrected some code style issues.
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 | |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
17 | from PyQt5.QtCore import pyqtSignal, QUrl, QFileInfo, Qt, QTimer, QEvent, \ |
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
18 | QPoint |
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
19 | from PyQt5.QtGui import QDesktopServices, QClipboard, QIcon, \ |
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
20 | QContextMenuEvent, QPixmap |
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
21 | from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
22 | from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
24 | from E5Gui import E5MessageBox |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
535
diff
changeset
|
25 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
26 | 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
|
27 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
28 | from .Tools.WebIconLoader import WebIconLoader |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
29 | from .Tools import Scripts |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
30 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
31 | from . import WebInspector |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
32 | from .Tools.WebBrowserTools import readAllFileContents, pixmapToDataUrl |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
33 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | import Preferences |
978
11f8adbcac97
Added an interface to VirusTotal to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
952
diff
changeset
|
35 | import UI.PixmapCache |
1960
d8c45fe8a1b9
Reworked some of the AdBlock code to achieve some speed improvements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1953
diff
changeset
|
36 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
37 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
38 | class WebBrowserView(QWebEngineView): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
40 | Class implementing the web browser view widget. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
501
5c615a85241a
Finished porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
487
diff
changeset
|
42 | @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
|
43 | @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
|
44 | @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
|
45 | @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
|
46 | @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
|
47 | @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
|
48 | @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
|
49 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
50 | sourceChanged = pyqtSignal(QUrl) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
51 | forwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
52 | backwardAvailable = pyqtSignal(bool) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
53 | highlighted = pyqtSignal(str) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
54 | 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
|
55 | zoomValueChanged = pyqtSignal(int) |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
56 | 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
|
57 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
58 | ZoomLevels = [ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
59 | 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
|
60 | 100, |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
61 | 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
|
62 | ] |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
63 | ZoomLevelDefault = 100 |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
64 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
65 | def __init__(self, mainWindow, parent=None, name=""): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
69 | @param mainWindow reference to the main window (WebBrowserWindow) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | @param parent parent widget of this window (QWidget) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | @param name name of this window (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
73 | super(WebBrowserView, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | self.setObjectName(name) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
75 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
76 | self.__rwhvqt = None |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
77 | self.installEventFilter(self) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
78 | |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4865
diff
changeset
|
79 | from WebBrowser.WebBrowserWindow import WebBrowserWindow |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4865
diff
changeset
|
80 | self.__speedDial = WebBrowserWindow.speedDial() |
0
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 | self.__page = WebBrowserPage(self) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | self.setPage(self.__page) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
85 | self.__mw = mainWindow |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | self.__isLoading = False |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
87 | self.__progress = 0 |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
88 | self.__siteIconLoader = None |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
89 | self.__siteIcon = QIcon() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
90 | self.__menu = QMenu(self) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
91 | self.__clickedPos = QPoint() |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
92 | self.__firstLoad = False |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
93 | self.__preview = QPixmap() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | self.__currentZoom = 100 |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
96 | self.__zoomLevels = WebBrowserView.ZoomLevels[:] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
98 | 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
|
99 | self.urlChanged.connect(self.__urlChanged) |
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
100 | self.page().linkHovered.connect(self.__linkHovered) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
102 | 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
|
103 | 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
|
104 | self.loadFinished.connect(self.__loadFinished) |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
105 | self.renderProcessTerminated.connect(self.__renderProcessTerminated) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
107 | self.__mw.openSearchManager().currentEngineChanged.connect( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
108 | 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
|
109 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
110 | 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
|
111 | |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
112 | 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
|
113 | |
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
|
114 | 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
|
115 | |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
116 | self.__mw.personalInformationManager().connectPage(self.page()) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
117 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
118 | self.__inspector = None |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
119 | 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
|
120 | |
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
|
121 | self.grabGesture(Qt.PinchGesture) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
123 | def __currentEngineChanged(self): |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
124 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
125 | 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
|
126 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
127 | if self.url().toString() == "eric:home": |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
128 | self.reload() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
130 | def mainWindow(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
131 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
132 | 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
|
133 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
134 | @return reference to the main window |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
135 | @rtype WebBrowserWindow |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
136 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
137 | return self.__mw |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
138 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
139 | def load(self, url): |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
140 | """ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
141 | Public method to load a web site. |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
142 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
143 | @param url URL to be loaded |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
144 | @type QUrl |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
145 | """ |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
146 | super(WebBrowserView, self).load(url) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
147 | |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
148 | if not self.__firstLoad: |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
149 | self.__firstLoad = True |
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
150 | WebInspector.pushView(self) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
151 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
152 | def setSource(self, name, newTab=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | 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
|
155 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | @param name filename to be shown (QUrl) |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
157 | @param newTab flag indicating to open the URL in a new tab (bool) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
159 | if name is None or not name.isValid(): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
162 | if newTab: |
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
163 | # open in a new tab |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
164 | self.__mw.newTab(name) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | if not name.scheme(): |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
168 | name.setUrl(Preferences.getWebBrowser("DefaultScheme") + |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
169 | name.toString()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | if len(name.scheme()) == 1 or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | name.scheme() == "file": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | # name is a local file |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | if name.scheme() and len(name.scheme()) == 1: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | # it is a local path on win os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | name = QUrl.fromLocalFile(name.toString()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | 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
|
179 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
180 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
181 | 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
|
182 | self.tr( |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
183 | """<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
|
184 | .format(name.toLocalFile())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | if name.toLocalFile().endswith(".pdf") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | name.toLocalFile().endswith(".PDF") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | name.toLocalFile().endswith(".chm") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | name.toLocalFile().endswith(".CHM"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
193 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
194 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
195 | 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
|
196 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
197 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
198 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
199 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | return |
278
c93823b96faa
Added a handler for ftp: URLs to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
260
diff
changeset
|
201 | elif name.scheme() in ["mailto"]: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
204 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
205 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
206 | 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
|
207 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
208 | """<p>Could not start an application""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
209 | """ for URL <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
210 | .format(name.toString())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | if name.toString().endswith(".pdf") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | name.toString().endswith(".PDF") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | name.toString().endswith(".chm") or \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | name.toString().endswith(".CHM"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | started = QDesktopServices.openUrl(name) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | if not started: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
219 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
220 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
221 | 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
|
222 | self.tr( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
223 | """<p>Could not start a viewer""" |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
224 | """ for file <b>{0}</b>.</p>""") |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
225 | .format(name.path())) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
228 | self.load(name) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | def source(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | 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
|
233 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | @return URL loaded in the help browser (QUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | return self.url() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | def documentTitle(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | 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
|
241 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | @return title (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | return self.title() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | def backward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | Public slot to move backwards in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
250 | self.triggerPageAction(QWebEnginePage.Back) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | def forward(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | Public slot to move forward in history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
257 | self.triggerPageAction(QWebEnginePage.Forward) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | def home(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | Public slot to move to the first page loaded. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
264 | homeUrl = QUrl(Preferences.getWebBrowser("HomePage")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | self.setSource(homeUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | def reload(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | Public slot to reload the current page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
272 | self.triggerPageAction(QWebEnginePage.Reload) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | |
4791
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
274 | def reloadBypassingCache(self): |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
275 | """ |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
276 | 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
|
277 | """ |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
278 | self.triggerPageAction(QWebEnginePage.ReloadAndBypassCache) |
a1e53a9ffcf3
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4790
diff
changeset
|
279 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | def copy(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | Public slot to copy the selected text. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
284 | self.triggerPageAction(QWebEnginePage.Copy) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
286 | def cut(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
287 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
288 | Public slot to cut the selected text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
289 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
290 | self.triggerPageAction(QWebEnginePage.Cut) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
291 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
292 | def paste(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
293 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
294 | Public slot to paste text from the clipboard. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
295 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
296 | self.triggerPageAction(QWebEnginePage.Paste) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
297 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
298 | def undo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
299 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
300 | Public slot to undo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
301 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
302 | self.triggerPageAction(QWebEnginePage.Undo) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
303 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
304 | def redo(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
305 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
306 | Public slot to redo the last edit action. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
307 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
308 | self.triggerPageAction(QWebEnginePage.Redo) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
309 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
310 | def selectAll(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
311 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
312 | Public slot to select all text. |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
313 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
314 | self.triggerPageAction(QWebEnginePage.SelectAll) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
315 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | def isForwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | 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
|
319 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | @return flag indicating move forward is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | return self.history().canGoForward() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | def isBackwardAvailable(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | 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
|
327 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | @return flag indicating move backwards is possible (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | return self.history().canGoBack() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | def __levelForZoom(self, zoom): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | 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
|
335 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | @param zoom zoom factor (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | @return index of zoom factor (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | index = self.__zoomLevels.index(zoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | except ValueError: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | for index in range(len(self.__zoomLevels)): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | if zoom <= self.__zoomLevels[index]: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | break |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | return index |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | |
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
|
347 | 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
|
348 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
349 | 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
|
350 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
351 | @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
|
352 | @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
|
353 | 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
|
354 | @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
|
355 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
356 | if value != self.__currentZoom: |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
357 | 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
|
358 | self.__currentZoom = value |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
359 | if saveValue and not self.__mw.isPrivate(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
360 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
361 | 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
|
362 | 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
|
363 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
364 | 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
|
365 | """ |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
366 | 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
|
367 | |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
368 | @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
|
369 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
370 | 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
|
371 | return int(val) |
0
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 zoomIn(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 zoom into the page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | if index < len(self.__zoomLevels) - 1: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
379 | self.setZoomValue(self.__zoomLevels[index + 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | def zoomOut(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | Public slot to zoom out of the page. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | index = self.__levelForZoom(self.__currentZoom) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | if index > 0: |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
387 | self.setZoomValue(self.__zoomLevels[index - 1]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
923
diff
changeset
|
389 | def zoomReset(self): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | Public method to reset the zoom factor. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
393 | index = self.__levelForZoom(WebBrowserView.ZoomLevelDefault) |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
394 | self.setZoomValue(self.__zoomLevels[index]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | def hasSelection(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | 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
|
399 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | @return flag indicating text has been selected (boolean) |
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 | return self.selectedText() != "" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | |
4881
c269212cceac
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4880
diff
changeset
|
404 | def findNextPrev(self, txt, case, backwards, callback): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | 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
|
407 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | @param txt text to search for (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | @param case flag indicating a case sensitive search (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | @param backwards flag indicating a backwards search (boolean) |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
411 | @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
|
412 | @type function(bool) or None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
414 | findFlags = QWebEnginePage.FindFlags() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | if case: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
416 | findFlags |= QWebEnginePage.FindCaseSensitively |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | if backwards: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
418 | findFlags |= QWebEnginePage.FindBackward |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
420 | if callback is None: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
421 | self.findText(txt, findFlags) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
422 | else: |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
423 | self.findText(txt, findFlags, callback) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | def contextMenuEvent(self, evt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | """ |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
427 | Protected method called to create a context menu. |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
428 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
429 | This method is overridden from QWebEngineView. |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
430 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
431 | @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
|
432 | (QContextMenuEvent) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
433 | """ |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
434 | pos = evt.pos() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
435 | reason = evt.reason() |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
436 | QTimer.singleShot( |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
437 | 0, |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
438 | lambda: self._contextMenuEvent(QContextMenuEvent(reason, pos))) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
439 | # 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
|
440 | # the main loop |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
441 | |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
442 | def _contextMenuEvent(self, evt): |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
443 | """ |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | Protected method called to create a context menu. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
446 | This method is overridden from QWebEngineView. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
448 | @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
|
449 | (QContextMenuEvent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | """ |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
451 | self.__menu.clear() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
452 | |
4728
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
453 | hitTest = self.page().hitTestContent(evt.pos()) |
0367675d783d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4727
diff
changeset
|
454 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
455 | self.__createContextMenu(self.__menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
456 | |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
457 | if not hitTest.isContentEditable() and not hitTest.isContentSelected(): |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
458 | self.__menu.addSeparator() |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
459 | self.__menu.addAction(self.__mw.adBlockIcon().menuAction()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
460 | |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
461 | if Preferences.getWebBrowser("WebInspectorEnabled"): |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
462 | self.__menu.addSeparator() |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
463 | self.__menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
464 | UI.PixmapCache.getIcon("webInspector.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
465 | self.tr("Inspect Element..."), self.__webInspector) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
466 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
467 | if not self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
468 | pos = evt.globalPos() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
469 | 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
|
470 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
471 | def __createContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
472 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
473 | Private method to populate the context menu. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
475 | @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
|
476 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
477 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
478 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
479 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
480 | if not hitTest.linkUrl().isEmpty() and \ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
481 | hitTest.linkUrl().scheme() != "javascript": |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
482 | self.__createLinkContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
483 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
484 | if not hitTest.imageUrl().isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
485 | self.__createImageContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
486 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
487 | if not hitTest.mediaUrl().isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
488 | self.__createMediaContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
489 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
490 | if hitTest.isContentEditable(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
491 | menu.addAction(self.__mw.undoAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
492 | menu.addAction(self.__mw.redoAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
493 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
494 | menu.addAction(self.__mw.cutAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
495 | menu.addAction(self.__mw.copyAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
496 | menu.addAction(self.__mw.pasteAct) |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
497 | menu.addSeparator() |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
498 | self.__mw.personalInformationManager().createSubMenu( |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
499 | menu, self, hitTest) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
500 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
501 | if hitTest.tagName() == "input": |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
502 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
503 | act = menu.addAction("") |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
504 | act.setVisible(False) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
505 | self.__checkForForm(act, hitTest.pos()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
506 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
507 | if self.selectedText(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
508 | self.__createSelectedTextContextMenu(menu, hitTest) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
509 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
510 | if self.__menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
511 | self.__createPageContextMenu(menu) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
512 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
513 | def __createLinkContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
514 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
515 | 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
|
516 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
517 | @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
|
518 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
519 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
520 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
521 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
522 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
523 | menu.addSeparator() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
525 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
526 | UI.PixmapCache.getIcon("openNewTab.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
527 | 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
|
528 | self.__openLinkInNewTab).setData(hitTest.linkUrl()) |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
529 | menu.addAction( |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
530 | UI.PixmapCache.getIcon("newWindow.png"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
531 | self.tr("Open Link in New Window"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
532 | self.__openLinkInNewWindow).setData(hitTest.linkUrl()) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
533 | menu.addAction( |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
534 | UI.PixmapCache.getIcon("privateMode.png"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
535 | self.tr("Open Link in New Private Window"), |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
536 | self.__openLinkInNewPrivateWindow).setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
537 | menu.addSeparator() |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
538 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
539 | UI.PixmapCache.getIcon("download.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
540 | self.tr("Save Lin&k"), self.__downloadLink) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
541 | menu.addAction( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
542 | UI.PixmapCache.getIcon("bookmark22.png"), |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
543 | self.tr("Bookmark this Link"), self.__bookmarkLink)\ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
544 | .setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
545 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
546 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
547 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
548 | self.tr("Copy Link to Clipboard"), self.__copyLink)\ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
549 | .setData(hitTest.linkUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
550 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
551 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
552 | self.tr("Send Link"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
553 | self.__sendLink).setData(hitTest.linkUrl()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
554 | if Preferences.getWebBrowser("VirusTotalEnabled") and \ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
555 | Preferences.getWebBrowser("VirusTotalServiceKey") != "": |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
556 | menu.addAction( |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
557 | UI.PixmapCache.getIcon("virustotal.png"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
558 | self.tr("Scan Link with VirusTotal"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
559 | self.__virusTotal).setData(hitTest.linkUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
560 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
561 | def __createImageContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
562 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
563 | 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
|
564 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
565 | @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
|
566 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
567 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
568 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
569 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
570 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
571 | 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
|
572 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
573 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
574 | UI.PixmapCache.getIcon("openNewTab.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
575 | self.tr("Open Image in New Tab"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
576 | self.__openLinkInNewTab).setData(hitTest.imageUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
577 | menu.addSeparator() |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
578 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
579 | UI.PixmapCache.getIcon("download.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
580 | self.tr("Save Image"), self.__downloadImage) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
581 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
582 | self.tr("Copy Image to Clipboard"), self.__copyImage) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
583 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
584 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
585 | self.tr("Copy Image Location to Clipboard"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
586 | self.__copyLink).setData(hitTest.imageUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
587 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
588 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
589 | self.tr("Send Image Link"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
590 | self.__sendLink).setData(hitTest.imageUrl()) |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
591 | menu.addSeparator() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
592 | menu.addAction( |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
593 | UI.PixmapCache.getIcon("adBlockPlus.png"), |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
594 | self.tr("Block Image"), self.__blockImage)\ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
595 | .setData(hitTest.imageUrl().toString()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
596 | if Preferences.getWebBrowser("VirusTotalEnabled") and \ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
597 | Preferences.getWebBrowser("VirusTotalServiceKey") != "": |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
598 | menu.addAction( |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
599 | UI.PixmapCache.getIcon("virustotal.png"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
600 | self.tr("Scan Image with VirusTotal"), |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
601 | self.__virusTotal).setData(hitTest.imageUrl()) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
602 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
603 | def __createMediaContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
604 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
605 | 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
|
606 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
607 | @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
|
608 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
609 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
610 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
611 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
612 | self.__clickedPos = hitTest.pos() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
614 | if not menu.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | 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
|
616 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
617 | if hitTest.mediaPaused(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
618 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
619 | UI.PixmapCache.getIcon("mediaPlaybackStart.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
620 | self.tr("Play"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
621 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
622 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
623 | UI.PixmapCache.getIcon("mediaPlaybackPause.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
624 | self.tr("Pause"), self.__pauseMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
625 | if hitTest.mediaMuted(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
626 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
627 | UI.PixmapCache.getIcon("audioVolumeHigh.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
628 | self.tr("Unmute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
629 | else: |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
630 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
631 | UI.PixmapCache.getIcon("audioVolumeMuted.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
632 | self.tr("Mute"), self.__muteMedia) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
633 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
634 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
635 | UI.PixmapCache.getIcon("editCopy.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
636 | self.tr("Copy Media Address to Clipboard"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
637 | self.__copyLink).setData(hitTest.mediaUrl()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
638 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
639 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
640 | self.tr("Send Media Address"), self.__sendLink)\ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
641 | .setData(hitTest.mediaUrl()) |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
642 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
643 | UI.PixmapCache.getIcon("download.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
644 | self.tr("Save Media"), self.__downloadMedia) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
645 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
646 | def __createSelectedTextContextMenu(self, menu, hitTest): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
647 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
648 | Private method to populate the context menu for selected text. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
649 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
650 | @param menu reference to the menu to be populated |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
651 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
652 | @param hitTest reference to the hit test object |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
653 | @type WebHitTestResult |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
654 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
655 | if not menu.isEmpty(): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
656 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
657 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
658 | menu.addAction(self.__mw.copyAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
659 | menu.addSeparator() |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
660 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
661 | UI.PixmapCache.getIcon("mailSend.png"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
662 | self.tr("Send Text"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
663 | self.__sendLink).setData(self.selectedText()) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
664 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
665 | engineName = self.__mw.openSearchManager().currentEngineName() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
666 | if engineName: |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
667 | menu.addAction(self.tr("Search with '{0}'").format(engineName), |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
668 | self.__searchDefaultRequested) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
669 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
670 | from .OpenSearch.OpenSearchEngineAction import \ |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
671 | OpenSearchEngineAction |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
672 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
673 | 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
|
674 | engineNames = self.__mw.openSearchManager().allEnginesNames() |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
675 | for engineName in engineNames: |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
676 | engine = self.__mw.openSearchManager().engine(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
677 | act = OpenSearchEngineAction(engine, self.__searchMenu) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
678 | act.setData(engineName) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
679 | self.__searchMenu.addAction(act) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
680 | self.__searchMenu.triggered.connect(self.__searchRequested) |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
681 | |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
682 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
683 | |
4754
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
684 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
685 | languages = Preferences.toList( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
686 | Preferences.Prefs.settings.value( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
687 | "WebBrowser/AcceptLanguages", |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
688 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
689 | if languages: |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
690 | language = languages[0] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
691 | langCode = language.split("[")[1][:2] |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
692 | googleTranslatorUrl = QUrl( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
693 | "http://translate.google.com/#auto|{0}|{1}".format( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
694 | langCode, self.selectedText())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
695 | menu.addAction( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
696 | UI.PixmapCache.getIcon("translate.png"), |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
697 | self.tr("Google Translate"), self.__openLinkInNewTab)\ |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
698 | .setData(googleTranslatorUrl) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
699 | wiktionaryUrl = QUrl( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
700 | "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
|
701 | .format(langCode, self.selectedText())) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
702 | menu.addAction( |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
703 | UI.PixmapCache.getIcon("wikipedia.png"), |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
704 | self.tr("Dictionary"), self.__openLinkInNewTab)\ |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
705 | .setData(wiktionaryUrl) |
1ff6d0ecb2fd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
706 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
707 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
708 | guessedUrl = QUrl.fromUserInput(self.selectedText().strip()) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
709 | if self.__isUrlValid(guessedUrl): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
710 | menu.addAction( |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
711 | self.tr("Go to web address"), |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
712 | self.__openLinkInNewTab).setData(guessedUrl) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
713 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
714 | def __createPageContextMenu(self, menu): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
715 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
716 | Private method to populate the basic context menu. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
717 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
718 | @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
|
719 | @type QMenu |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
720 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
721 | menu.addAction(self.__mw.newTabAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
722 | menu.addAction(self.__mw.newAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | menu.addSeparator() |
4910
e97af1181efd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4908
diff
changeset
|
724 | # TODO: Qt 5.7: Save |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
725 | ## menu.addAction(self.__mw.saveAsAct) |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
726 | ## 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
|
727 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
728 | if self.url().toString() == "eric:speeddial": |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
729 | # special menu for the spedd dial page |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
730 | menu.addAction(self.__mw.backAct) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
731 | menu.addAction(self.__mw.forwardAct) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
732 | menu.addSeparator() |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
733 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
734 | UI.PixmapCache.getIcon("plus.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
735 | self.tr("Add New Page"), self.__addSpeedDial) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
736 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
737 | UI.PixmapCache.getIcon("preferences-general.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
738 | self.tr("Configure Speed Dial"), self.__configureSpeedDial) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
739 | menu.addSeparator() |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
740 | menu.addAction( |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
741 | UI.PixmapCache.getIcon("reload.png"), |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
742 | self.tr("Reload All Dials"), self.__reloadAllSpeedDials) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
743 | return |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
744 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
745 | menu.addAction( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
746 | UI.PixmapCache.getIcon("bookmark22.png"), |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
747 | 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
|
748 | menu.addAction( |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
749 | UI.PixmapCache.getIcon("editCopy.png"), |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
750 | 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
|
751 | menu.addAction( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
752 | 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
|
753 | 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
|
754 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
755 | |
4906
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
756 | from .UserAgent.UserAgentMenu import UserAgentMenu |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
757 | self.__userAgentMenu = UserAgentMenu(self.tr("User Agent"), |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
758 | url=self.url()) |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
759 | menu.addMenu(self.__userAgentMenu) |
939ff20f712d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4905
diff
changeset
|
760 | menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
761 | menu.addAction(self.__mw.backAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
762 | menu.addAction(self.__mw.forwardAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
763 | menu.addAction(self.__mw.homeAct) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
764 | menu.addAction(self.__mw.reloadAct) |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
765 | menu.addAction(self.__mw.stopAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
766 | menu.addSeparator() |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
767 | menu.addAction(self.__mw.zoomInAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
768 | menu.addAction(self.__mw.zoomResetAct) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
769 | menu.addAction(self.__mw.zoomOutAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | menu.addSeparator() |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
771 | menu.addAction(self.__mw.selectAllAct) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | menu.addSeparator() |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
773 | menu.addAction(self.__mw.findAct) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
774 | menu.addSeparator() |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
775 | menu.addAction(self.__mw.pageSourceAct) |
4783
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
776 | menu.addSeparator() |
7de17766a5df
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4782
diff
changeset
|
777 | menu.addAction(self.__mw.siteInfoAct) |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
778 | if self.url().scheme() in ["http", "https"]: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
779 | menu.addSeparator() |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
780 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
781 | w3url = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
782 | b"http://validator.w3.org/check?uri=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
783 | QUrl.toPercentEncoding(bytes(self.url().toEncoded()).decode())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
784 | menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
785 | UI.PixmapCache.getIcon("w3.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
786 | self.tr("Validate Page"), self.__openLinkInNewTab)\ |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
787 | .setData(w3url) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
788 | |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
789 | from .WebBrowserLanguagesDialog import WebBrowserLanguagesDialog |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
790 | languages = Preferences.toList( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
791 | Preferences.Prefs.settings.value( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
792 | "WebBrowser/AcceptLanguages", |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
793 | WebBrowserLanguagesDialog.defaultAcceptLanguages())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
794 | if languages: |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
795 | language = languages[0] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
796 | langCode = language.split("[")[1][:2] |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
797 | googleTranslatorUrl = QUrl.fromEncoded( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
798 | 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
|
799 | langCode.encode() + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
800 | b"&u=" + |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
801 | QUrl.toPercentEncoding( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
802 | bytes(self.url().toEncoded()).decode())) |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
803 | menu.addAction( |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
804 | UI.PixmapCache.getIcon("translate.png"), |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
805 | self.tr("Google Translate"), self.__openLinkInNewTab)\ |
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
806 | .setData(googleTranslatorUrl) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
807 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
808 | def __checkForForm(self, act, pos): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
809 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
810 | 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
|
811 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
812 | @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
|
813 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
814 | @param pos position to be tested |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
815 | @type QPoint |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
816 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
817 | self.__clickedPos = pos |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
818 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
819 | from .Tools import Scripts |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
820 | script = Scripts.getFormData(pos) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
821 | self.page().runJavaScript( |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
822 | script, lambda res: self.__checkForFormCallback(res, act)) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
823 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
824 | def __checkForFormCallback(self, res, act): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
825 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
826 | Private method handling the __checkForForm result. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
827 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
828 | @param res result dictionary generated by JavaScript |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
829 | @type dict |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
830 | @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
|
831 | @type QAction |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
832 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
833 | if act is None or not bool(res): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
834 | return |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
835 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
836 | url = QUrl(res["action"]) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
837 | method = res["method"] |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
838 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
839 | 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
|
840 | act.setVisible(True) |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
841 | 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
|
842 | act.triggered.connect(self.__addSearchEngine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
843 | |
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
|
844 | 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
|
845 | """ |
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
|
846 | 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
|
847 | |
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
|
848 | @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
|
849 | @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
|
850 | """ |
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
|
851 | return url.isValid() and \ |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
852 | bool(url.host()) and \ |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
853 | bool(url.scheme()) and \ |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
854 | "." 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
|
855 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | def __openLinkInNewTab(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | """ |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
858 | 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
|
859 | tab. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
860 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
861 | 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
|
862 | url = act.data() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | if url.isEmpty(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
865 | |
4908
f1859c36d564
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4906
diff
changeset
|
866 | self.setSource(url, newTab=True) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
867 | |
4790
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
868 | def __openLinkInNewWindow(self): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
869 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
870 | 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
|
871 | window. |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
872 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
873 | act = self.sender() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
874 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
875 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
876 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
877 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
878 | self.__mw.newWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
879 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
880 | def __openLinkInNewPrivateWindow(self): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
881 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
882 | 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
|
883 | private window. |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
884 | """ |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
885 | act = self.sender() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
886 | url = act.data() |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
887 | if url.isEmpty(): |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
888 | return |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
889 | |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
890 | self.__mw.newPrivateWindow(url) |
deeea3d64858
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4783
diff
changeset
|
891 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
892 | def __bookmarkLink(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
893 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
894 | 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
|
895 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
896 | act = self.sender() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
897 | url = act.data() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
898 | if url.isEmpty(): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
899 | return |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
900 | |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
901 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
902 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
903 | dlg.setUrl(bytes(url.toEncoded()).decode()) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
904 | dlg.exec_() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
905 | |
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
|
906 | 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
|
907 | """ |
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
|
908 | 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
|
909 | """ |
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
|
910 | 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
|
911 | 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
|
912 | 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
|
913 | 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
|
914 | |
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
|
915 | 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
|
916 | 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
|
917 | 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
|
918 | |
4727
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
919 | def __copyLink(self): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
920 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
921 | 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
|
922 | """ |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
923 | act = self.sender() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
924 | data = act.data() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
925 | if isinstance(data, QUrl) and data.isEmpty(): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
926 | return |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
927 | |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
928 | if isinstance(data, QUrl): |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
929 | data = data.toString() |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
930 | QApplication.clipboard().setText(data) |
62b50a24fb59
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
931 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
932 | def __downloadLink(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
933 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
934 | Private slot to download a link and save it to disk. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
935 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
936 | self.triggerPageAction(QWebEnginePage.DownloadLinkToDisk) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
937 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
938 | def __downloadImage(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
939 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
940 | Private slot to download an image and save it to disk. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
941 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
942 | self.triggerPageAction(QWebEnginePage.DownloadImageToDisk) |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
943 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
944 | def __copyImage(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
945 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
946 | Private slot to copy an image to the clipboard. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
947 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
948 | self.triggerPageAction(QWebEnginePage.CopyImageToClipboard) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
949 | |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
950 | def __blockImage(self): |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
951 | """ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
952 | Private slot to add a block rule for an image URL. |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
953 | """ |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
954 | from WebBrowser.WebBrowserWindow import WebBrowserWindow |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
955 | act = self.sender() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
956 | url = act.data() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
957 | dlg = WebBrowserWindow.adBlockManager().showDialog() |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
958 | dlg.addCustomRule(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
959 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
960 | def __downloadMedia(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
961 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
962 | Private slot to download a media and save it to disk. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
963 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
964 | self.triggerPageAction(QWebEnginePage.DownloadMediaToDisk) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
965 | |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
966 | def __pauseMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
967 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
968 | 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
|
969 | """ |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
970 | self.triggerPageAction(QWebEnginePage.ToggleMediaPlayPause) |
4729
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
971 | |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
972 | def __muteMedia(self): |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
973 | """ |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
974 | Private slot to (un)mute the selected media. |
fc8d00860717
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4728
diff
changeset
|
975 | """ |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
976 | self.triggerPageAction(QWebEnginePage.ToggleMediaMute) |
1934
ad6b7c30fb9f
Added context menu entries for HTML5 media elements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1823
diff
changeset
|
977 | |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
978 | def __virusTotal(self): |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
979 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
980 | 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
|
981 | """ |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
982 | act = self.sender() |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
983 | url = act.data() |
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4752
diff
changeset
|
984 | self.__mw.requestVirusTotalScan(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
986 | def __searchDefaultRequested(self): |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
987 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
988 | 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
|
989 | """ |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
990 | searchText = self.selectedText() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
991 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
992 | if not searchText: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
993 | return |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
994 | |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
995 | engine = self.__mw.openSearchManager().currentEngine() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
996 | if engine: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
997 | self.search.emit(engine.searchUrl(searchText)) |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
998 | |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
999 | def __searchRequested(self, act): |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1000 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1001 | 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
|
1002 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1003 | @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
|
1004 | """ |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1005 | searchText = self.selectedText() |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1006 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1007 | if not searchText: |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1008 | return |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1009 | |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1010 | engineName = act.data() |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1011 | if engineName: |
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1012 | engine = self.__mw.openSearchManager().engine(engineName) |
4818
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1013 | else: |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1014 | engine = self.__mw.openSearchManager().currentEngine() |
9afce2f09ac0
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
1015 | if engine: |
4745
285bfd224a1b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4744
diff
changeset
|
1016 | self.search.emit(engine.searchUrl(searchText)) |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1017 | |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1018 | def __addSearchEngine(self): |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1019 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1020 | Private slot to add a new search engine. |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1021 | """ |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1022 | from .Tools import Scripts |
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1023 | script = Scripts.getFormData(self.__clickedPos) |
4741
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1024 | self.page().runJavaScript( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1025 | script, |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1026 | lambda res: self.__mw.openSearchManager().addEngineFromForm( |
f9e1adc69076
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4735
diff
changeset
|
1027 | 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
|
1028 | |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1029 | def __webInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1030 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1031 | Private slot to show the web inspector window. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1032 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1033 | if self.__inspector is None: |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1034 | from .WebInspector import WebInspector |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1035 | self.__inspector = WebInspector() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1036 | self.__inspector.setView(self, True) |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1037 | self.__inspector.show() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1038 | else: |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1039 | self.closeWebInspector() |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1040 | |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1041 | def closeWebInspector(self): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1042 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1043 | Public slot to close the web inspector. |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1044 | """ |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1045 | if self.__inspector is not None: |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1046 | if self.__inspector.isVisible(): |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1047 | self.__inspector.hide() |
4782
4ad656e4ebec
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4781
diff
changeset
|
1048 | WebInspector.unregisterView(self.__inspector) |
4781
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1049 | self.__inspector.deleteLater() |
15d416f1eca5
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4780
diff
changeset
|
1050 | 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
|
1051 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1052 | def addBookmark(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1053 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1054 | Public slot to bookmark the current page. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1055 | """ |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1056 | from .Tools import Scripts |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1057 | script = Scripts.getAllMetaAttributes() |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1058 | self.page().runJavaScript( |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1059 | script, self.__addBookmarkCallback) |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1060 | |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1061 | def __addBookmarkCallback(self, res): |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1062 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1063 | Private callback method of __addBookmark(). |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1064 | |
4917
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
1065 | @param res reference to the result list containing all |
682750cc7bd5
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4913
diff
changeset
|
1066 | meta attributes |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1067 | @type list |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1068 | """ |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1069 | description = "" |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1070 | for meta in res: |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1071 | if meta["name"] == "description": |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1072 | description = meta["content"] |
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1073 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1074 | from .Bookmarks.AddBookmarkDialog import AddBookmarkDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1075 | dlg = AddBookmarkDialog() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1076 | dlg.setUrl(bytes(self.url().toEncoded()).decode()) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1077 | dlg.setTitle(self.title()) |
4735
84e78ee0f361
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4734
diff
changeset
|
1078 | dlg.setDescription(description) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4731
diff
changeset
|
1079 | dlg.exec_() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1080 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1081 | 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
|
1082 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1083 | 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
|
1084 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1085 | @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
|
1086 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1087 | 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
|
1088 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1089 | 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
|
1090 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1091 | 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
|
1092 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1093 | @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
|
1094 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1095 | 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
|
1096 | 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
|
1097 | 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
|
1098 | 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
|
1099 | else: |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1100 | 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
|
1101 | 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
|
1102 | 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
|
1103 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1104 | if not evt.isAccepted(): |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1105 | 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
|
1106 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1107 | 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
|
1108 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1109 | 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
|
1110 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1111 | @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
|
1112 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1113 | 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
|
1114 | 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
|
1115 | 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
|
1116 | 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
|
1117 | 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
|
1118 | 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
|
1119 | 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
|
1120 | 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
|
1121 | 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
|
1122 | 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
|
1123 | 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
|
1124 | 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
|
1125 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1126 | 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
|
1127 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1128 | 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
|
1129 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1130 | @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
|
1131 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1132 | self.__mw.setEventMouseButtons(evt.buttons()) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1133 | 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
|
1134 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1135 | if evt.button() == Qt.XButton1: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1136 | 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
|
1137 | elif evt.button() == Qt.XButton2: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1138 | 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
|
1139 | else: |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1140 | 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
|
1141 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1142 | 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
|
1143 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1144 | 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
|
1145 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1146 | @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
|
1147 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1148 | 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
|
1149 | 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
|
1150 | if not evt.isAccepted() and \ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1151 | 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
|
1152 | 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
|
1153 | 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
|
1154 | 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
|
1155 | url.scheme() != "": |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1156 | self.__mw.setEventMouseButtons(Qt.NoButton) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1157 | 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
|
1158 | 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
|
1159 | 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
|
1160 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1161 | 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
|
1162 | """ |
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
|
1163 | 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
|
1164 | |
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
|
1165 | @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
|
1166 | """ |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4713
diff
changeset
|
1167 | 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
|
1168 | 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
|
1169 | 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
|
1170 | self.zoomOut() |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1171 | else: |
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1172 | 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
|
1173 | 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
|
1174 | 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
|
1175 | |
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
|
1176 | 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
|
1177 | 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
|
1178 | 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
|
1179 | 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
|
1180 | 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
|
1181 | 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
|
1182 | 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
|
1183 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1184 | 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
|
1185 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1186 | def _keyPressEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1187 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1188 | Protected method called by a key press. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1189 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1190 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1191 | """ |
4752
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1192 | if self.__mw.personalInformationManager().viewKeyPressEvent(self, evt): |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1193 | evt.accept() |
a3bcc42a82a9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4745
diff
changeset
|
1194 | return |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1195 | |
4884
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1196 | if evt.key() == Qt.Key_Escape: |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1197 | if self.isFullScreen(): |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1198 | self.triggerPageAction(QWebEnginePage.ExitFullScreen) |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1199 | evt.accept() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1200 | return |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1201 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1202 | super(WebBrowserView, self).keyPressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1203 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1204 | def _keyReleaseEvent(self, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1205 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1206 | Protected method called by a key release. |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1207 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1208 | @param evt reference to the key event (QKeyEvent) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1209 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1210 | super(WebBrowserView, self).keyReleaseEvent(evt) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1211 | |
952
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1212 | 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
|
1213 | """ |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1214 | 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
|
1215 | |
cc3e2e5558e9
Added support for access keys and drag & drop to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
1216 | @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
|
1217 | """ |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1218 | 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
|
1219 | |
4731
67d861d9e492
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4729
diff
changeset
|
1220 | # TODO: Gestures: Obsoleted by eventFilter() (?) |
4760
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1221 | def event(self, evt): |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1222 | """ |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1223 | Public method handling events. |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1224 | |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1225 | @param evt reference to the event (QEvent) |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1226 | @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
|
1227 | """ |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1228 | if evt.type() == QEvent.Gesture: |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1229 | self._gestureEvent(evt) |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1230 | return True |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1231 | |
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1232 | 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
|
1233 | |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1234 | 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
|
1235 | """ |
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
|
1236 | 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
|
1237 | |
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
|
1238 | @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
|
1239 | """ |
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
|
1240 | 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
|
1241 | 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
|
1242 | 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
|
1243 | 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
|
1244 | 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
|
1245 | scaleFactor = pinch.scaleFactor() |
4846
960e5e18894b
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4826
diff
changeset
|
1246 | 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
|
1247 | evt.accept() |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1248 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1249 | def eventFilter(self, obj, evt): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1250 | """ |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1251 | 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
|
1252 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1253 | @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
|
1254 | @type QObject |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1255 | @param evt reference to event to be processed |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1256 | @type QEvent |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1257 | @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
|
1258 | @rtype bool |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1259 | """ |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1260 | # 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
|
1261 | 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
|
1262 | child = evt.child() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1263 | if child and child.inherits( |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1264 | "QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget"): |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1265 | self.__rwhvqt = child |
4760
d053f6655a0f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4759
diff
changeset
|
1266 | self.grabGesture(Qt.PinchGesture) |
4910
e97af1181efd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4908
diff
changeset
|
1267 | self.__rwhvqt.grabGesture(Qt.PinchGesture) |
4717
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1268 | self.__rwhvqt.installEventFilter(self) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1269 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1270 | # forward events to WebBrowserView |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1271 | if obj is self.__rwhvqt: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1272 | wasAccepted = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1273 | evt.setAccepted(False) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1274 | if evt.type() == QEvent.KeyPress: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1275 | self._keyPressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1276 | elif evt.type() == QEvent.KeyRelease: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1277 | self._keyReleaseEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1278 | elif evt.type() == QEvent.MouseButtonPress: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1279 | self._mousePressEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1280 | elif evt.type() == QEvent.MouseButtonRelease: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1281 | self._mouseReleaseEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1282 | elif evt.type() == QEvent.Wheel: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1283 | self._wheelEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1284 | elif evt.type() == QEvent.Gesture: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1285 | self._gestureEvent(evt) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1286 | ret = evt.isAccepted() |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1287 | evt.setAccepted(wasAccepted) |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1288 | return ret |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1289 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1290 | # block already handled events |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1291 | if obj is self: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1292 | if evt.type() in [QEvent.KeyPress, QEvent.KeyRelease, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1293 | QEvent.MouseButtonPress, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1294 | QEvent.MouseButtonRelease, |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1295 | QEvent.Wheel, QEvent.Gesture]: |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1296 | return True |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1297 | |
5841f229baf7
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4715
diff
changeset
|
1298 | 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
|
1299 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1300 | def clearHistory(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1301 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1302 | Public slot to clear the history. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1303 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1304 | self.history().clear() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1305 | self.__urlChanged(self.history().currentItem().url()) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1306 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1307 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1308 | ## 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
|
1309 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1310 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1311 | def __urlChanged(self, url): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1312 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1313 | Private slot to handle the urlChanged signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1314 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1315 | @param url the new url (QUrl) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1316 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1317 | self.sourceChanged.emit(url) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1318 | |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1319 | 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
|
1320 | self.backwardAvailable.emit(self.isBackwardAvailable()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1321 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1322 | def __iconUrlChanged(self, url): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1323 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1324 | Private slot to handle the iconUrlChanged signal. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1325 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1326 | @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
|
1327 | @type QUrl |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1328 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1329 | self.__siteIcon = QIcon() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1330 | if self.__siteIconLoader is not None: |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1331 | self.__siteIconLoader.deleteLater() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1332 | self.__siteIconLoader = WebIconLoader(url, self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1333 | self.__siteIconLoader.iconLoaded.connect(self.__iconLoaded) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1334 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1335 | def __iconLoaded(self, icon): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1336 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1337 | Private slot handling the loaded web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1338 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1339 | @param icon web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1340 | @type QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1341 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1342 | self.__siteIcon = icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1343 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1344 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1345 | WebIconProvider.instance().saveIcon(self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1346 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1347 | self.iconChanged.emit() |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1348 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1349 | def icon(self): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1350 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1351 | Public method to get the web site icon. |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1352 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1353 | @return web site icon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1354 | @rtype QIcon |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1355 | """ |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1356 | if not self.__siteIcon.isNull(): |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1357 | return QIcon(self.__siteIcon) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1358 | |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1359 | from .Tools import WebIconProvider |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1360 | return WebIconProvider.instance().iconForUrl(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1361 | |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1362 | def __linkHovered(self, link): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1363 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1364 | Private slot to handle the linkHovered signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1365 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1366 | @param link the URL of the link (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1367 | """ |
487
4d41d03d3d00
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
383
diff
changeset
|
1368 | self.highlighted.emit(link) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1369 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1370 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1371 | ## 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
|
1372 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1373 | |
4903
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1374 | def __renderProcessTerminated(self, status, exitCode): |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1375 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1376 | Private slot handling a crash of the web page render process. |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1377 | |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1378 | @param status termination status |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1379 | @type QWebEnginePage.RenderProcessTerminationStatus |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1380 | @param exitCode exit code of the process |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1381 | @type int |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1382 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1383 | if status == QWebEnginePage.NormalTerminationStatus: |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1384 | return |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1385 | |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1386 | QTimer.singleShot(0, self.__showTabCrashPage) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1387 | |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1388 | def __showTabCrashPage(self): |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1389 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1390 | Private slot to show the tab crash page. |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1391 | """ |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1392 | html = readAllFileContents(":/html/tabCrashPage.html") |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1393 | html = html.replace("@IMAGE@", pixmapToDataUrl( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1394 | qApp.style().standardIcon(QStyle.SP_MessageBoxWarning).pixmap( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1395 | 48, 48)).toString()) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1396 | html = html.replace("@FAVICON@", pixmapToDataUrl( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1397 | qApp.style() .standardIcon(QStyle.SP_MessageBoxWarning).pixmap( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1398 | 16, 16)).toString()) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1399 | html = html.replace("@TITLE@", self.tr("Failed loading page")) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1400 | html = html.replace("@H1@", self.tr("Failed loading page")) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1401 | html = html.replace( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1402 | "@LI-1@", |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1403 | self.tr("Something went wrong while loading this page.")) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1404 | html = html.replace( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1405 | "@LI-2@", |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1406 | self.tr( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1407 | "Try reloading the page or closing some tabs to make more" |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1408 | " memory available.")) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1409 | html = html.replace( |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1410 | "@BUTTON@", self.tr("Reload Page")) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1411 | self.page().setHtml(html, self.url()) |
10910764454a
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4900
diff
changeset
|
1412 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1413 | def __loadStarted(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1414 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1415 | Private method to handle the loadStarted signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1416 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1417 | self.__isLoading = True |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1418 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1419 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1420 | def __loadProgress(self, progress): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1421 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1422 | Private method to handle the loadProgress signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1423 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1424 | @param progress progress value (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1425 | """ |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1426 | self.__progress = progress |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1427 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1428 | def __loadFinished(self, ok): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1429 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1430 | Private method to handle the loadFinished signal. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1431 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1432 | @param ok flag indicating the result (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1433 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1434 | self.__isLoading = False |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1435 | self.__progress = 0 |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1436 | |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1437 | QTimer.singleShot(200, self.__renderPreview) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1438 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1439 | from .ZoomManager import ZoomManager |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1440 | zoomValue = ZoomManager.instance().zoomValue(self.url()) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
1441 | 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
|
1442 | |
256
04083f42042d
Some changes to the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
168
diff
changeset
|
1443 | if ok: |
4734
ce0b1f024da9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4732
diff
changeset
|
1444 | self.__mw.historyManager().addHistoryEntry(self) |
4880
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1445 | self.__mw.adBlockManager().page().hideBlockedPageEntries( |
561f2bd9cfb9
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4868
diff
changeset
|
1446 | self.page()) |
4744
ad3f6c1caf8d
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4741
diff
changeset
|
1447 | self.__mw.passwordManager().completePage(self.page()) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1448 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1449 | def isLoading(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1450 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1451 | Public method to get the loading state. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1452 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1453 | @return flag indicating the loading state (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1454 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1455 | return self.__isLoading |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1456 | |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1457 | def progress(self): |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1458 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1459 | 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
|
1460 | |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1461 | @return load progress (integer) |
634
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1462 | """ |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1463 | return self.__progress |
7b84cbd2f752
Added tab previews to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
629
diff
changeset
|
1464 | |
4900
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1465 | def __renderPreview(self): |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1466 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1467 | Private slot to render a preview pixmap after the page was loaded. |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1468 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1469 | from .WebBrowserSnap import renderTabPreview |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1470 | w = 600 # some default width, the preview gets scaled when shown |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1471 | h = int(w * self.height() / self.width()) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1472 | self.__preview = renderTabPreview(self, w, h) |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1473 | |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1474 | def getPreview(self): |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1475 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1476 | Public method to get the preview pixmap. |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1477 | |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1478 | @return preview pixmap |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1479 | @rtype QPixmap |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1480 | """ |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1481 | return self.__preview |
32f940762654
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4886
diff
changeset
|
1482 | |
4913
e16573640cb8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4910
diff
changeset
|
1483 | # TODO: Qt 5.7: Save |
4713
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1484 | ## def saveAs(self): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1485 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1486 | ## 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
|
1487 | ## """ |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1488 | ## url = self.url() |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1489 | ## if url.isEmpty(): |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1490 | ## return |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1491 | ## |
8dca047daf4b
Continued with the web view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4711
diff
changeset
|
1492 | ## 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
|
1493 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1494 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1495 | ## 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
|
1496 | ########################################################################### |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1497 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1498 | def createWindow(self, windowType): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1499 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3539
diff
changeset
|
1500 | 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
|
1501 | |
4826
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1502 | @param windowType type of the requested window |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1503 | (QWebEnginePage.WebWindowType) |
aa752e6e9eba
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4818
diff
changeset
|
1504 | @return reference to the created browser window (WebBrowserView) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1505 | """ |
4711
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1506 | self.__mw.newTab(addNextTo=self) |
0a9162801b8d
Started with web browser view.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4710
diff
changeset
|
1507 | return self.__mw.currentBrowser() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1508 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1509 | def preferencesChanged(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1510 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1511 | Public method to indicate a change of the settings. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1512 | """ |
629
c88489b378fb
Added configuration options for the web browser cache policy.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
564
diff
changeset
|
1513 | self.reload() |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1514 | |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
1515 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1516 | ## 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
|
1517 | ########################################################################### |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1518 | |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1519 | def checkRSS(self): |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1520 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1521 | 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
|
1522 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1523 | @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
|
1524 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1525 | self.__rss = [] |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1526 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1527 | script = Scripts.getFeedLinks() |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1528 | feeds = self.page().execJavaScript(script) |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1529 | |
4857
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1530 | if feeds is not None: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1531 | for feed in feeds: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1532 | if feed["url"] and feed["title"]: |
8dba5fb92f12
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4846
diff
changeset
|
1533 | self.__rss.append((feed["title"], feed["url"])) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1534 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4754
diff
changeset
|
1535 | return len(self.__rss) > 0 |
1415
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1536 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1537 | def getRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1538 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1539 | 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
|
1540 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1541 | @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
|
1542 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1543 | return self.__rss |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1544 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1545 | def hasRSS(self): |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1546 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1547 | 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
|
1548 | |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1549 | @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
|
1550 | """ |
28fa9633d57e
Added a dialog to show RSS feeds.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
1551 | 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
|
1552 | |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1553 | ########################################################################### |
4884
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1554 | ## Full Screen handling below |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1555 | ########################################################################### |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1556 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1557 | def isFullScreen(self): |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1558 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1559 | Public method to check, if full screen mode is active. |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1560 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1561 | @return flag indicating full screen mode |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1562 | @rtype bool |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1563 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1564 | return self.__mw.isFullScreen() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1565 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1566 | def requestFullScreen(self, enable): |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1567 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1568 | Public method to request full screen mode. |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1569 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1570 | @param enable flag indicating full screen mode on or off |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1571 | @type bool |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1572 | """ |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1573 | if enable: |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1574 | self.__mw.enterHtmlFullScreen() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1575 | else: |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1576 | self.__mw.showNormal() |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1577 | |
6983af705a7f
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4881
diff
changeset
|
1578 | ########################################################################### |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1579 | ## Speed Dial slots below |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
1580 | ########################################################################### |
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
|
1581 | |
4885
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1582 | def __addSpeedDial(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1583 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1584 | Private slot to add a new speed dial. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1585 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1586 | self.__page.runJavaScript("addSpeedDial();") |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1587 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1588 | def __configureSpeedDial(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1589 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1590 | Private slot to configure the speed dial. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1591 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1592 | self.page().runJavaScript("configureSpeedDial();") |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1593 | |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1594 | def __reloadAllSpeedDials(self): |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1595 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1596 | Private slot to reload all speed dials. |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1597 | """ |
362360f9a979
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4884
diff
changeset
|
1598 | self.page().runJavaScript("reloadAll();") |