Bug 145290: allow deletion of more than one filter at once; r=IanN, sr=neil

git-svn-id: svn://10.0.0.236/trunk@221333 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mnyromyr%tprac.de 2007-03-05 20:04:01 +00:00
parent 431208ec4f
commit 19c37cd4d0
2 changed files with 24 additions and 14 deletions

View File

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

View File

@ -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.