public NotificationWindowContext(ICollection <MailMessageContext> messages) { if (messages.Count > 0) { _message = messages.First(); } }
internal void ReplyToAll(MailMessageContext message) { var url = string.Format("?action=reply-all&id={0}", message.Id); var uri = typeof(ComposeMessagePage).ToPageUri(url); App.Context.Compose(uri); }
internal void Forward(MailMessageContext message) { var url = string.Format("?action=forward&id={0}", message.Id); var uri = typeof(ComposeMessagePage).ToPageUri(url); App.Context.Compose(uri); }
internal void ShowMessage(MailMessageContext message) { if (!message.Mailbox.IsSelected) { message.Mailbox.IsSelected = true; } _messages.ForEach(x => x.IsSelected = false); message.IsSelected = true; }
public async Task InitWithMessageAsync(MailMessageContext message) { var context = new MessageInspectionContext(message); try { DataContext = context; HtmlViewer.Source = string.Format("asset://paranoia/message/{0}", message.Id); await context.InitAsync(); } catch (Exception ex) { Logger.Error(ex); } }
internal async Task InspectMessageAsync(MailMessageContext message) { var owner = Application.Current.MainWindow; var inspector = new InspectionWindow { WindowState = owner.WindowState == WindowState.Maximized ? WindowState.Maximized : WindowState.Normal }; inspector.MimicOwnership(owner); await inspector.InitWithMessageAsync(message); inspector.Show(); }
internal async Task RefreshMessageSelectionAsync(MailMessageContext message) { await MarkSelectionAsSeenAsync(); if (!await message.GetIsMimeLoadedAsync()) { await message.DownloadMessageAsync(); } await message.UpdateTrustLevelAsync(); if (message.IsSourceTrusted) { await ViewUnblockedMessageAsync(message); } else { await ViewMessageAsync(message); } }
private async Task DisplayAttachmentAsync(MailMessageContext message) { var attachmentContexts = new List <AttachmentContext>(); using (var context = new DatabaseContext()) { var mimeMessage = await context.MimeMessages.FirstOrDefaultAsync(x => x.MessageId == message.Id); if (mimeMessage == null) { return; } var reader = new MailMessageReader(mimeMessage.Data); var attachments = reader.FindAllAttachments(); attachments.Where(x => x.ContentId == null) .ForEach(y => attachmentContexts.Add(new AttachmentContext(y))); } Application.Current.Dispatcher.Invoke(() => { Attachments.Clear(); Attachments.AddRange(attachmentContexts); }); }
public MessageInspectionContext(MailMessageContext message) { _message = message; }
private async Task ViewUnblockedMessageAsync(MailMessageContext message) { Source = string.Format("asset://paranoia/message/{0}?blockExternals=false", message.Id); await DisplayAttachmentAsync(message); }
private async Task ViewMessageAsync(MailMessageContext message) { Source = string.Format("asset://paranoia/message/{0}", message.Id); await DisplayAttachmentAsync(message); }
internal void NotifyMessageRemoved(MailMessageContext message) { _messages.Remove(message); }