[evolution] ews-I#159 - EMFolderTreeModel: Prefer Inbox over other folder types
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] ews-I#159 - EMFolderTreeModel: Prefer Inbox over other folder types
- Date: Mon, 16 May 2022 18:55:54 +0000 (UTC)
commit c1df66cdbcd588b7173cd7a5890e0fafa208dcc1
Author: Milan Crha <mcrha redhat com>
Date: Mon May 16 20:52:48 2022 +0200
ews-I#159 - EMFolderTreeModel: Prefer Inbox over other folder types
When an Inbox is marked as a Sent folder and the Inbox gets to
the MailFolderCache before the folder tree, then the folder tree
reads the "is sent folder" for the cached folder and then overrides
the folder Inbox type to the Sent folder, which breaks the visual
part in the folder tree.
Closes https://gitlab.gnome.org/GNOME/evolution-ews/-/issues/159
src/mail/em-folder-tree-model.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/src/mail/em-folder-tree-model.c b/src/mail/em-folder-tree-model.c
index 4dfff7d69b..63d8ffa795 100644
--- a/src/mail/em-folder-tree-model.c
+++ b/src/mail/em-folder-tree-model.c
@@ -1507,20 +1507,26 @@ em_folder_tree_model_set_folder_info (EMFolderTreeModel *model,
flags = (flags & ~CAMEL_FOLDER_TYPE_MASK) |
CAMEL_FOLDER_TYPE_INBOX;
display_name = _("Inbox");
+ folder_is_drafts = FALSE;
+ folder_is_sent = FALSE;
} else if (strcmp (fi->full_name, "Outbox") == 0) {
flags = (flags & ~CAMEL_FOLDER_TYPE_MASK) |
CAMEL_FOLDER_TYPE_OUTBOX;
display_name = _("Outbox");
+ folder_is_drafts = FALSE;
+ folder_is_sent = FALSE;
} else if (strcmp (fi->full_name, "Sent") == 0) {
folder_is_sent = TRUE;
display_name = _("Sent");
}
}
- if (folder_is_drafts)
- flags = (flags & ~CAMEL_FOLDER_TYPE_MASK) | CAMEL_FOLDER_TYPE_DRAFTS;
- if (folder_is_sent)
- flags = (flags & ~CAMEL_FOLDER_TYPE_MASK) | CAMEL_FOLDER_TYPE_SENT;
+ if ((flags & CAMEL_FOLDER_TYPE_MASK) != CAMEL_FOLDER_TYPE_INBOX) {
+ if (folder_is_drafts)
+ flags = (flags & ~CAMEL_FOLDER_TYPE_MASK) | CAMEL_FOLDER_TYPE_DRAFTS;
+ if (folder_is_sent)
+ flags = (flags & ~CAMEL_FOLDER_TYPE_MASK) | CAMEL_FOLDER_TYPE_SENT;
+ }
/* Choose an icon name for the folder. */
icon_name = em_folder_tree_model_get_icon_name_for_folder_uri (model, uri, store, fi->full_name,
&flags);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]