public NotificationWindowContext(ICollection <MailMessageContext> messages)
 {
     if (messages.Count > 0)
     {
         _message = messages.First();
     }
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
        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);
            });
        }
Esempio n. 9
0
 public MessageInspectionContext(MailMessageContext message)
 {
     _message = message;
 }
Esempio n. 10
0
 private async Task ViewUnblockedMessageAsync(MailMessageContext message)
 {
     Source = string.Format("asset://paranoia/message/{0}?blockExternals=false", message.Id);
     await DisplayAttachmentAsync(message);
 }
Esempio n. 11
0
 private async Task ViewMessageAsync(MailMessageContext message)
 {
     Source = string.Format("asset://paranoia/message/{0}", message.Id);
     await DisplayAttachmentAsync(message);
 }
Esempio n. 12
0
 internal void NotifyMessageRemoved(MailMessageContext message)
 {
     _messages.Remove(message);
 }