Closed Bug 112833 Opened 23 years ago Closed 20 years ago

RFE: Not possible to watch/ignore multiple threads

Categories

(SeaMonkey :: MailNews: Message Display, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Future

People

(Reporter: jonasj, Assigned: neil)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

It is only possible to watch or ignore one thread at a time. If multiple threads
are selected, Ignore Thread and Watch Thread is disabled.
QA Contact: esther → laurel
background info: 4.x didn't allow multiple selection ignore or watch
Severity: normal → enhancement
Summary: Not possible to watch/ignore multiple threads → RFE: Not possible to watch/ignore multiple threads
Status: NEW → ASSIGNED
Target Milestone: --- → Future
This would be a good enhancement, though - I read several newsgroups and
ultimately am interested in my own messages, it would be handy to tag all
messages from me in threads with unread and mark them "watched" so I can then go
through just the watched threads and then go back through the unwatched threads
later.

Similarly with ignores, there are some people who post in threads that in this
particular circumstance (tech support newsgroups) I don't need to read their
responses because customer's been taken care of...
I entirely agree with the sensibility of automatically watching one's own
threads, and also with bug 73562.

My general process is to:
1. catch up on watched threads
2. pick some threads to read in Threads with Unread
3. ignore remaining threads with unread, so I don't get the same threads I
wasn't interested in next time

But see also the enhancement idea I've just submitted, bug 191283.
Blocks: 214286
David, this scheme would be the easiest, if that's ok with you:
1. Toggle the state of the first thread in the selection
2. Carry over the state to any remaining threads in the selection
Also collapse any newly ignored thread.
yes, that's what 4.x did, iirc.
Attached patch Proposed patch (obsolete) — Splinter Review
Blocks: 236849
Comment on attachment 136513 [details] [diff] [review]
Proposed patch

Whoops, looks like I forgot to request review for this five months ago...
Attachment #136513 - Flags: review?(bienvenu)
Attachment #136513 - Flags: review?(bienvenu) → review+
Comment on attachment 136513 [details] [diff] [review]
Proposed patch

Hmmm... I suppose the fe port to tb will be straightforward...
Attachment #136513 - Flags: superreview?(mscott)
There were a couple of issues with the previous patch:
1. Watch/Ignoring multiple threads didn't always update the view
2. Ignoring multiple threads sometimes ignored the wrong threads
Assignee: sspitzer → neil.parkwaycc.co.uk
Attachment #136513 - Attachment is obsolete: true
Attachment #147546 - Flags: review?(bienvenu)
Comment on attachment 147546 [details] [diff] [review]
Fixed ignore issues

are you removing the behaviour of collapsing an ignored thread?
Attachment #136513 - Flags: superreview?(mscott)
Comment on attachment 147546 [details] [diff] [review]
Fixed ignore issues

>                 if (resultKilled) 
>                 {
>-                    if (threadIndex != nsMsgViewIndex_None)
>-                        CollapseByIndex(threadIndex, nsnull);
>                     return NavigateFromPos(nsMsgNavigationType::nextUnreadThread, threadIndex, pResultKey, pResultIndex, pThreadIndex, PR_TRUE);
The old code only collapsed one thread. Well, it only worked on one thread ;-)

> nsresult nsMsgDBView::SetThreadIgnored(nsIMsgThread *thread, nsMsgViewIndex threadIndex, PRBool ignored)
> {
>-  nsresult rv;
>-  
>   if (!IsValidIndex(threadIndex))
>     return NS_MSG_INVALID_DBVIEW_INDEX;
>-  rv = m_db->MarkThreadIgnored(thread, m_keys[threadIndex], ignored, this);
>-  if (ignored)
>-    OrExtraFlag(threadIndex, MSG_FLAG_IGNORED);
>-  else
>-    AndExtraFlag(threadIndex, ~MSG_FLAG_IGNORED);
> 
>   NoteChange(threadIndex, 1, nsMsgViewNotificationCode::changed);
>   if (ignored)
>@@ -5402,24 +5368,18 @@ nsresult nsMsgDBView::SetThreadIgnored(n
>     nsMsgKeyArray	idsMarkedRead;
>     
>     MarkThreadRead(thread, threadIndex, idsMarkedRead, PR_TRUE);
>+    CollapseByIndex(threadIndex, nsnull);
So I collapse every thread here. Sorry that the context wasn't enough to show
it properly.
Attachment #147546 - Flags: review?(bienvenu) → review+
Attachment #147546 - Flags: superreview?(mscott)
Attachment #147546 - Flags: superreview?(mscott) → superreview+
Fix checked in, with an additional nsMsgViewIndex *resultIndex bustage fix.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
No longer blocks: 236849
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: