Helpviewer/AdBlock/AdBlockIcon.py

branch
Py2 comp.
changeset 3057
10516539f238
parent 2525
8b507a9a2d40
parent 3000
971d84f7a6d6
child 3058
0a02c433f52d
equal deleted inserted replaced
3056:9986ec0e559a 3057:10516539f238
33 self.__menuAction = None 33 self.__menuAction = None
34 self.__enabled = False 34 self.__enabled = False
35 35
36 self.setMaximumHeight(16) 36 self.setMaximumHeight(16)
37 self.setCursor(Qt.PointingHandCursor) 37 self.setCursor(Qt.PointingHandCursor)
38 self.setToolTip( 38 self.setToolTip(self.trUtf8(
39 self.trUtf8("AdBlock lets you block unwanted content on web pages.")) 39 "AdBlock lets you block unwanted content on web pages."))
40 40
41 self.clicked.connect(self.__showMenu) 41 self.clicked.connect(self.__showMenu)
42 42
43 def setEnabled(self, enabled): 43 def setEnabled(self, enabled):
44 """ 44 """
48 """ 48 """
49 self.__enabled = enabled 49 self.__enabled = enabled
50 if enabled: 50 if enabled:
51 self.currentChanged() 51 self.currentChanged()
52 else: 52 else:
53 self.setPixmap(UI.PixmapCache.getPixmap("adBlockPlusDisabled16.png")) 53 self.setPixmap(
54 UI.PixmapCache.getPixmap("adBlockPlusDisabled16.png"))
54 55
55 def __createMenu(self, menu=None): 56 def __createMenu(self, menu=None):
56 """ 57 """
57 Private slot to create the context menu. 58 Private slot to create the context menu.
58 59
67 68
68 import Helpviewer.HelpWindow 69 import Helpviewer.HelpWindow
69 manager = Helpviewer.HelpWindow.HelpWindow.adBlockManager() 70 manager = Helpviewer.HelpWindow.HelpWindow.adBlockManager()
70 71
71 if manager.isEnabled(): 72 if manager.isEnabled():
72 menu.addAction(UI.PixmapCache.getIcon("adBlockPlusDisabled.png"), 73 menu.addAction(
73 self.trUtf8("Disable AdBlock"), self.__enableAdBlock).setData(False) 74 UI.PixmapCache.getIcon("adBlockPlusDisabled.png"),
74 else: 75 self.trUtf8("Disable AdBlock"),
75 menu.addAction(UI.PixmapCache.getIcon("adBlockPlus.png"), 76 self.__enableAdBlock).setData(False)
76 self.trUtf8("Enable AdBlock"), self.__enableAdBlock).setData(True) 77 else:
78 menu.addAction(
79 UI.PixmapCache.getIcon("adBlockPlus.png"),
80 self.trUtf8("Enable AdBlock"),
81 self.__enableAdBlock).setData(True)
77 menu.addSeparator() 82 menu.addSeparator()
78 if manager.isEnabled() and \ 83 if manager.isEnabled() and \
79 self.__mw.currentBrowser().page().url().host(): 84 self.__mw.currentBrowser().page().url().host():
80 if self.__isCurrentHostExcepted(): 85 if self.__isCurrentHostExcepted():
81 menu.addAction(UI.PixmapCache.getIcon("adBlockPlus.png"), 86 menu.addAction(UI.PixmapCache.getIcon("adBlockPlus.png"),
92 self.trUtf8("AdBlock Configuration..."), manager.showDialog) 97 self.trUtf8("AdBlock Configuration..."), manager.showDialog)
93 menu.addSeparator() 98 menu.addSeparator()
94 99
95 entries = self.__mw.currentBrowser().page().getAdBlockedPageEntries() 100 entries = self.__mw.currentBrowser().page().getAdBlockedPageEntries()
96 if entries: 101 if entries:
97 menu.addAction( 102 menu.addAction(self.trUtf8(
98 self.trUtf8("Blocked URL (AdBlock Rule) - click to edit rule"))\ 103 "Blocked URL (AdBlock Rule) - click to edit rule"))\
99 .setEnabled(False) 104 .setEnabled(False)
100 for entry in entries: 105 for entry in entries:
101 address = entry.urlString()[-55:] 106 address = entry.urlString()[-55:]
102 actionText = self.trUtf8("{0} with ({1})").format( 107 actionText = self.trUtf8("{0} with ({1})").format(
103 address, entry.rule.filter()).replace("&", "&&") 108 address, entry.rule.filter()).replace("&", "&&")
116 self.__menuAction = QAction(self.trUtf8("AdBlock")) 121 self.__menuAction = QAction(self.trUtf8("AdBlock"))
117 self.__menuAction.setMenu(QMenu()) 122 self.__menuAction.setMenu(QMenu())
118 self.__menuAction.menu().aboutToShow.connect(self.__createMenu) 123 self.__menuAction.menu().aboutToShow.connect(self.__createMenu)
119 124
120 if self.__enabled: 125 if self.__enabled:
121 self.__menuAction.setIcon(UI.PixmapCache.getIcon("adBlockPlus.png")) 126 self.__menuAction.setIcon(
122 else: 127 UI.PixmapCache.getIcon("adBlockPlus.png"))
123 self.__menuAction.setIcon(UI.PixmapCache.getIcon("adBlockPlusDisabled.png")) 128 else:
129 self.__menuAction.setIcon(
130 UI.PixmapCache.getIcon("adBlockPlusDisabled.png"))
124 131
125 return self.__menuAction 132 return self.__menuAction
126 133
127 def __showMenu(self, pos): 134 def __showMenu(self, pos):
128 """ 135 """
139 Private slot to enable or disable AdBlock. 146 Private slot to enable or disable AdBlock.
140 """ 147 """
141 act = self.sender() 148 act = self.sender()
142 if act is not None: 149 if act is not None:
143 import Helpviewer.HelpWindow 150 import Helpviewer.HelpWindow
144 Helpviewer.HelpWindow.HelpWindow.adBlockManager().setEnabled(act.data()) 151 Helpviewer.HelpWindow.HelpWindow.adBlockManager().setEnabled(
152 act.data())
145 153
146 def __isCurrentHostExcepted(self): 154 def __isCurrentHostExcepted(self):
147 """ 155 """
148 Private method to check, if the host of the current browser is excepted. 156 Private method to check, if the host of the current browser is
157 excepted.
149 158
150 @return flag indicating an exception (boolean) 159 @return flag indicating an exception (boolean)
151 """ 160 """
152 browser = self.__mw.currentBrowser() 161 browser = self.__mw.currentBrowser()
153 urlHost = browser.page().url().host() 162 urlHost = browser.page().url().host()
154 163
155 import Helpviewer.HelpWindow 164 import Helpviewer.HelpWindow
156 return urlHost and \ 165 return urlHost and \
157 Helpviewer.HelpWindow.HelpWindow.adBlockManager().isHostExcepted(urlHost) 166 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
167 .isHostExcepted(urlHost)
158 168
159 def currentChanged(self): 169 def currentChanged(self):
160 """ 170 """
161 Public slot to handle a change of the current browser tab. 171 Public slot to handle a change of the current browser tab.
162 """ 172 """
163 if self.__enabled: 173 if self.__enabled:
164 if self.__isCurrentHostExcepted(): 174 if self.__isCurrentHostExcepted():
165 self.setPixmap(UI.PixmapCache.getPixmap("adBlockPlusGreen16.png")) 175 self.setPixmap(
176 UI.PixmapCache.getPixmap("adBlockPlusGreen16.png"))
166 else: 177 else:
167 self.setPixmap(UI.PixmapCache.getPixmap("adBlockPlus16.png")) 178 self.setPixmap(UI.PixmapCache.getPixmap("adBlockPlus16.png"))
168 179
169 def __setException(self): 180 def __setException(self):
170 """ 181 """
171 Private slot to add or remove the current host from the list of exceptions. 182 Private slot to add or remove the current host from the list of
183 exceptions.
172 """ 184 """
173 act = self.sender() 185 act = self.sender()
174 if act is not None: 186 if act is not None:
175 import Helpviewer.HelpWindow 187 import Helpviewer.HelpWindow
176 urlHost = self.__mw.currentBrowser().page().url().host() 188 urlHost = self.__mw.currentBrowser().page().url().host()
177 if act.data(): 189 if act.data():
178 Helpviewer.HelpWindow.HelpWindow.adBlockManager().addException(urlHost) 190 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
191 .addException(urlHost)
179 else: 192 else:
180 Helpviewer.HelpWindow.HelpWindow.adBlockManager().removeException(urlHost) 193 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
194 .removeException(urlHost)
181 self.currentChanged() 195 self.currentChanged()
182 196
183 def sourceChanged(self, browser, url): 197 def sourceChanged(self, browser, url):
184 """ 198 """
185 Public slot to handle URL changes. 199 Public slot to handle URL changes.

eric ide

mercurial