On Monday, 25 March 2013 23:25:26 CEST, Yasser Aziza wrote:
i have implemented the feature requested by Patrick, which
enable marking all unread messages
in a Folder as read.
Hi Yassir, thanks for writing here. Could you please also subscribe to the ML
so that the future responses reach you? The instructions are on the website.
For the other people on the list, the merge request in question is at [1].
I would like to have the patch improved in a few ways:
- The "//: comment" is for providing context to the localization messages
(calls to tr()), not as a general comment in the code. I think it can be removed here.
- Menu items which end with three dots ("Mark folder read...") indicate that a
dialog will appear before the action takes place. This is not the case with this
particular feature.
- The code leaves all messages selected in the GUI.
- The message view supports showing messages in threads (I see you're using
GMail which cannot do that). Selecting all items via Ctrl+C selects only all
top-level messages (thread roots), not all messages in the mailbox.
- I'm afraid that the best way to implement this feature is going to be a bit
involved; the code in UpdateFlagsTask was designed to work with just some of
the messages. Even if we produce a list of QModelIndexes representing all
messages in a mailbox (which in itself is rather inefficient when dealing with
a lot of messages), the resulting IMAP command would be a bit too long. It
looks to me that the best way to proceed is to create a new
UpdateFlagsOfAllMessagesTask to eliminate the overhead of walking all messages
separately, but this is going to be too much involved for a newcomer :( -- I'm
not saying you cannot do that, but due to the amount of work needed, there are
high chances of hitting unexpected obstacles on the way.
With kind regards,
Jan
[1] https://gitorious.org/trojita/trojita/merge_requests/18
--
Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/