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:
parent
431208ec4f
commit
19c37cd4d0
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user