Fixing outlook attachments, re-using compose page and some additional fixes on the mime headers for outlook.
This commit is contained in:
@@ -185,6 +185,15 @@ public class NavigationService : NavigationServiceBase, INavigationService
|
||||
{
|
||||
WeakReferenceMessenger.Default.Send(new NewMailItemRenderingRequestedEvent(mailItemViewModel));
|
||||
}
|
||||
else if (listingFrame.Content != null
|
||||
&& listingFrame.Content.GetType() == GetPageType(WinoPage.ComposePage)
|
||||
&& page == WinoPage.ComposePage
|
||||
&& parameter is MailItemViewModel composeDraftViewModel)
|
||||
{
|
||||
// ComposePage is already active and we're switching to another draft.
|
||||
// Reuse existing ComposePage and WebView2 instead of navigating.
|
||||
WeakReferenceMessenger.Default.Send(new NewComposeDraftItemRequestedEvent(composeDraftViewModel));
|
||||
}
|
||||
else if (listingFrame.Content != null
|
||||
&& listingFrame.Content.GetType() == GetPageType(WinoPage.IdlePage)
|
||||
&& pageType == typeof(IdlePage))
|
||||
|
||||
@@ -21,6 +21,7 @@ using Wino.Core.Domain;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Models.Reader;
|
||||
using Wino.Mail.ViewModels.Data;
|
||||
using Wino.Mail.ViewModels.Messages;
|
||||
using Wino.Mail.WinUI.Extensions;
|
||||
using Wino.Messaging.Client.Mails;
|
||||
using Wino.Messaging.Client.Shell;
|
||||
@@ -30,7 +31,8 @@ namespace Wino.Views.Mail;
|
||||
|
||||
public sealed partial class ComposePage : ComposePageAbstract,
|
||||
IRecipient<CreateNewComposeMailRequested>,
|
||||
IRecipient<ApplicationThemeChanged>
|
||||
IRecipient<ApplicationThemeChanged>,
|
||||
IRecipient<NewComposeDraftItemRequestedEvent>
|
||||
{
|
||||
public WebView2 GetWebView() => WebViewEditor.GetUnderlyingWebView();
|
||||
|
||||
@@ -300,6 +302,12 @@ public sealed partial class ComposePage : ComposePageAbstract,
|
||||
WebViewEditor.IsEditorDarkMode = message.IsUnderlyingThemeDark;
|
||||
}
|
||||
|
||||
void IRecipient<NewComposeDraftItemRequestedEvent>.Receive(NewComposeDraftItemRequestedEvent message)
|
||||
{
|
||||
// Reset the initial focus flag so ToBox gets focus for the new draft.
|
||||
isInitialFocusHandled = false;
|
||||
}
|
||||
|
||||
private void ImportanceClicked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
ImportanceFlyout.Hide();
|
||||
@@ -415,6 +423,7 @@ public sealed partial class ComposePage : ComposePageAbstract,
|
||||
|
||||
WeakReferenceMessenger.Default.Register<CreateNewComposeMailRequested>(this);
|
||||
WeakReferenceMessenger.Default.Register<ApplicationThemeChanged>(this);
|
||||
WeakReferenceMessenger.Default.Register<NewComposeDraftItemRequestedEvent>(this);
|
||||
}
|
||||
|
||||
protected override void UnregisterRecipients()
|
||||
@@ -423,6 +432,7 @@ public sealed partial class ComposePage : ComposePageAbstract,
|
||||
|
||||
WeakReferenceMessenger.Default.Unregister<CreateNewComposeMailRequested>(this);
|
||||
WeakReferenceMessenger.Default.Unregister<ApplicationThemeChanged>(this);
|
||||
WeakReferenceMessenger.Default.Unregister<NewComposeDraftItemRequestedEvent>(this);
|
||||
}
|
||||
|
||||
// TODO: Save mime on closing the app.
|
||||
|
||||
@@ -262,8 +262,9 @@ public sealed partial class MailListPage : MailListPageAbstract,
|
||||
}
|
||||
else if (IsComposingPageActive())
|
||||
{
|
||||
// Composer is already active. Prepare composer WebView2 animation.
|
||||
PrepareComposePageWebViewTransition();
|
||||
// Composer is already active. Skip connected animation since the page
|
||||
// will be reused in-place (no navigation occurs).
|
||||
// NavigationService will send NewComposeDraftItemRequestedEvent instead.
|
||||
}
|
||||
else
|
||||
composerPageTransition = NavigationTransitionType.DrillIn;
|
||||
|
||||
Reference in New Issue
Block a user