diff --git a/mozilla/mailnews/base/search/resources/content/FilterListDialog.js b/mozilla/mailnews/base/search/resources/content/FilterListDialog.js index c441d60654b..09b58c8ee23 100644 --- a/mozilla/mailnews/base/search/resources/content/FilterListDialog.js +++ b/mozilla/mailnews/base/search/resources/content/FilterListDialog.js @@ -340,19 +340,29 @@ function onNewFilter(emailAddress) function onDeleteFilter() { - var filter = currentFilter(); - if (!filter) return; - var filterList = currentFilterList(); - if (!filterList) return; + var filterList = currentFilterList(); + if (!filterList) + return; - if (gPromptService) { - if (!gPromptService.confirm(window, null, - gFilterBundle.getString("deleteFilterConfirmation"))) - return; + var sel = gFilterTree.view.selection; + var selCount = sel.getRangeCount(); + if (!selCount || + gPromptService.confirmEx(window, null, + gFilterBundle.getString("deleteFilterConfirmation"), + gPromptService.STD_YES_NO_BUTTONS, + '', '', '', '', {})) + return; + + for (var i = selCount - 1; i >= 0; --i) { + var start = {}, end = {}; + sel.getRangeAt(i, start, end); + for (var j = end.value; j >= start.value; --j) { + var curFilter = getFilter(j); + if (curFilter) + filterList.removeFilter(curFilter); } - - filterList.removeFilter(filter); - refresh(); + } + refresh(); } function onUp(event) @@ -497,8 +507,8 @@ function updateButtons() // "edit" only enabled when one filter selected or if we couldn't parse the filter gEditButton.disabled = !oneFilterSelected || filter.unparseable; - // "delete" only enabled when one filter selected - gDeleteButton.disabled = !oneFilterSelected; + // "delete" only disabled when no filters are selected + gDeleteButton.disabled = !numFiltersSelected; // we can run multiple filters on a folder // so only disable this UI if no filters are selected diff --git a/mozilla/mailnews/base/search/resources/locale/en-US/filter.properties b/mozilla/mailnews/base/search/resources/locale/en-US/filter.properties index efdf7fba406..4256d719862 100644 --- a/mozilla/mailnews/base/search/resources/locale/en-US/filter.properties +++ b/mozilla/mailnews/base/search/resources/locale/en-US/filter.properties @@ -5,7 +5,7 @@ mustEnterName=You must give this filter a name. mustSelectAction=You must select at least one filter action. cannotHaveDuplicateFilterTitle=Duplicate Filter Name cannotHaveDuplicateFilterMessage=The filter name you entered already exists. Please enter a different filter name. -deleteFilterConfirmation=Are you sure you want to delete this filter? +deleteFilterConfirmation=Are you sure you want to delete the selected filter(s)? untitledFilterName=Untitled Filter filterListBackUpMsg=Your filters do not work because the msgFilterRules.dat file, which contains your filters, could not be read. A new msgFilterRules.dat file will be created and a backup of the old file, called rulesbackup.dat, will be created in the same directory. customHeaderOverflow=You've exceeded the limit of 50 custom headers. Please remove one or more custom headers and try again.