[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    Re: Problems with automagic selection of closed threads
From:       Ingo =?iso-8859-1?q?Kl=F6cker?= <kloecker () kde ! org>
Date:       2003-04-25 22:30:29
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On Friday 25 April 2003 22:33, Till Adam wrote:
> On Friday 25 April 2003 22:27, Ingo Klöcker wrote:
> > select the parent of a closed thread. Because of the new
> > select-whole-thread-if-thread-is-closed feature all items of this
> > thread will be selected. Now press (without releasing) the mouse
> > button on the [+] next to this parent. The thread will be expanded
> > and you'll see that all items of the thread are selected. Now
> > release the mouse button. Suddenly only the parent is selected.
> > This happens because QListView selects the parent when the mouse is
> > released (and deselects all other items because no modifier keys is
> > pressed).
> >
> > IMO all messages of a thread should stay selected if a thread is
> > expanded. But this will most likely require some low-level hacks in
> > KMHeaders::contentsMousePressEvent. At least I currently don't see
> > an. easy solution for this.
>
> I disagree. A closed thread is a unit of messages represented by the
> parent. An open thread is individual messages, the parent represents
> itself. Opening a closed thread means they are no longer a unit.
> Therefore they should not be selected, and only the parent should
> remain selected. It now stands for itself. What happens currently is
> correct, in my opinion.

Okay. But then the flickering of the child items from selected to 
unselected should be avoided. Flickering never looks good even if the 
flickering in this particular case shows the user that for the closed 
thread all messages were selected.

> > Another problem is that if you select the parent of a closed thread
> > and then select forward, then all items of the thread are
> > forwarded. I don't think that this is expected behavior.
> > The same happens with Save As..., with Apply Filters and with Mark
> > Messages, i. e. with all actions that work on multiple messages. In
> > all those cases it's often not desired that the action works on the
> > whole thread.
> >
> > OTOH this is of course the desired behavior for actions like Move
> > To ->, Move to Trash and Delete.
> >
> > So I guess we have to differentiate between actions which should
> > work on whole threads (i. e. also on hidden, selected items) and
> > actions which should only work on visible selected items. This
> > could be done by adding a boolean parameter (e.g. bool
> > onlyVisibleItems) to KMHeaders::selectedMsgs().
> >
> > Which actions apart from Copy To ->, Move To ->, Move to Trash and
> > Delete should work on all items of a closed thread?
>
> Again, I disagree. Since a closed thread is a unit of messages _all_
> actions should operate on the collection, not just the parent. When I
> select a closed thread and mark it, I want to mark all messages in
> it, same for save or even forward. I fail to see why it should be
> different for some actions. How is the user to guess which actions
> work on the thread and which only on the parent?

How often do you forward a single message and how often do you forward a 
whole thread? I guess most users will use the "Open threads which 
contain new, unread or important messages" mode. So in order to forward 
the parent they will have to open the thread explicitely. That's 
annoying since forwarding single messages is much more common than 
forwarding whole threads. I never forwarded a whole thread.

Even more annoying is this if someone wants to forward a few messages. 
Because then he will have to remember that he first has to expand all 
threads and only then can select the to-be-forwarded messages with 
Ctrl+LMB.

BTW, all flavors of Reply and Print only work on the parent of closed 
threads. So we already have inconsistent behavior.

Another very confusing thing is that we have "Mark Message" and "Mark 
Thread". Currently "Mark Message" applied to a parent of a closed 
thread works as "Mark Thread". So shouldn't "Mark Thread" be removed 
because it's obsolete? (Note: This is a rhetorical question because if 
we removed "Mark Thread" then one wouldn't be able to bind a shortcut 
to "Mark Thread As Read" anymore.)

> > Currently I have the impression that automagic selection of closed
> > threads causes more trouble than it's worth. It would be much
> > better if the user would see that the whole thread is selected.
> > Toggling between thread selection and parent only selection could
> > then be done by clicking again on an already selected message. For
> > the keyboard users there would need to be a
> > toggle-selection-action.
>
> Toggling between thread selection and parent only selection is
> achieved by collapsing or uncollapsing threads. Grouping or
> ungrouping messages. Anything else is very confusing, imho.

Maybe you are right. But I'm pretty sure that this acting on whole 
threads will cause much confusion among our users. I will make the 
information about the changed behavior more prominent on the "Welcome 
to KMail" page.

Regards,
Ingo


[Attachment #5 (application/pgp-signature)]

_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic