Index: options.js |
=================================================================== |
--- a/options.js |
+++ b/options.js |
@@ -352,26 +352,33 @@ function onFilterChange(action, item, pa |
case "subscription.homepage": |
case "subscription.lastDownload": |
case "subscription.downloadStatus": |
var element = findSubscriptionElement(item); |
if (element) |
updateSubscriptionInfo(element); |
break; |
case "subscription.added": |
- if (!(item instanceof SpecialSubscription) && !findSubscriptionElement(item)) |
+ if (item instanceof SpecialSubscription) |
{ |
- if (item.url == Prefs.subscriptions_exceptionsurl) |
- $("#acceptableAds").prop("checked", true); |
- else |
- addSubscriptionEntry(item); |
+ for (var i = 0; i < item.filters.length; i++) |
+ onFilterChange("filter.added", item.filters[i]); |
} |
+ else if (item.url == Prefs.subscriptions_exceptionsurl) |
+ $("#acceptableAds").prop("checked", true); |
+ else if (!findSubscriptionElement(item)) |
+ addSubscriptionEntry(item); |
break; |
case "subscription.removed": |
- if (item.url == Prefs.subscriptions_exceptionsurl) |
+ if (item instanceof SpecialSubscription) |
+ { |
+ for (var i = 0; i < item.filters.length; i++) |
+ onFilterChange("filter.removed", item.filters[i]); |
+ } |
+ else if (item.url == Prefs.subscriptions_exceptionsurl) |
$("#acceptableAds").prop("checked", false); |
else |
{ |
var element = findSubscriptionElement(item); |
if (element) |
element.parentNode.removeChild(element); |
} |
break; |