119 |
119 |
120 def __aboutToShowActionMenu(self): |
120 def __aboutToShowActionMenu(self): |
121 """ |
121 """ |
122 Private slot to show the actions menu. |
122 Private slot to show the actions menu. |
123 """ |
123 """ |
124 subscriptionEditable = self.__currentSubscription and \ |
124 subscriptionEditable = ( |
|
125 self.__currentSubscription and |
125 self.__currentSubscription.canEditRules() |
126 self.__currentSubscription.canEditRules() |
126 subscriptionRemovable = self.__currentSubscription and \ |
127 ) |
|
128 subscriptionRemovable = ( |
|
129 self.__currentSubscription and |
127 self.__currentSubscription.canBeRemoved() |
130 self.__currentSubscription.canBeRemoved() |
128 subscriptionEnabled = self.__currentSubscription and \ |
131 ) |
|
132 subscriptionEnabled = ( |
|
133 self.__currentSubscription and |
129 self.__currentSubscription.isEnabled() |
134 self.__currentSubscription.isEnabled() |
|
135 ) |
130 |
136 |
131 menu = self.actionButton.menu() |
137 menu = self.actionButton.menu() |
132 menu.clear() |
138 menu.clear() |
133 |
139 |
134 menu.addAction(self.tr("Add Rule"), self.__addCustomRule)\ |
140 menu.addAction( |
135 .setEnabled(subscriptionEditable) |
141 self.tr("Add Rule"), self.__addCustomRule |
136 menu.addAction(self.tr("Remove Rule"), self.__removeCustomRule)\ |
142 ).setEnabled(subscriptionEditable) |
137 .setEnabled(subscriptionEditable) |
143 menu.addAction( |
|
144 self.tr("Remove Rule"), self.__removeCustomRule |
|
145 ).setEnabled(subscriptionEditable) |
138 menu.addSeparator() |
146 menu.addSeparator() |
139 menu.addAction( |
147 menu.addAction( |
140 self.tr("Browse Subscriptions..."), self.__browseSubscriptions) |
148 self.tr("Browse Subscriptions..."), self.__browseSubscriptions) |
141 menu.addAction( |
149 menu.addAction( |
142 self.tr("Remove Subscription"), self.__removeSubscription)\ |
150 self.tr("Remove Subscription"), self.__removeSubscription |
143 .setEnabled(subscriptionRemovable) |
151 ).setEnabled(subscriptionRemovable) |
144 if self.__currentSubscription: |
152 if self.__currentSubscription: |
145 menu.addSeparator() |
153 menu.addSeparator() |
146 if subscriptionEnabled: |
154 if subscriptionEnabled: |
147 txt = self.tr("Disable Subscription") |
155 txt = self.tr("Disable Subscription") |
148 else: |
156 else: |
149 txt = self.tr("Enable Subscription") |
157 txt = self.tr("Enable Subscription") |
150 menu.addAction(txt, self.__switchSubscriptionEnabled) |
158 menu.addAction(txt, self.__switchSubscriptionEnabled) |
151 menu.addSeparator() |
159 menu.addSeparator() |
152 menu.addAction( |
160 menu.addAction( |
153 self.tr("Update Subscription"), self.__updateSubscription)\ |
161 self.tr("Update Subscription"), self.__updateSubscription |
154 .setEnabled(not subscriptionEditable) |
162 ).setEnabled(not subscriptionEditable) |
155 menu.addAction( |
163 menu.addAction( |
156 self.tr("Update All Subscriptions"), |
164 self.tr("Update All Subscriptions"), |
157 self.__updateAllSubscriptions) |
165 self.__updateAllSubscriptions) |
158 menu.addSeparator() |
166 menu.addSeparator() |
159 menu.addAction(self.tr("Learn more about writing rules..."), |
167 menu.addAction(self.tr("Learn more about writing rules..."), |
215 def __removeSubscription(self): |
223 def __removeSubscription(self): |
216 """ |
224 """ |
217 Private slot to remove the selected subscription. |
225 Private slot to remove the selected subscription. |
218 """ |
226 """ |
219 requiresTitles = [] |
227 requiresTitles = [] |
220 requiresSubscriptions = \ |
228 requiresSubscriptions = ( |
221 self.__manager.getRequiresSubscriptions(self.__currentSubscription) |
229 self.__manager.getRequiresSubscriptions(self.__currentSubscription) |
|
230 ) |
222 for subscription in requiresSubscriptions: |
231 for subscription in requiresSubscriptions: |
223 requiresTitles.append(subscription.title()) |
232 requiresTitles.append(subscription.title()) |
224 if requiresTitles: |
233 if requiresTitles: |
225 message = self.tr( |
234 message = self.tr( |
226 "<p>Do you really want to remove subscription" |
235 "<p>Do you really want to remove subscription" |
270 sub = self.__manager.subscription(subscription.requiresLocation()) |
279 sub = self.__manager.subscription(subscription.requiresLocation()) |
271 requiresSubscriptions = [] if sub is None else [sub] |
280 requiresSubscriptions = [] if sub is None else [sub] |
272 icon = UI.PixmapCache.getIcon("adBlockPlus.png") |
281 icon = UI.PixmapCache.getIcon("adBlockPlus.png") |
273 else: |
282 else: |
274 # disable dependent ones as well |
283 # disable dependent ones as well |
275 requiresSubscriptions = \ |
284 requiresSubscriptions = ( |
276 self.__manager.getRequiresSubscriptions(subscription) |
285 self.__manager.getRequiresSubscriptions(subscription) |
|
286 ) |
277 icon = UI.PixmapCache.getIcon("adBlockPlusDisabled.png") |
287 icon = UI.PixmapCache.getIcon("adBlockPlusDisabled.png") |
278 requiresSubscriptions.append(subscription) |
288 requiresSubscriptions.append(subscription) |
279 for sub in requiresSubscriptions: |
289 for sub in requiresSubscriptions: |
280 sub.setEnabled(enable) |
290 sub.setEnabled(enable) |
281 |
291 |
308 |
318 |
309 @param index index of the new current tab |
319 @param index index of the new current tab |
310 @type int |
320 @type int |
311 """ |
321 """ |
312 if index != -1: |
322 if index != -1: |
313 self.__currentTreeWidget = \ |
323 self.__currentTreeWidget = ( |
314 self.subscriptionsTabWidget.widget(index) |
324 self.subscriptionsTabWidget.widget(index) |
315 self.__currentSubscription = \ |
325 ) |
|
326 self.__currentSubscription = ( |
316 self.__currentTreeWidget.subscription() |
327 self.__currentTreeWidget.subscription() |
|
328 ) |
317 |
329 |
318 isEasyList = \ |
330 isEasyList = ( |
319 self.__currentSubscription.url().toString().startswith( |
331 self.__currentSubscription.url().toString().startswith( |
320 self.__manager.getDefaultSubscriptionUrl()) |
332 self.__manager.getDefaultSubscriptionUrl()) |
|
333 ) |
321 self.useLimitedEasyListCheckBox.setVisible(isEasyList) |
334 self.useLimitedEasyListCheckBox.setVisible(isEasyList) |
322 |
335 |
323 @pyqtSlot(str) |
336 @pyqtSlot(str) |
324 def on_searchEdit_textChanged(self, filterRule): |
337 def on_searchEdit_textChanged(self, filterRule): |
325 """ |
338 """ |