public async Task <TreeNode> CreateOrUppdate(IMailFolder folder) { await folder.StatusAsync(StatusItems.Unread | StatusItems.Count); if (!folders.TryGetValue(folder, out var treeNode)) { treeNode = new TreeNode { Tag = folder }; folders.Add(folder, treeNode); } if (folder.Count > 0) { if (folder.Unread > 0) { treeNode.Text = $"{folder.Name} M:{folder.Count}/U:{folder.Unread}"; treeNode.NodeFont = BoldFont; } else { treeNode.Text = $"{folder.Name} M:{folder.Count}"; treeNode.NodeFont = RegularFont; } } else { treeNode.Text = $"{folder.Name}"; treeNode.NodeFont = RegularFont; } return(treeNode); }
public async Task ReadFolder() { if (!serverFolder.IsOpen) { try { await serverFolder.OpenAsync(FolderAccess.ReadWrite); } catch (Exception ex) { } serverFolder.MessageFlagsChanged += ServerFolder_MessageFlagsChanged; serverFolder.CountChanged += ServerFolder_CountChanged; serverFolder.UnreadChanged += ServerFolder_UnreadChanged; } await serverFolder.StatusAsync(StatusItems.Unread | StatusItems.Count); }