Open Bug 243241 Opened 17 years ago Updated 4 years ago
msg filter run filter now doesn't give any progress/status
The filter dialog doesn't have a progress meter, so we don't get any status on that command...
I would like to have this progress/status monitor. Just showing how many messages have been processed at the bottom of the dialog window would be nice.
I second this opinion. A progress meter in the status bar would be very useful.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 194949
This does not seem to be a dupe. I just noticed that the filter list dialog has a status bar (and even a progress meter), but it isn't used in any way. I propose to add a status message in these events: 1. the list is being rebuilt and the number of filters shown differs wildly from the current number (e.g. when filtering or loading a new account) as after bug 780473 only this operation is slow (can take several seconds with 10000 filters). 2. pressing the 'Run now' button. For 1. I would be able to show a progress percentage, but not for 2. Would it be enough? Are there any other potentially slow operations (after bug 780473 was done)? The patch would be for TB only so CCing Seamonkey guys if they are interested too. Taking from bienvenu, I think he won't mind here :)
SeaMonkey's "progress" meter "works" when you click Run Now (as you note, the progress is always undetermined), however Scott broke it in his "polish" 8 years ago and it's never worked since. (There is no bug for that change...)
For some reason just calling gFilterListMsgWindow.statusFeedback.showStatusString() does not seem to work. Maybe all the redraws are done only after the calling function finishes? Does this need some asynchronous/callback calling?
Looks like it's trying to set the value instead of the label. (I didn't look to see whether it was ever correct to set the value.)
Thanks, that is one bug. But the batching of updates to finish of the caller function is still there.
If when I manage to set the progressbar to mode=indeterminate so that it shows up and then call setTimer('the function that does all the real work and stops the progressbar',0), the progressbar appears but is frozen. I can't figure out how to do the asynchronous painting in this dialog. As I said, all redrawing of the UI is done only after all the code runs (e.g. the whole function called from <button oncommand="">).
(In reply to aceman from comment #9) > the progressbar appears but is frozen progressmeters only work with asynchronous operations (you didn't specify which operation this is so I can't comment on whether it's suitable).
They are in comment 4. For point 1. it is the rebuildFilterList function, for point 2 it is the 'filterService.applyFiltersToFolders(filterList, folders, gFilterListMsgWindow);' in runSelectedFilters().
(In reply to aceman from comment #11) > They are in comment 4. Sorry, I had forgotten to check. > For point 1. it is the rebuildFilterList function This is 100% synchronous, so you can't show progress here. > for point 2 it is the 'filterService.applyFiltersToFolders(filterList, > folders, gFilterListMsgWindow);' in runSelectedFilters(). This is potentially asynchronous. In particular, it uses a search session, which I believe is asynchronous, and any move or copy operations will also be asynchronous, particularly on IMAP accounts.
Now only to find out how to hook it to the statusFeedback...
Removing myslef on all the bugs I'm cced on. Please NI me if you need something on MailNews Core bugs from me.
You need to log in before you can comment on or make changes to this bug.