Sun, 13 May 2018 12:57:00 +0200
URL handling: redirected the URL handling for 'http' and 'https' URLs to the main user interface and the man web browser interface (for standalone web browsers).
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
3 | # Copyright (c) 2010 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the central widget showing the web pages. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3080
diff
changeset
|
10 | 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:
2403
diff
changeset
|
11 | |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import os |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
14 | from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
15 | from PyQt5.QtGui import QIcon |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
16 | from PyQt5.QtWidgets import QWidget, QHBoxLayout, QMenu, QToolButton, QDialog |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
17 | from PyQt5.QtPrintSupport import QPrinter, QPrintDialog |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
18 | from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from E5Gui.E5TabWidget import E5TabWidget |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | from E5Gui import E5MessageBox |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
22 | from E5Gui.E5Application import e5App |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | from .HelpBrowserWV import HelpBrowser |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
25 | |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | import UI.PixmapCache |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
28 | import Utilities |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | import Preferences |
4793
085b71f009a1
Made the web browser 'Print to Pdf' available on Linux only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4705
diff
changeset
|
30 | import Globals |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
32 | from eric6config import getConfig |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
34 | |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | class HelpTabWidget(E5TabWidget): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | Class implementing the central widget showing the web pages. |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
38 | |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
39 | @signal sourceChanged(HelpBrowser, QUrl) emitted after the URL of a browser |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
40 | has changed |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
41 | @signal titleChanged(HelpBrowser, str) emitted after the title of a browser |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
42 | has changed |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
43 | @signal showMessage(str) emitted to show a message in the main window |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
44 | status bar |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
45 | @signal browserClosed(QWidget) emitted after a browser was closed |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
46 | @signal browserZoomValueChanged(int) emitted to signal a change of the |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
47 | current browser's zoom level |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
49 | sourceChanged = pyqtSignal(HelpBrowser, QUrl) |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
50 | titleChanged = pyqtSignal(HelpBrowser, str) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | showMessage = pyqtSignal(str) |
1196
77da430b4080
Added an action to preview the file in the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1155
diff
changeset
|
52 | browserClosed = pyqtSignal(QWidget) |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
53 | browserZoomValueChanged = pyqtSignal(int) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | def __init__(self, parent): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | Constructor |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | @param parent reference to the parent widget (QWidget) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
61 | E5TabWidget.__init__(self, parent, dnd=True) |
2403
e3d7a861547c
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2334
diff
changeset
|
62 | |
e3d7a861547c
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2334
diff
changeset
|
63 | from .HelpTabBar import HelpTabBar |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
64 | self.__tabBar = HelpTabBar(self) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
65 | self.setCustomTabBar(True, self.__tabBar) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | self.__mainWindow = parent |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | |
1422
47f1dffa398e
Fixed the tab bar issue observed for some styles (like Mac Aqua).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
69 | self.setUsesScrollButtons(True) |
47f1dffa398e
Fixed the tab bar issue observed for some styles (like Mac Aqua).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
70 | self.setDocumentMode(True) |
47f1dffa398e
Fixed the tab bar issue observed for some styles (like Mac Aqua).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
71 | self.setElideMode(Qt.ElideNone) |
47f1dffa398e
Fixed the tab bar issue observed for some styles (like Mac Aqua).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1232
diff
changeset
|
72 | |
2403
e3d7a861547c
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2334
diff
changeset
|
73 | from .ClosedTabsManager import ClosedTabsManager |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
74 | self.__closedTabsManager = ClosedTabsManager(self) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
75 | self.__closedTabsManager.closedTabAvailable.connect( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
76 | self.__closedTabAvailable) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
77 | |
2403
e3d7a861547c
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2334
diff
changeset
|
78 | from .UrlBar.StackedUrlBar import StackedUrlBar |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
79 | self.__stackedUrlBar = StackedUrlBar(self) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
80 | self.__tabBar.tabMoved.connect(self.__stackedUrlBar.moveBar) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
81 | |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | self.__tabContextMenuIndex = -1 |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
83 | self.currentChanged[int].connect(self.__currentChanged) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | self.setTabContextMenuPolicy(Qt.CustomContextMenu) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | self.customTabContextMenuRequested.connect(self.__showContextMenu) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | self.__rightCornerWidget = QWidget(self) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | self.__rightCornerWidgetLayout = QHBoxLayout(self.__rightCornerWidget) |
2824
858412c29c34
Replaced the obsoleted method setMargin() with setContentsMargins().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2763
diff
changeset
|
89 | self.__rightCornerWidgetLayout.setContentsMargins(0, 0, 0, 0) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | self.__rightCornerWidgetLayout.setSpacing(0) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | self.__navigationMenu = QMenu(self) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | self.__navigationMenu.aboutToShow.connect(self.__showNavigationMenu) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | self.__navigationMenu.triggered.connect(self.__navigationMenuTriggered) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | self.__navigationButton = QToolButton(self) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
97 | self.__navigationButton.setIcon( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
98 | UI.PixmapCache.getIcon("1downarrow.png")) |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
99 | self.__navigationButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
100 | self.tr("Show a navigation menu")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | self.__navigationButton.setPopupMode(QToolButton.InstantPopup) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.__navigationButton.setMenu(self.__navigationMenu) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | self.__navigationButton.setEnabled(False) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | self.__rightCornerWidgetLayout.addWidget(self.__navigationButton) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
106 | self.__closedTabsMenu = QMenu(self) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
107 | self.__closedTabsMenu.aboutToShow.connect( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
108 | self.__aboutToShowClosedTabsMenu) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
109 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
110 | self.__closedTabsButton = QToolButton(self) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
111 | self.__closedTabsButton.setIcon(UI.PixmapCache.getIcon("trash.png")) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
112 | self.__closedTabsButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
113 | self.tr("Show a navigation menu for closed tabs")) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
114 | self.__closedTabsButton.setPopupMode(QToolButton.InstantPopup) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
115 | self.__closedTabsButton.setMenu(self.__closedTabsMenu) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
116 | self.__closedTabsButton.setEnabled(False) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
117 | self.__rightCornerWidgetLayout.addWidget(self.__closedTabsButton) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
118 | |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
119 | self.__closeButton = QToolButton(self) |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
120 | self.__closeButton.setIcon(UI.PixmapCache.getIcon("close.png")) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
121 | self.__closeButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
122 | self.tr("Close the current help window")) |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
123 | self.__closeButton.setEnabled(False) |
4705
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
124 | self.__closeButton.clicked.connect(self.closeBrowser) |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
125 | self.__rightCornerWidgetLayout.addWidget(self.__closeButton) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | if Preferences.getUI("SingleCloseButton") or \ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | not hasattr(self, 'setTabsClosable'): |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
128 | self.__closeButton.show() |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | self.setTabsClosable(True) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | self.tabCloseRequested.connect(self.closeBrowserAt) |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
132 | self.__closeButton.hide() |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | self.setCornerWidget(self.__rightCornerWidget, Qt.TopRightCorner) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | self.__newTabButton = QToolButton(self) |
1652
4719bf3fe8d8
Change the icon on the "Add tab" button of the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1651
diff
changeset
|
137 | self.__newTabButton.setIcon(UI.PixmapCache.getIcon("plus.png")) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
138 | self.__newTabButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
139 | self.tr("Open a new help window tab")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | self.setCornerWidget(self.__newTabButton, Qt.TopLeftCorner) |
4705
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
141 | self.__newTabButton.clicked.connect(self.__newBrowser) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | self.__initTabContextMenu() |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
144 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
145 | self.__historyCompleter = None |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | def __initTabContextMenu(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | """ |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
149 | Private method to create the tab context menu. |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | self.__tabContextMenu = QMenu(self) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
152 | self.tabContextNewAct = self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
153 | UI.PixmapCache.getIcon("tabNew.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
154 | self.tr('New Tab'), self.newBrowser) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | self.__tabContextMenu.addSeparator() |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
156 | self.leftMenuAct = self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
157 | UI.PixmapCache.getIcon("1leftarrow.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
158 | self.tr('Move Left'), self.__tabContextMenuMoveLeft) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
159 | self.rightMenuAct = self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
160 | UI.PixmapCache.getIcon("1rightarrow.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
161 | self.tr('Move Right'), self.__tabContextMenuMoveRight) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | self.__tabContextMenu.addSeparator() |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
163 | self.tabContextCloneAct = self.__tabContextMenu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
164 | self.tr("Duplicate Page"), self.__tabContextMenuClone) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | self.__tabContextMenu.addSeparator() |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
166 | self.tabContextCloseAct = self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
167 | UI.PixmapCache.getIcon("tabClose.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
168 | self.tr('Close'), self.__tabContextMenuClose) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
169 | self.tabContextCloseOthersAct = self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
170 | UI.PixmapCache.getIcon("tabCloseOther.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
171 | self.tr("Close Others"), self.__tabContextMenuCloseOthers) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
172 | self.__tabContextMenu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
173 | self.tr('Close All'), self.closeAllBrowsers) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | self.__tabContextMenu.addSeparator() |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
175 | self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
176 | UI.PixmapCache.getIcon("printPreview.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
177 | self.tr('Print Preview'), self.__tabContextMenuPrintPreview) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
178 | self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
179 | UI.PixmapCache.getIcon("print.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
180 | self.tr('Print'), self.__tabContextMenuPrint) |
4793
085b71f009a1
Made the web browser 'Print to Pdf' available on Linux only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4705
diff
changeset
|
181 | if Globals.isLinuxPlatform(): |
085b71f009a1
Made the web browser 'Print to Pdf' available on Linux only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4705
diff
changeset
|
182 | self.__tabContextMenu.addAction( |
085b71f009a1
Made the web browser 'Print to Pdf' available on Linux only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4705
diff
changeset
|
183 | UI.PixmapCache.getIcon("printPdf.png"), |
085b71f009a1
Made the web browser 'Print to Pdf' available on Linux only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4705
diff
changeset
|
184 | self.tr('Print as PDF'), self.__tabContextMenuPrintPdf) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | self.__tabContextMenu.addSeparator() |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
186 | self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
187 | UI.PixmapCache.getIcon("reload.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
188 | self.tr('Reload All'), self.reloadAllBrowsers) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
189 | self.__tabContextMenu.addSeparator() |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
190 | self.__tabContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
191 | UI.PixmapCache.getIcon("addBookmark.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
192 | self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
193 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
194 | self.__tabBackContextMenu = QMenu(self) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
195 | self.__tabBackContextMenu.addAction( |
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('Close All'), self.closeAllBrowsers) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
197 | self.__tabBackContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
198 | UI.PixmapCache.getIcon("reload.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
199 | self.tr('Reload All'), self.reloadAllBrowsers) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
200 | self.__tabBackContextMenu.addAction( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
201 | UI.PixmapCache.getIcon("addBookmark.png"), |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
202 | self.tr('Bookmark All Tabs'), self.__mainWindow.bookmarkAll) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
203 | self.__tabBackContextMenu.addSeparator() |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
204 | self.__restoreClosedTabAct = self.__tabBackContextMenu.addAction( |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
205 | UI.PixmapCache.getIcon("trash.png"), |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
206 | self.tr('Restore Closed Tab')) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
207 | self.__restoreClosedTabAct.setEnabled(False) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
208 | self.__restoreClosedTabAct.setData(0) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
209 | self.__restoreClosedTabAct.triggered.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
210 | lambda: self.restoreClosedTab(self.__restoreClosedTabAct)) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | def __showContextMenu(self, coord, index): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | Private slot to show the tab context menu. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | @param coord the position of the mouse pointer (QPoint) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | @param index index of the tab the menu is requested for (integer) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | coord = self.mapToGlobal(coord) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
220 | if index == -1: |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
221 | self.__tabBackContextMenu.popup(coord) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
222 | else: |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
223 | self.__tabContextMenuIndex = index |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
224 | self.leftMenuAct.setEnabled(index > 0) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
225 | self.rightMenuAct.setEnabled(index < self.count() - 1) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
226 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
227 | self.tabContextCloseOthersAct.setEnabled(self.count() > 1) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
228 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
229 | self.__tabContextMenu.popup(coord) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | def __tabContextMenuMoveLeft(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | Private method to move a tab one position to the left. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | """ |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
235 | self.moveTab(self.__tabContextMenuIndex, |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
236 | self.__tabContextMenuIndex - 1) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | def __tabContextMenuMoveRight(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | Private method to move a tab one position to the right. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | """ |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
242 | self.moveTab(self.__tabContextMenuIndex, |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
243 | self.__tabContextMenuIndex + 1) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
244 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | def __tabContextMenuClone(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | Private method to clone the selected tab. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | idx = self.__tabContextMenuIndex |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | if idx < 0: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | idx = self.currentIndex() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | if idx < 0 or idx > self.count(): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | return |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | |
1953
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1781
diff
changeset
|
255 | req = QNetworkRequest(self.widget(idx).url()) |
4326
e52318f11812
Change code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4321
diff
changeset
|
256 | req.setRawHeader(b"X-Eric6-UserLoadAction", b"1") |
1953
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1781
diff
changeset
|
257 | self.newBrowser(None, (req, QNetworkAccessManager.GetOperation, b"")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | def __tabContextMenuClose(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | Private method to close the selected tab. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
263 | self.closeBrowserAt(self.__tabContextMenuIndex) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | def __tabContextMenuCloseOthers(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | Private slot to close all other tabs. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | index = self.__tabContextMenuIndex |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | for i in list(range(self.count() - 1, index, -1)) + \ |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
271 | list(range(index - 1, -1, -1)): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | self.closeBrowserAt(i) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | def __tabContextMenuPrint(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | Private method to print the selected tab. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | browser = self.widget(self.__tabContextMenuIndex) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | self.printBrowser(browser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | def __tabContextMenuPrintPdf(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | Private method to print the selected tab as PDF. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | browser = self.widget(self.__tabContextMenuIndex) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | self.printBrowserPdf(browser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
287 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | def __tabContextMenuPrintPreview(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | Private method to show a print preview of the selected tab. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | browser = self.widget(self.__tabContextMenuIndex) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | self.printPreviewBrowser(browser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | |
4705
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
295 | @pyqtSlot() |
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
296 | def __newBrowser(self): |
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
297 | """ |
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
298 | Private slot to open a new browser tab. |
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
299 | """ |
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
300 | self.newBrowser() |
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
301 | |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
302 | def newBrowser(self, link=None, requestData=None, position=-1): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | Public method to create a new web browser tab. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | @param link link to be shown (string or QUrl) |
978
11f8adbcac97
Added an interface to VirusTotal to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
953
diff
changeset
|
307 | @param requestData tuple containing the request data (QNetworkRequest, |
11f8adbcac97
Added an interface to VirusTotal to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
953
diff
changeset
|
308 | QNetworkAccessManager.Operation, QByteArray) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
309 | @keyparam position position to create the new tab at or -1 to add it |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
310 | to the end (integer) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | if link is None: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | linkName = "" |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | elif isinstance(link, QUrl): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | linkName = link.toString() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | linkName = link |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | |
2403
e3d7a861547c
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2334
diff
changeset
|
319 | from .UrlBar.UrlBar import UrlBar |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
320 | urlbar = UrlBar(self.__mainWindow, self) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
321 | if self.__historyCompleter is None: |
2403
e3d7a861547c
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2334
diff
changeset
|
322 | import Helpviewer.HelpWindow |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
323 | from .History.HistoryCompleter import HistoryCompletionModel, \ |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
324 | HistoryCompleter |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
325 | self.__historyCompletionModel = HistoryCompletionModel(self) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
326 | self.__historyCompletionModel.setSourceModel( |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
327 | Helpviewer.HelpWindow.HelpWindow.historyManager() |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
328 | .historyFilterModel()) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
329 | self.__historyCompleter = HistoryCompleter( |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
330 | self.__historyCompletionModel, self) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
331 | self.__historyCompleter.activated[str].connect(self.__pathSelected) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
332 | urlbar.setCompleter(self.__historyCompleter) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
333 | urlbar.returnPressed.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
334 | lambda: self.__lineEditReturnPressed(urlbar)) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
335 | if position == -1: |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
336 | self.__stackedUrlBar.addWidget(urlbar) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
337 | else: |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
338 | self.__stackedUrlBar.insertWidget(position, urlbar) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
339 | |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | browser = HelpBrowser(self.__mainWindow, self) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
341 | urlbar.setBrowser(browser) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
343 | browser.sourceChanged.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
344 | lambda url: self.__sourceChanged(url, browser)) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
345 | browser.titleChanged.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
346 | lambda title: self.__titleChanged(title, browser)) |
641
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
347 | browser.highlighted.connect(self.showMessage) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
348 | browser.backwardAvailable.connect( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
349 | self.__mainWindow.setBackwardAvailable) |
641
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
350 | browser.forwardAvailable.connect(self.__mainWindow.setForwardAvailable) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
351 | browser.loadStarted.connect( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
352 | lambda: self.__loadStarted(browser)) |
6173
cb1488b062a9
Helpviewer: Reverted some of the sender() related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6157
diff
changeset
|
353 | browser.loadFinished.connect(self.__loadFinished) |
6157
708a22e46bbd
HelpTabWidget: Fixed a copy & paste issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6122
diff
changeset
|
354 | browser.iconChanged.connect( |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
355 | lambda: self.__iconChanged(browser)) |
641
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
356 | browser.search.connect(self.newBrowser) |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
357 | browser.page().windowCloseRequested.connect( |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
358 | lambda: self.__windowCloseRequested(browser.page())) |
641
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
359 | browser.page().printRequested.connect(self.__printRequested) |
2334
fc69ad77e18a
Introduced a zoom widget in the status bar of several windows.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
360 | browser.zoomValueChanged.connect(self.browserZoomValueChanged) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
362 | if position == -1: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
363 | index = self.addTab(browser, self.tr("...")) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
364 | else: |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
365 | index = self.insertTab(position, browser, self.tr("...")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | self.setCurrentIndex(index) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | |
641
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
368 | self.__mainWindow.closeAct.setEnabled(True) |
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
369 | self.__mainWindow.closeAllAct.setEnabled(True) |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
370 | self.__closeButton.setEnabled(True) |
641
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
371 | self.__navigationButton.setEnabled(True) |
b06d4df23797
Fixed an issue in the web browser related to webkit and Qt help and fixed an issue introduced by the latest refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
638
diff
changeset
|
372 | |
1670
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
373 | if not linkName and not requestData: |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
374 | if Preferences.getHelp("StartupBehavior") == 0: |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
375 | linkName = Preferences.getHelp("HomePage") |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
376 | elif Preferences.getHelp("StartupBehavior") == 1: |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
377 | linkName = "eric:speeddial" |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | if linkName: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | browser.setSource(QUrl(linkName)) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | if not browser.documentTitle(): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | self.setTabText(index, self.__elide(linkName, Qt.ElideMiddle)) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | self.setTabToolTip(index, linkName) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | else: |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
385 | self.setTabText( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
386 | index, |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | self.__elide(browser.documentTitle().replace("&", "&&"))) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | self.setTabToolTip(index, browser.documentTitle()) |
978
11f8adbcac97
Added an interface to VirusTotal to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
953
diff
changeset
|
389 | elif requestData: |
11f8adbcac97
Added an interface to VirusTotal to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
953
diff
changeset
|
390 | browser.load(*requestData) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | |
3077
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
392 | def newBrowserAfter(self, browser, link=None, requestData=None): |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
393 | """ |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
394 | Public method to create a new web browser tab after a given one. |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
395 | |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
396 | @param browser reference to the browser to add after (HelpBrowser) |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
397 | @param link link to be shown (string or QUrl) |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
398 | @param requestData tuple containing the request data (QNetworkRequest, |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
399 | QNetworkAccessManager.Operation, QByteArray) |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
400 | """ |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
401 | if browser: |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
402 | position = self.indexOf(browser) + 1 |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
403 | else: |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
404 | position = -1 |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
405 | self.newBrowser(link, requestData, position) |
8d2e69e02e19
Change web browser code to show windows requested by JavaScript next to the requesting tab.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3048
diff
changeset
|
406 | |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | def __showNavigationMenu(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | Private slot to show the navigation button menu. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | self.__navigationMenu.clear() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | for index in range(self.count()): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | act = self.__navigationMenu.addAction( |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | self.tabIcon(index), self.tabText(index)) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | act.setData(index) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | def __navigationMenuTriggered(self, act): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | Private slot called to handle the navigation button menu selection. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | @param act reference to the selected action (QAction) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | index = act.data() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | if index is not None: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | self.setCurrentIndex(index) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
427 | def __windowCloseRequested(self, page): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | Private slot to handle the windowCloseRequested signal of a browser. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
430 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
431 | @param page reference to the web page |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
432 | @type HelpWebPage |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | browser = page.view() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | if browser is None: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | return |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | index = self.indexOf(browser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | self.closeBrowserAt(index) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
441 | def reloadAllBrowsers(self): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
442 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
443 | Public slot to reload all browsers. |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
444 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
445 | for index in range(self.count()): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
446 | browser = self.widget(index) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
447 | browser and browser.reload() |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
448 | |
4705
dc9e70c0605b
Fixed a little issue in the help browser tab widget.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
449 | @pyqtSlot() |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | def closeBrowser(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | Public slot called to handle the close action. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | self.closeBrowserAt(self.currentIndex()) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | def closeAllBrowsers(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | Public slot called to handle the close all action. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | for index in range(self.count() - 1, -1, -1): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | self.closeBrowserAt(index) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
463 | def closeBrowserAt(self, index): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | """ |
2763
e4794166ad70
Fixed a serious typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2403
diff
changeset
|
465 | Public slot to close a browser based on its index. |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
467 | @param index index of browser to close (integer) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | browser = self.widget(index) |
1670
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
470 | if browser is None: |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
471 | return |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
472 | |
4314
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
473 | if browser.isModified(): |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
474 | ok = E5MessageBox.yesNo( |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
475 | self, |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
476 | self.tr("Do you really want to close this page?"), |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
477 | self.tr("""You have modified this page and when closing it""" |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
478 | """ you would lose the modification.\nDo you really""" |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
479 | """ want to close this page?""")) |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
480 | if not ok: |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
481 | return |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
482 | |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
483 | urlbar = self.__stackedUrlBar.widget(index) |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
484 | self.__stackedUrlBar.removeWidget(urlbar) |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
485 | urlbar.deleteLater() |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
486 | del urlbar |
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
487 | |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
488 | self.__closedTabsManager.recordBrowser(browser, index) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
489 | |
4341
1ff0929aab09
Added our own web inspector window to overcome a Qt weekness.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4331
diff
changeset
|
490 | browser.closeWebInspector() |
1651
bc68f24d5658
Added the ClickToFlash plug-in to (temporarily) block Flash and related content.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1645
diff
changeset
|
491 | browser.home() |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
492 | self.removeTab(index) |
1196
77da430b4080
Added an action to preview the file in the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1155
diff
changeset
|
493 | self.browserClosed.emit(browser) |
4314
2d9133f4cc10
Modified the web browser such, that it will ask the user, if he wants to close a modified page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
494 | browser.deleteLater() |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
495 | del browser |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
496 | |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | if self.count() == 0: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | self.newBrowser() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
499 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | self.currentChanged[int].emit(self.currentIndex()) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | def currentBrowser(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | Public method to get a reference to the current browser. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | @return reference to the current browser (HelpBrowser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | return self.currentWidget() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | def browserAt(self, index): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | Public method to get a reference to the browser with the given index. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | @param index index of the browser to get (integer) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | @return reference to the indexed browser (HelpBrowser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | return self.widget(index) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | def browsers(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
520 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
521 | Public method to get a list of references to all browsers. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
522 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | @return list of references to browsers (list of HelpBrowser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
524 | """ |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
525 | li = [] |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | for index in range(self.count()): |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
527 | li.append(self.widget(index)) |
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
528 | return li |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
530 | @pyqtSlot() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
531 | def printBrowser(self, browser=None): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | Public slot called to print the displayed page. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
534 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
535 | @param browser reference to the browser to be printed (HelpBrowser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | if browser is None: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
538 | browser = self.currentBrowser() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | self.__printRequested(browser.page().mainFrame()) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
541 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
542 | def __printRequested(self, frame): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
543 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
544 | Private slot to handle a print request. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
545 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
546 | @param frame reference to the frame to be printed (QWebFrame) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
548 | printer = QPrinter(mode=QPrinter.HighResolution) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | if Preferences.getPrinter("ColorMode"): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
550 | printer.setColorMode(QPrinter.Color) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | printer.setColorMode(QPrinter.GrayScale) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | if Preferences.getPrinter("FirstPageFirst"): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | printer.setPageOrder(QPrinter.FirstPageFirst) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
555 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
556 | printer.setPageOrder(QPrinter.LastPageFirst) |
1155
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
557 | printer.setPageMargins( |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
558 | Preferences.getPrinter("LeftMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
559 | Preferences.getPrinter("TopMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
560 | Preferences.getPrinter("RightMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
561 | Preferences.getPrinter("BottomMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
562 | QPrinter.Millimeter |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
563 | ) |
3048
83f86da6344e
Fixed an issue causing trouble if the printer name is empty.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3035
diff
changeset
|
564 | printerName = Preferences.getPrinter("PrinterName") |
83f86da6344e
Fixed an issue causing trouble if the printer name is empty.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3035
diff
changeset
|
565 | if printerName: |
3158
c91f976a2395
Fixed a severe issue assigning a name to a printer in several dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3077
diff
changeset
|
566 | printer.setPrinterName(printerName) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | printDialog = QPrintDialog(printer, self) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | if printDialog.exec_() == QDialog.Accepted: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | try: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | frame.print_(printer) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | except AttributeError: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
573 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
574 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
575 | 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
|
576 | self.tr( |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
577 | """<p>Printing is not available due to a bug in""" |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
578 | """ PyQt5. Please upgrade.</p>""")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
579 | return |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
580 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
581 | @pyqtSlot() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
582 | def printBrowserPdf(self, browser=None): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | Public slot called to print the displayed page to PDF. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | @param browser reference to the browser to be printed (HelpBrowser) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | if browser is None: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
589 | browser = self.currentBrowser() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | self.__printPdfRequested(browser.page().mainFrame()) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | def __printPdfRequested(self, frame): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
595 | Private slot to handle a print to PDF request. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
596 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
597 | @param frame reference to the frame to be printed (QWebFrame) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
598 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
599 | printer = QPrinter(mode=QPrinter.HighResolution) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | if Preferences.getPrinter("ColorMode"): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
601 | printer.setColorMode(QPrinter.Color) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
603 | printer.setColorMode(QPrinter.GrayScale) |
3048
83f86da6344e
Fixed an issue causing trouble if the printer name is empty.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3035
diff
changeset
|
604 | printerName = Preferences.getPrinter("PrinterName") |
83f86da6344e
Fixed an issue causing trouble if the printer name is empty.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3035
diff
changeset
|
605 | if printerName: |
3158
c91f976a2395
Fixed a severe issue assigning a name to a printer in several dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3077
diff
changeset
|
606 | printer.setPrinterName(printerName) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
607 | printer.setOutputFormat(QPrinter.PdfFormat) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
608 | name = frame.url().path().rsplit('/', 1)[-1] |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | if name: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | name = name.rsplit('.', 1)[0] |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | name += '.pdf' |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | printer.setOutputFileName(name) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
614 | printDialog = QPrintDialog(printer, self) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
615 | if printDialog.exec_() == QDialog.Accepted: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
616 | try: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
617 | frame.print_(printer) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
618 | except AttributeError: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
619 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
620 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
621 | 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
|
622 | self.tr( |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
623 | """<p>Printing is not available due to a bug in""" |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
624 | """ PyQt5. Please upgrade.</p>""")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
625 | return |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
627 | @pyqtSlot() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
628 | def printPreviewBrowser(self, browser=None): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
629 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | Public slot called to show a print preview of the displayed file. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
631 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
632 | @param browser reference to the browser to be printed (HelpBrowserWV) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
633 | """ |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
634 | from PyQt5.QtPrintSupport import QPrintPreviewDialog |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
635 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | if browser is None: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | browser = self.currentBrowser() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
638 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
639 | printer = QPrinter(mode=QPrinter.HighResolution) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
640 | if Preferences.getPrinter("ColorMode"): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
641 | printer.setColorMode(QPrinter.Color) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | printer.setColorMode(QPrinter.GrayScale) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | if Preferences.getPrinter("FirstPageFirst"): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | printer.setPageOrder(QPrinter.FirstPageFirst) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
646 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
647 | printer.setPageOrder(QPrinter.LastPageFirst) |
1155
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
648 | printer.setPageMargins( |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
649 | Preferences.getPrinter("LeftMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
650 | Preferences.getPrinter("TopMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
651 | Preferences.getPrinter("RightMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
652 | Preferences.getPrinter("BottomMargin") * 10, |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
653 | QPrinter.Millimeter |
4cbef040f07e
Fixed issues setting the printer margins correctly.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
978
diff
changeset
|
654 | ) |
3048
83f86da6344e
Fixed an issue causing trouble if the printer name is empty.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3035
diff
changeset
|
655 | printerName = Preferences.getPrinter("PrinterName") |
83f86da6344e
Fixed an issue causing trouble if the printer name is empty.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3035
diff
changeset
|
656 | if printerName: |
3158
c91f976a2395
Fixed a severe issue assigning a name to a printer in several dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3077
diff
changeset
|
657 | printer.setPrinterName(printerName) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
658 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | self.__printPreviewBrowser = browser |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
660 | preview = QPrintPreviewDialog(printer, self) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
661 | preview.paintRequested.connect(self.__printPreview) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | preview.exec_() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
663 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
664 | def __printPreview(self, printer): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
665 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | Private slot to generate a print preview. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
668 | @param printer reference to the printer object (QPrinter) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
669 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | try: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | self.__printPreviewBrowser.print_(printer) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
672 | except AttributeError: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
673 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
674 | self, |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
675 | 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
|
676 | self.tr( |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
677 | """<p>Printing is not available due to a bug in PyQt5.""" |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
678 | """Please upgrade.</p>""")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | return |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
680 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
681 | def __sourceChanged(self, url, browser): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | Private slot to handle a change of a browsers source. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
684 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
685 | @param url URL of the new site |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
686 | @type QUrl |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
687 | @param browser reference to the web browser |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
688 | @type HelpBrowser |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | """ |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
690 | self.sourceChanged.emit(browser, url) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
691 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
692 | def __titleChanged(self, title, browser): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
693 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | Private slot to handle a change of a browsers title. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
695 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
696 | @param title new title |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
697 | @type str |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
698 | @param browser reference to the web browser |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
699 | @type HelpBrowser |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | """ |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
701 | index = self.indexOf(browser) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
702 | if title == "": |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
703 | title = browser.url().toString() |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
705 | self.setTabText(index, self.__elide(title.replace("&", "&&"))) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
706 | self.setTabToolTip(index, title) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
707 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
708 | self.titleChanged.emit(browser, title) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
709 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
710 | def __elide(self, txt, mode=Qt.ElideRight, length=40): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
711 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | Private method to elide some text. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
714 | @param txt text to be elided (string) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
715 | @keyparam mode elide mode (Qt.TextElideMode) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | @keyparam length amount of characters to be used (integer) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
717 | @return the elided text (string) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
718 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
719 | if mode == Qt.ElideNone or len(txt) < length: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
720 | return txt |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
721 | elif mode == Qt.ElideLeft: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | return "...{0}".format(txt[-length:]) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | elif mode == Qt.ElideMiddle: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
724 | return "{0}...{1}".format(txt[:length // 2], txt[-(length // 2):]) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
725 | elif mode == Qt.ElideRight: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
726 | return "{0}...".format(txt[:length]) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
727 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
728 | # just in case |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
729 | return txt |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
730 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
731 | def preferencesChanged(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
732 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
733 | Public slot to handle a change of preferences. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
734 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
735 | for browser in self.browsers(): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
736 | browser.preferencesChanged() |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
737 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
738 | for urlbar in self.__stackedUrlBar.urlBars(): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
739 | urlbar.preferencesChanged() |
1645
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
740 | |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
741 | if Preferences.getUI("SingleCloseButton") or \ |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
742 | not hasattr(self, 'setTabsClosable'): |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
743 | if hasattr(self, 'setTabsClosable'): |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
744 | self.setTabsClosable(False) |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
745 | try: |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
746 | self.tabCloseRequested.disconnect(self.closeBrowserAt) |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
747 | except TypeError: |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
748 | pass |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
749 | self.__closeButton.show() |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
750 | else: |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
751 | self.setTabsClosable(True) |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
752 | self.tabCloseRequested.connect(self.closeBrowserAt) |
73904ca06d2d
A few fixes for the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1636
diff
changeset
|
753 | self.__closeButton.hide() |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
754 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
755 | def __loadStarted(self, browser): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
756 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | Private method to handle the loadStarted signal. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
758 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
759 | @param browser reference to the web browser |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
760 | @type HelpBrowser |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
761 | """ |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
762 | index = self.indexOf(browser) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
763 | anim = self.animationLabel( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
764 | index, os.path.join(getConfig("ericPixDir"), "loading.gif"), |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
765 | 100) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
766 | if not anim: |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
767 | loading = QIcon(os.path.join(getConfig("ericPixDir"), |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
768 | "loading.gif")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
769 | self.setTabIcon(index, loading) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
770 | else: |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
771 | self.setTabIcon(index, QIcon()) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
772 | self.setTabText(index, self.tr("Loading...")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
773 | self.setTabToolTip(index, self.tr("Loading...")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
774 | self.showMessage.emit(self.tr("Loading...")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
775 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
776 | self.__mainWindow.setLoadingActions(True) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | |
6173
cb1488b062a9
Helpviewer: Reverted some of the sender() related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6157
diff
changeset
|
778 | def __loadFinished(self, ok): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
779 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
780 | Private method to handle the loadFinished signal. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
781 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
782 | @param ok flag indicating the result |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
783 | @type bool |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
784 | """ |
6173
cb1488b062a9
Helpviewer: Reverted some of the sender() related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6157
diff
changeset
|
785 | browser = self.sender() |
cb1488b062a9
Helpviewer: Reverted some of the sender() related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6157
diff
changeset
|
786 | if browser is None or not isinstance(browser, HelpBrowser): |
cb1488b062a9
Helpviewer: Reverted some of the sender() related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6157
diff
changeset
|
787 | return |
cb1488b062a9
Helpviewer: Reverted some of the sender() related changes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6157
diff
changeset
|
788 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
789 | import Helpviewer.HelpWindow |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
790 | index = self.indexOf(browser) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
791 | self.resetAnimation(index) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
792 | self.setTabIcon( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
793 | index, Helpviewer.HelpWindow.HelpWindow.icon(browser.url())) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
794 | if ok: |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
795 | self.showMessage.emit(self.tr("Finished loading")) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
796 | else: |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
797 | self.showMessage.emit(self.tr("Failed to load")) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
798 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
799 | self.__mainWindow.setLoadingActions(False) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
800 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
801 | def __iconChanged(self, browser): |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
802 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
803 | Private slot to handle the icon change. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
804 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
805 | @param browser reference to the web browser |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
806 | @type HelpBrowser |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
807 | """ |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
808 | import Helpviewer.HelpWindow |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
809 | self.setTabIcon( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
810 | self.indexOf(browser), |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
811 | Helpviewer.HelpWindow.HelpWindow.icon(browser.url())) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
812 | Helpviewer.HelpWindow.HelpWindow.bookmarksManager()\ |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
813 | .iconChanged(browser.url()) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
814 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
815 | def getSourceFileList(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
816 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
817 | Public method to get a list of all opened source files. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
818 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
819 | @return dictionary with tab id as key and host/namespace as value |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
820 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
821 | sourceList = {} |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
822 | for i in range(self.count()): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
823 | browser = self.widget(i) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
824 | if browser is not None and \ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
825 | browser.source().isValid(): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
826 | sourceList[i] = browser.source().host() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
827 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
828 | return sourceList |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
829 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
830 | def shallShutDown(self): |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
831 | """ |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
832 | Public method to check, if the application should be shut down. |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
833 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
834 | @return flag indicating a shut down (boolean) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
835 | """ |
1636
6a25bb84e2a3
Added the capability to configure the web browser behavior, when multiple tabs are about to be closed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1539
diff
changeset
|
836 | if self.count() > 1 and Preferences.getHelp("WarnOnMultipleClose"): |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
837 | mb = E5MessageBox.E5MessageBox( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
838 | E5MessageBox.Information, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
839 | self.tr("Are you sure you want to close the window?"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
840 | self.tr("""Are you sure you want to close the window?\n""" |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
841 | """You have %n tab(s) open.""", "", self.count()), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
842 | modal=True, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
843 | parent=self) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | if self.__mainWindow.fromEric: |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
845 | quitButton = mb.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
846 | self.tr("&Close"), E5MessageBox.AcceptRole) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | quitButton.setIcon(UI.PixmapCache.getIcon("close.png")) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
848 | else: |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
849 | quitButton = mb.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
850 | self.tr("&Quit"), E5MessageBox.AcceptRole) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
851 | quitButton.setIcon(UI.PixmapCache.getIcon("exit.png")) |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2999
diff
changeset
|
852 | closeTabButton = mb.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
853 | self.tr("C&lose Current Tab"), E5MessageBox.AcceptRole) |
638
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
854 | closeTabButton.setIcon(UI.PixmapCache.getIcon("tabClose.png")) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | mb.addButton(E5MessageBox.Cancel) |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | mb.exec_() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | if mb.clickedButton() == quitButton: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
858 | return True |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
859 | else: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
860 | if mb.clickedButton() == closeTabButton: |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
861 | self.closeBrowser() |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
862 | return False |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | |
265c31231d9d
Did some refactoring of the web browser code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | return True |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
865 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
866 | def stackedUrlBar(self): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
867 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
868 | Public method to get a reference to the stacked url bar. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
869 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
870 | @return reference to the stacked url bar (StackedUrlBar) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
871 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
872 | return self.__stackedUrlBar |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
873 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
874 | def currentUrlBar(self): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
875 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
876 | Public method to get a reference to the current url bar. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
877 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
878 | @return reference to the current url bar (UrlBar) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
879 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
880 | return self.__stackedUrlBar.currentWidget() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
881 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
882 | def __lineEditReturnPressed(self, edit): |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
883 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
884 | Private slot to handle the entering of an URL. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
885 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
886 | @param edit reference to the line edit |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
887 | @type UrlBar |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
888 | """ |
953
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
889 | url = self.__guessUrlFromPath(edit.text()) |
1953
26aa6fd94dc2
Added support for GreaseMonkey scripts.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1781
diff
changeset
|
890 | request = QNetworkRequest(url) |
4326
e52318f11812
Change code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4321
diff
changeset
|
891 | request.setRawHeader(b"X-Eric6-UserLoadAction", b"1") |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
892 | if e5App().keyboardModifiers() == Qt.AltModifier: |
2999
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
893 | self.newBrowser( |
28c75409a78f
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2824
diff
changeset
|
894 | None, (request, QNetworkAccessManager.GetOperation, b"")) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
895 | else: |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
896 | self.currentBrowser().setSource( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
897 | None, (request, QNetworkAccessManager.GetOperation, b"")) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
898 | self.currentBrowser().setFocus() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
899 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
900 | def __pathSelected(self, path): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
901 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
902 | Private slot called when a URL is selected from the completer. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
903 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
904 | @param path path to be shown (string) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
905 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
906 | url = self.__guessUrlFromPath(path) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
907 | self.currentBrowser().setSource(url) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
908 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
909 | def __guessUrlFromPath(self, path): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
910 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
911 | Private method to guess an URL given a path string. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
912 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
913 | @param path path string to guess an URL for (string) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
914 | @return guessed URL (QUrl) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
915 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
916 | manager = self.__mainWindow.openSearchManager() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
917 | path = Utilities.fromNativeSeparators(path) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
918 | url = manager.convertKeywordSearchToUrl(path) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
919 | if url.isValid(): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
920 | return url |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
921 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
922 | try: |
953
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
923 | url = QUrl.fromUserInput(path) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
924 | except AttributeError: |
953
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
925 | url = QUrl(path) |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
926 | |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
927 | if url.scheme() == "about" and \ |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
928 | url.path() == "home": |
1665
b248526d3a1b
Reworked some stuff in the web browser to use Qt resources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1652
diff
changeset
|
929 | url = QUrl("eric:home") |
953
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
930 | |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
931 | if url.scheme() in ["s", "search"]: |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
932 | url = manager.currentEngine().searchUrl(url.path().strip()) |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
933 | |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
934 | if url.scheme() != "" and \ |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
935 | (url.host() != "" or url.path() != ""): |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
936 | return url |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
937 | |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
938 | urlString = Preferences.getHelp("DefaultScheme") + path.strip() |
4331
711e7c35a49b
Changed code to make eric compatible to PyQt 5.5 (QByteArry issue).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4326
diff
changeset
|
939 | url = QUrl.fromEncoded(urlString.encode("utf-8"), QUrl.TolerantMode) |
953
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
940 | |
7c42d54ba205
Added support for search schemes ("s:" or "search:") and "about:home" to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
941 | return url |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
942 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
943 | def __currentChanged(self, index): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
944 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
945 | Private slot to handle an index change. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
946 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
947 | @param index new index (integer) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
948 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
949 | self.__stackedUrlBar.setCurrentIndex(index) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
950 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
646
diff
changeset
|
951 | browser = self.browserAt(index) |
717
3ebae1fae98d
Fixed an issue in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
952 | if browser is not None: |
3ebae1fae98d
Fixed an issue in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
953 | if browser.url() == "" and browser.hasFocus(): |
3ebae1fae98d
Fixed an issue in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
954 | self.__stackedUrlBar.currentWidget.setFocus() |
3ebae1fae98d
Fixed an issue in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
955 | elif browser.url() != "": |
3ebae1fae98d
Fixed an issue in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
956 | browser.setFocus() |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
957 | |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
958 | def restoreClosedTab(self, act): |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
959 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
960 | Public slot to restore the most recently closed tab. |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
961 | |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
962 | @param act reference to the action that triggered |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
963 | @type QAction |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
964 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
965 | if not self.canRestoreClosedTab(): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
966 | return |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
967 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
968 | tab = self.__closedTabsManager.getClosedTabAt(act.data()) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
969 | |
1965
96f5a76e1845
Fixed some PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1953
diff
changeset
|
970 | self.newBrowser(tab.url.toString(), position=tab.position) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
971 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
972 | def canRestoreClosedTab(self): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
973 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
974 | Public method to check, if closed tabs can be restored. |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
975 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
976 | @return flag indicating that closed tabs can be restored (boolean) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
977 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
978 | return self.__closedTabsManager.isClosedTabAvailable() |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
979 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
980 | def restoreAllClosedTabs(self): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
981 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
982 | Public slot to restore all closed tabs. |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
983 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
984 | if not self.canRestoreClosedTab(): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
985 | return |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
986 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
987 | for tab in self.__closedTabsManager.allClosedTabs(): |
1965
96f5a76e1845
Fixed some PEP-8 related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1953
diff
changeset
|
988 | self.newBrowser(tab.url.toString(), position=tab.position) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
989 | self.__closedTabsManager.clearList() |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
990 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
991 | def clearClosedTabsList(self): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
992 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
993 | Public slot to clear the list of closed tabs. |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
994 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
995 | self.__closedTabsManager.clearList() |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
996 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
997 | def __aboutToShowClosedTabsMenu(self): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
998 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
999 | Private slot to populate the closed tabs menu. |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1000 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1001 | fm = self.__closedTabsMenu.fontMetrics() |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1002 | maxWidth = fm.width('m') * 40 |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1003 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1004 | self.__closedTabsMenu.clear() |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1005 | index = 0 |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1006 | for tab in self.__closedTabsManager.allClosedTabs(): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1007 | title = fm.elidedText(tab.title, Qt.ElideRight, maxWidth) |
6122
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1008 | act = self.__closedTabsMenu.addAction( |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1009 | self.__mainWindow.icon(tab.url), title) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1010 | act.setData(index) |
e7d98249f393
Completed coding in order to remove the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
1011 | act.triggered.connect(lambda: self.restoreClosedTab(act)) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1012 | index += 1 |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1013 | self.__closedTabsMenu.addSeparator() |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1014 | self.__closedTabsMenu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1015 | self.tr("Restore All Closed Tabs"), self.restoreAllClosedTabs) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
1016 | self.__closedTabsMenu.addAction( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1017 | self.tr("Clear List"), self.clearClosedTabsList) |
1694
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1018 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1019 | def closedTabsManager(self): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1020 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1021 | Public slot to get a reference to the closed tabs manager. |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1022 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1023 | @return reference to the closed tabs manager (ClosedTabsManager) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1024 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1025 | return self.__closedTabsManager |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1026 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1027 | def __closedTabAvailable(self, avail): |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1028 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1029 | Private slot to handle changes of the availability of closed tabs. |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1030 | |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1031 | @param avail flag indicating the availability of closed tabs (boolean) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1032 | """ |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1033 | self.__closedTabsButton.setEnabled(avail) |
648466a9451b
Added the capability to restore closed tabs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1673
diff
changeset
|
1034 | self.__restoreClosedTabAct.setEnabled(avail) |