Sat, 26 Apr 2025 12:34:32 +0200
MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
11090
f5f5f5803935
Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10683
diff
changeset
|
3 | # Copyright (c) 2012 - 2025 Detlev Offenbach <detlev@die-offenbachs.de> |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the AdBlock icon for the main window status bar. |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
10 | from PyQt6.QtCore import Qt |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
11 | from PyQt6.QtWidgets import QMenu |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
13 | from eric7.EricGui import EricPixmapCache |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
14 | from eric7.EricWidgets.EricClickableLabel import EricClickableLabel |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8345
diff
changeset
|
17 | class AdBlockIcon(EricClickableLabel): |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | """ |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | Class implementing the AdBlock icon for the main window status bar. |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | """ |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
21 | |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | def __init__(self, parent): |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Constructor |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
25 | |
6028
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
26 | @param parent reference to the parent widget |
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
27 | @type WebBrowserWindow |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
29 | super().__init__(parent) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
30 | |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | self.__mw = parent |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
32 | self.__menu = QMenu(self.tr("AdBlock")) |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | self.__enabled = False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
34 | |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | self.setMaximumHeight(16) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
36 | self.setCursor(Qt.CursorShape.PointingHandCursor) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
37 | self.setToolTip( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
38 | self.tr("AdBlock lets you block unwanted content on web pages.") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
39 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
40 | |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
41 | self.__menu.aboutToShow.connect(self.__aboutToShowMenu) |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | self.clicked.connect(self.__showMenu) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
43 | |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | def setEnabled(self, enabled): |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | Public slot to set the enabled state. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
47 | |
6028
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
48 | @param enabled enabled state |
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
49 | @type bool |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | """ |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
51 | self.__enabled = enabled |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | if enabled: |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
53 | self.currentChanged() |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | else: |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
55 | self.setPixmap(EricPixmapCache.getPixmap("adBlockPlusDisabled16")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
56 | |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
57 | def __aboutToShowMenu(self): |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | """ |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
59 | Private slot to show the context menu. |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | """ |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
61 | self.__menu.clear() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
62 | |
4858
19dff9c9cf26
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
63 | manager = self.__mw.adBlockManager() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
64 | |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | if manager.isEnabled(): |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
66 | act = self.__menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
67 | EricPixmapCache.getIcon("adBlockPlusDisabled"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
68 | self.tr("Disable AdBlock"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
69 | ) |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
70 | act.triggered.connect(lambda: self.__enableAdBlock(False)) |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | else: |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
72 | act = self.__menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
73 | EricPixmapCache.getIcon("adBlockPlus"), self.tr("Enable AdBlock") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
74 | ) |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
75 | act.triggered.connect(lambda: self.__enableAdBlock(True)) |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
76 | self.__menu.addSeparator() |
4858
19dff9c9cf26
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
77 | if manager.isEnabled() and self.__mw.currentBrowser().url().host(): |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
78 | if self.__isCurrentHostExcepted(): |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
79 | act = self.__menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
80 | EricPixmapCache.getIcon("adBlockPlus"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
81 | self.tr("Remove AdBlock Exception"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
82 | ) |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
83 | act.triggered.connect(lambda: self.__setException(False)) |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
84 | else: |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
85 | act = self.__menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
86 | EricPixmapCache.getIcon("adBlockPlusGreen"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
87 | self.tr("Add AdBlock Exception"), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
88 | ) |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
89 | act.triggered.connect(lambda: self.__setException(True)) |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
90 | self.__menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
91 | EricPixmapCache.getIcon("adBlockPlusGreen"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
92 | self.tr("AdBlock Exceptions..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
93 | manager.showExceptionsDialog, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
94 | ) |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
95 | self.__menu.addSeparator() |
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
96 | self.__menu.addAction( |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
97 | EricPixmapCache.getIcon("adBlockPlus"), |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
98 | self.tr("AdBlock Configuration..."), |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
99 | manager.showDialog, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
100 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
101 | |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
102 | def menu(self): |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | """ |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
104 | Public method to get a reference to the menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
105 | |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
106 | @return reference to the menu |
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
107 | @rtype QMenu |
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
108 | """ |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | if self.__enabled: |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
110 | self.__menu.setIcon(EricPixmapCache.getIcon("adBlockPlus")) |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | else: |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
112 | self.__menu.setIcon(EricPixmapCache.getIcon("adBlockPlusDisabled")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
113 | |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
114 | return self.__menu |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
115 | |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | def __showMenu(self, pos): |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | """ |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | Private slot to show the context menu. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
119 | |
6028
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
120 | @param pos position the context menu should be shown |
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
121 | @type QPoint |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | """ |
8345
b2e19966263a
Corrected AdBlockIcon to not use a QAction.menu().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
123 | self.__menu.exec(pos) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
124 | |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
125 | def __enableAdBlock(self, enable): |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | """ |
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | Private slot to enable or disable AdBlock. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
128 | |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
129 | @param enable flag indicating the desired enable state |
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
130 | @type bool |
1963
9c5b3235abf9
Added an icon to the status bar to give direct access to AdBlock.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | """ |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
132 | self.__mw.adBlockManager().setEnabled(enable) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
133 | |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
134 | def __isCurrentHostExcepted(self): |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
135 | """ |
3000
971d84f7a6d6
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2403
diff
changeset
|
136 | Private method to check, if the host of the current browser is |
971d84f7a6d6
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2403
diff
changeset
|
137 | excepted. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
138 | |
6028
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
139 | @return flag indicating an exception |
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
140 | @rtype bool |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
141 | """ |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
142 | browser = self.__mw.currentBrowser() |
4858
19dff9c9cf26
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
143 | if browser is None: |
19dff9c9cf26
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
144 | return False |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
145 | |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
146 | urlHost = browser.page().url().host() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
147 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
148 | return urlHost and self.__mw.adBlockManager().isHostExcepted(urlHost) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
149 | |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
150 | def currentChanged(self): |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
151 | """ |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
152 | Public slot to handle a change of the current browser tab. |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
153 | """ |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
154 | if self.__enabled: |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
155 | if self.__isCurrentHostExcepted(): |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
156 | self.setPixmap(EricPixmapCache.getPixmap("adBlockPlusGreen16")) |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
157 | else: |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
158 | self.setPixmap(EricPixmapCache.getPixmap("adBlockPlus16")) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
159 | |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
160 | def __setException(self, enable): |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
161 | """ |
3000
971d84f7a6d6
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2403
diff
changeset
|
162 | Private slot to add or remove the current host from the list of |
971d84f7a6d6
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2403
diff
changeset
|
163 | exceptions. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
164 | |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
165 | @param enable flag indicating to set or remove an exception |
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
166 | @type bool |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
167 | """ |
6120
4c60a21ce6dd
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
168 | urlHost = self.__mw.currentBrowser().url().host() |
7772
1958fe8d3f2c
AdBlockIcon: fixed issues setting the state and icon via the menu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7759
diff
changeset
|
169 | if enable: |
6120
4c60a21ce6dd
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
170 | self.__mw.adBlockManager().addException(urlHost) |
4c60a21ce6dd
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
171 | else: |
4c60a21ce6dd
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
172 | self.__mw.adBlockManager().removeException(urlHost) |
4c60a21ce6dd
Continued removing the use of QObject.sender().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
173 | self.currentChanged() |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
174 | |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
175 | def sourceChanged(self, browser, _url): |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
176 | """ |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
177 | Public slot to handle URL changes. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
178 | |
6028
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
179 | @param browser reference to the browser |
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
180 | @type WebBrowserView |
10683
779cda568acb
Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
10439
diff
changeset
|
181 | @param _url new URL (unused) |
6028
859f6894eed9
Reworked the AdBlock stuff of web browser NG.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
182 | @type QUrl |
1972
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
183 | """ |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
184 | if browser == self.__mw.currentBrowser(): |
5341662d6cfb
Added support for AdBlock exceptions to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1970
diff
changeset
|
185 | self.currentChanged() |