| 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; |