/// <summary> /// Efface l'affichage du mail courant /// </summary> private void ClearCurrentMail() { I_CurrentMailFrom.Text = ""; I_CurrentMailTo.Text = ""; I_CurrentMailCc.Text = ""; I_CurrentMailSubject.Text = ""; WB_CurrentMailBody.Navigate((Uri)null); gCurrentMail = null; gCurrentMailSummary = null; hideMailControls(); IT_InboxMessages.SelectedIndex = -1; }
// Adapte l'affichage de l'enveloppe d'un mail selon son drapeau passé en paramètre private void checkMailFlags(DataGridRowEventArgs e) { if (e.Row.Item != null) { MailShort ms = (MailShort)e.Row.Item; if (ms.MailShortFlag.HasFlag(MessageFlags.Seen)) // mail déjà lu donc on enlève le gras { e.Row.FontWeight = FontWeights.Normal; e.Row.Foreground = Brushes.Black; } } }
/// Récupérer un MimeMessage lors que l'utilisateur sélectionne un MailSummary dans le DGV et l'afficher private async Task openMail(SelectionChangedEventArgs e) { if (currentCompteMessagerie.isAuthenticated()) { if (IT_InboxMessages.SelectedIndex != -1) { if (e.AddedItems.Count > 0) { //ClearCurrentMail(); if (asyncProcessRunning == false) { PG_Mailbox.Visibility = Visibility.Visible; PG_Mailbox.IsIndeterminate = true; gCurrentMailSummary = (MailShort)e.AddedItems[0]; await Task.Run(() => { asyncProcessRunning = true; try { this.gCurrentMail = currentClient.Inbox.GetMessage(gCurrentMailSummary.uid); } catch (Exception ex) { MessageBox.Show(ex.Message); } asyncProcessRunning = false; }); ShowCurrentMail(); currentClient.Inbox.AddFlags(gCurrentMailSummary.uid, MessageFlags.Seen, true); // Marquer le mail comme lu PG_Mailbox.Visibility = Visibility.Hidden; PG_Mailbox.IsIndeterminate = false; } } } } }