Replace custom pivot + command bar with tabbed commandbar

This commit is contained in:
Aleh Khantsevich
2024-08-25 23:52:55 +02:00
parent 43a51e5f2f
commit 7e4d1fbf49
10 changed files with 257 additions and 467 deletions

View File

@@ -1,11 +0,0 @@
namespace Wino.Core.Domain.Enums
{
public enum EditorToolbarSectionType
{
None,
Format,
Insert,
Draw,
Options
}
}

View File

@@ -1,8 +0,0 @@
namespace Wino.Core.Domain.Enums
{
public enum MenuPaneMode
{
Visible,
Hidden
}
}

View File

@@ -1,30 +0,0 @@
using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Models.Reader
{
public class EditorToolbarSection
{
public EditorToolbarSectionType SectionType { get; set; }
public string Title
{
get
{
switch (SectionType)
{
case EditorToolbarSectionType.None:
return Translator.EditorToolbarOption_None;
case EditorToolbarSectionType.Format:
return Translator.EditorToolbarOption_Format;
case EditorToolbarSectionType.Insert:
return Translator.EditorToolbarOption_Insert;
case EditorToolbarSectionType.Draw:
return Translator.EditorToolbarOption_Draw;
case EditorToolbarSectionType.Options:
return Translator.EditorToolbarOption_Options;
default:
return "Unknown Editor Option";
}
}
}
}
}

View File

@@ -15,7 +15,6 @@ using Wino.Core.Domain.Exceptions;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.MailItem; using Wino.Core.Domain.Models.MailItem;
using Wino.Core.Domain.Models.Navigation; using Wino.Core.Domain.Models.Navigation;
using Wino.Core.Domain.Models.Reader;
using Wino.Core.Extensions; using Wino.Core.Extensions;
using Wino.Core.Services; using Wino.Core.Services;
using Wino.Mail.ViewModels.Data; using Wino.Mail.ViewModels.Data;
@@ -89,29 +88,11 @@ namespace Wino.Mail.ViewModels
public ObservableCollection<AccountContact> CCItems { get; set; } = []; public ObservableCollection<AccountContact> CCItems { get; set; } = [];
public ObservableCollection<AccountContact> BCCItems { get; set; } = []; public ObservableCollection<AccountContact> BCCItems { get; set; } = [];
public List<EditorToolbarSection> ToolbarSections { get; set; } =
[
new EditorToolbarSection(){ SectionType = EditorToolbarSectionType.Format },
new EditorToolbarSection(){ SectionType = EditorToolbarSectionType.Insert },
new EditorToolbarSection(){ SectionType = EditorToolbarSectionType.Draw },
new EditorToolbarSection(){ SectionType = EditorToolbarSectionType.Options }
];
private EditorToolbarSection selectedToolbarSection;
public EditorToolbarSection SelectedToolbarSection
{
get => selectedToolbarSection;
set => SetProperty(ref selectedToolbarSection, value);
}
#endregion #endregion
public INativeAppService NativeAppService { get; } public INativeAppService NativeAppService { get; }
private readonly IMailService _mailService; private readonly IMailService _mailService;
private readonly ILaunchProtocolService _launchProtocolService;
private readonly IMimeFileService _mimeFileService; private readonly IMimeFileService _mimeFileService;
private readonly IFolderService _folderService; private readonly IFolderService _folderService;
private readonly IAccountService _accountService; private readonly IAccountService _accountService;
@@ -123,7 +104,6 @@ namespace Wino.Mail.ViewModels
public ComposePageViewModel(IDialogService dialogService, public ComposePageViewModel(IDialogService dialogService,
IMailService mailService, IMailService mailService,
ILaunchProtocolService launchProtocolService,
IMimeFileService mimeFileService, IMimeFileService mimeFileService,
INativeAppService nativeAppService, INativeAppService nativeAppService,
IFolderService folderService, IFolderService folderService,
@@ -141,13 +121,10 @@ namespace Wino.Mail.ViewModels
_folderService = folderService; _folderService = folderService;
_mailService = mailService; _mailService = mailService;
_launchProtocolService = launchProtocolService;
_mimeFileService = mimeFileService; _mimeFileService = mimeFileService;
_accountService = accountService; _accountService = accountService;
_worker = worker; _worker = worker;
_winoServerConnectionManager = winoServerConnectionManager; _winoServerConnectionManager = winoServerConnectionManager;
SelectedToolbarSection = ToolbarSections[0];
} }
[RelayCommand] [RelayCommand]
@@ -263,31 +240,6 @@ namespace Wino.Mail.ViewModels
} }
} }
private void ClearCurrentMimeAttachments()
{
var attachments = new List<MimePart>();
var multiparts = new List<Multipart>();
var iter = new MimeIterator(CurrentMimeMessage);
// collect our list of attachments and their parent multiparts
while (iter.MoveNext())
{
var multipart = iter.Parent as Multipart;
var part = iter.Current as MimePart;
if (multipart != null && part != null && part.IsAttachment)
{
// keep track of each attachment's parent multipart
multiparts.Add(multipart);
attachments.Add(part);
}
}
// now remove each attachment from its parent multipart...
for (int i = 0; i < attachments.Count; i++)
multiparts[i].Remove(attachments[i]);
}
private async Task SaveBodyAsync() private async Task SaveBodyAsync()
{ {
if (GetHTMLBodyFunction != null) if (GetHTMLBodyFunction != null)

View File

@@ -12,7 +12,6 @@ using Wino.Controls;
using Wino.Core.Domain; using Wino.Core.Domain;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.MailItem; using Wino.Core.Domain.Models.MailItem;
using Wino.Core.Domain.Models.Reader;
namespace Wino.Helpers namespace Wino.Helpers
{ {
@@ -284,109 +283,60 @@ namespace Wino.Helpers
#endregion #endregion
#region Toolbar Section Initialization
public static Visibility IsFormatSection(EditorToolbarSection section) => section?.SectionType == EditorToolbarSectionType.Format ? Visibility.Visible : Visibility.Collapsed;
public static Visibility IsInsertSection(EditorToolbarSection section) => section?.SectionType == EditorToolbarSectionType.Insert ? Visibility.Visible : Visibility.Collapsed;
public static Visibility IsDrawSection(EditorToolbarSection section) => section?.SectionType == EditorToolbarSectionType.Draw ? Visibility.Visible : Visibility.Collapsed;
public static Visibility IsOptionsSection(EditorToolbarSection section) => section?.SectionType == EditorToolbarSectionType.Options ? Visibility.Visible : Visibility.Collapsed;
#endregion
#region Internationalization #region Internationalization
public static string GetOperationString(MailOperation operation) public static string GetOperationString(MailOperation operation)
{ {
switch (operation) return operation switch
{ {
case MailOperation.None: MailOperation.None => "unknown",
return "unknown"; MailOperation.Archive => Translator.MailOperation_Archive,
case MailOperation.Archive: MailOperation.UnArchive => Translator.MailOperation_Unarchive,
return Translator.MailOperation_Archive; MailOperation.SoftDelete => Translator.MailOperation_Delete,
case MailOperation.UnArchive: MailOperation.HardDelete => Translator.MailOperation_Delete,
return Translator.MailOperation_Unarchive; MailOperation.Move => Translator.MailOperation_Move,
case MailOperation.SoftDelete: MailOperation.MoveToJunk => Translator.MailOperation_MoveJunk,
return Translator.MailOperation_Delete; MailOperation.MoveToFocused => Translator.MailOperation_MoveFocused,
case MailOperation.HardDelete: MailOperation.MoveToOther => Translator.MailOperation_MoveOther,
return Translator.MailOperation_Delete; MailOperation.AlwaysMoveToOther => Translator.MailOperation_AlwaysMoveOther,
case MailOperation.Move: MailOperation.AlwaysMoveToFocused => Translator.MailOperation_AlwaysMoveFocused,
return Translator.MailOperation_Move; MailOperation.SetFlag => Translator.MailOperation_SetFlag,
case MailOperation.MoveToJunk: MailOperation.ClearFlag => Translator.MailOperation_ClearFlag,
return Translator.MailOperation_MoveJunk; MailOperation.MarkAsRead => Translator.MailOperation_MarkAsRead,
case MailOperation.MoveToFocused: MailOperation.MarkAsUnread => Translator.MailOperation_MarkAsUnread,
return Translator.MailOperation_MoveFocused; MailOperation.MarkAsNotJunk => Translator.MailOperation_MarkNotJunk,
case MailOperation.MoveToOther: MailOperation.Seperator => string.Empty,
return Translator.MailOperation_MoveOther; MailOperation.Ignore => Translator.MailOperation_Ignore,
case MailOperation.AlwaysMoveToOther: MailOperation.Reply => Translator.MailOperation_Reply,
return Translator.MailOperation_AlwaysMoveOther; MailOperation.ReplyAll => Translator.MailOperation_ReplyAll,
case MailOperation.AlwaysMoveToFocused: MailOperation.Zoom => Translator.MailOperation_Zoom,
return Translator.MailOperation_AlwaysMoveFocused; MailOperation.SaveAs => Translator.MailOperation_SaveAs,
case MailOperation.SetFlag: MailOperation.Find => Translator.MailOperation_Find,
return Translator.MailOperation_SetFlag; MailOperation.Forward => Translator.MailOperation_Forward,
case MailOperation.ClearFlag: MailOperation.DarkEditor => string.Empty,
return Translator.MailOperation_ClearFlag; MailOperation.LightEditor => string.Empty,
case MailOperation.MarkAsRead: MailOperation.Print => Translator.MailOperation_Print,
return Translator.MailOperation_MarkAsRead; MailOperation.Navigate => Translator.MailOperation_Navigate,
case MailOperation.MarkAsUnread: _ => "unknown",
return Translator.MailOperation_MarkAsUnread; };
case MailOperation.MarkAsNotJunk:
return Translator.MailOperation_MarkNotJunk;
case MailOperation.Seperator:
return string.Empty;
case MailOperation.Ignore:
return Translator.MailOperation_Ignore;
case MailOperation.Reply:
return Translator.MailOperation_Reply;
case MailOperation.ReplyAll:
return Translator.MailOperation_ReplyAll;
case MailOperation.Zoom:
return Translator.MailOperation_Zoom;
case MailOperation.SaveAs:
return Translator.MailOperation_SaveAs;
case MailOperation.Find:
return Translator.MailOperation_Find;
case MailOperation.Forward:
return Translator.MailOperation_Forward;
case MailOperation.DarkEditor:
return string.Empty;
case MailOperation.LightEditor:
return string.Empty;
case MailOperation.Print:
return Translator.MailOperation_Print;
case MailOperation.Navigate:
return Translator.MailOperation_Navigate;
default:
return "unknown";
}
} }
public static string GetOperationString(FolderOperation operation) public static string GetOperationString(FolderOperation operation)
{ {
switch (operation) return operation switch
{ {
case FolderOperation.None: FolderOperation.None => string.Empty,
break; FolderOperation.Pin => Translator.FolderOperation_Pin,
case FolderOperation.Pin: FolderOperation.Unpin => Translator.FolderOperation_Unpin,
return Translator.FolderOperation_Pin; FolderOperation.MarkAllAsRead => Translator.FolderOperation_MarkAllAsRead,
case FolderOperation.Unpin: FolderOperation.DontSync => Translator.FolderOperation_DontSync,
return Translator.FolderOperation_Unpin; FolderOperation.Empty => Translator.FolderOperation_Empty,
case FolderOperation.MarkAllAsRead: FolderOperation.Rename => Translator.FolderOperation_Rename,
return Translator.FolderOperation_MarkAllAsRead; FolderOperation.Delete => Translator.FolderOperation_Delete,
case FolderOperation.DontSync: FolderOperation.Move => Translator.FolderOperation_Move,
return Translator.FolderOperation_DontSync; FolderOperation.CreateSubFolder => Translator.FolderOperation_CreateSubFolder,
case FolderOperation.Empty: _ => string.Empty,
return Translator.FolderOperation_Empty; };
case FolderOperation.Rename:
return Translator.FolderOperation_Rename;
case FolderOperation.Delete:
return Translator.FolderOperation_Delete;
case FolderOperation.Move:
return Translator.FolderOperation_Move;
case FolderOperation.CreateSubFolder:
return Translator.FolderOperation_CreateSubFolder;
}
return string.Empty;
} }
#endregion #endregion

View File

@@ -4,7 +4,6 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:abstract="using:Wino.Views.Abstract" xmlns:abstract="using:Wino.Views.Abstract"
xmlns:controls="using:Wino.Controls" xmlns:controls="using:Wino.Controls"
xmlns:controls1="using:CommunityToolkit.WinUI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:data="using:Wino.Mail.ViewModels.Data" xmlns:data="using:Wino.Mail.ViewModels.Data"
xmlns:domain="using:Wino.Core.Domain" xmlns:domain="using:Wino.Core.Domain"
@@ -14,6 +13,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls" xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:reader="using:Wino.Core.Domain.Models.Reader" xmlns:reader="using:Wino.Core.Domain.Models.Reader"
xmlns:toolkit="using:CommunityToolkit.WinUI.Controls"
x:Name="root" x:Name="root"
d:Background="White" d:Background="White"
Loaded="ComposerLoaded" Loaded="ComposerLoaded"
@@ -144,26 +144,22 @@
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="56" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid <!-- Format -->
x:Name="TopPanelGrid" <toolkit:TabbedCommandBar>
Padding="16,6,6,6" <toolkit:TabbedCommandBar.Resources>
RowSpacing="6"> <SolidColorBrush x:Key="TabContentContentBorderBackground" Color="Transparent" />
<Grid.RowDefinitions> <SolidColorBrush x:Key="TabContentContentBorderBorderBrush" Color="Transparent" />
<RowDefinition Height="Auto" /> <Thickness x:Key="TabContentBorderBorderThickness">0</Thickness>
<RowDefinition Height="*" /> </toolkit:TabbedCommandBar.Resources>
</Grid.RowDefinitions> <toolkit:TabbedCommandBar.PaneCustomContent>
<CommandBar <toolkit:TabbedCommandBarItem
Grid.Row="1" CommandAlignment="Right"
DefaultLabelPosition="Right"
DynamicOverflowItemsChanging="BarDynamicOverflowChanging"
IsDynamicOverflowEnabled="True" IsDynamicOverflowEnabled="True"
OverflowButtonVisibility="Collapsed"> OverflowButtonAlignment="Left">
<CommandBar.PrimaryCommands>
<AppBarButton <AppBarButton
Click="InvertComposerThemeClicked" Click="InvertComposerThemeClicked"
LabelPosition="Collapsed" LabelPosition="Collapsed"
@@ -194,30 +190,10 @@
<controls:WinoFontIcon Icon="Send" /> <controls:WinoFontIcon Icon="Send" />
</AppBarButton.Icon> </AppBarButton.Icon>
</AppBarButton> </AppBarButton>
</CommandBar.PrimaryCommands> </toolkit:TabbedCommandBarItem>
<CommandBar.Content> </toolkit:TabbedCommandBar.PaneCustomContent>
<!-- Wino Pivot --> <toolkit:TabbedCommandBar.MenuItems>
<controls:WinoPivotControl <toolkit:TabbedCommandBarItem DefaultLabelPosition="Collapsed" Header="{x:Bind domain:Translator.EditorToolbarOption_Format}">
ItemsSource="{x:Bind ViewModel.ToolbarSections}"
SelectedItem="{x:Bind ViewModel.SelectedToolbarSection, Mode=TwoWay}"
SelectorPipeColor="{ThemeResource NavigationViewSelectionIndicatorForeground}">
<controls:WinoPivotControl.DataTemplate>
<DataTemplate x:DataType="reader:EditorToolbarSection">
<TextBlock Text="{x:Bind Title}" />
</DataTemplate>
</controls:WinoPivotControl.DataTemplate>
</controls:WinoPivotControl>
</CommandBar.Content>
</CommandBar>
</Grid>
<!-- Editor Options -->
<Grid Grid.Row="1" Padding="26,0,6,6">
<CommandBar
HorizontalAlignment="Left"
DefaultLabelPosition="Collapsed"
IsDynamicOverflowEnabled="True"
Visibility="{x:Bind helpers:XamlHelpers.IsFormatSection(ViewModel.SelectedToolbarSection), Mode=OneWay}">
<AppBarToggleButton <AppBarToggleButton
x:Name="BoldButton" x:Name="BoldButton"
Click="BoldButtonClicked" Click="BoldButtonClicked"
@@ -351,14 +327,10 @@
<PathIcon Data="{StaticResource WebviewToolBarPathIcon}" /> <PathIcon Data="{StaticResource WebviewToolBarPathIcon}" />
</AppBarToggleButton.Icon> </AppBarToggleButton.Icon>
</AppBarToggleButton> </AppBarToggleButton>
</CommandBar> </toolkit:TabbedCommandBarItem>
<!-- Insert Panel --> <!-- Insert -->
<CommandBar <toolkit:TabbedCommandBarItem Header="{x:Bind domain:Translator.EditorToolbarOption_Insert}">
HorizontalAlignment="Left"
DefaultLabelPosition="Right"
IsDynamicOverflowEnabled="True"
Visibility="{x:Bind helpers:XamlHelpers.IsInsertSection(ViewModel.SelectedToolbarSection), Mode=OneWay}">
<AppBarButton <AppBarButton
x:Name="FilesButton" x:Name="FilesButton"
Click="AddFilesClicked" Click="AddFilesClicked"
@@ -385,15 +357,11 @@
<PathIcon Data="{StaticResource EmojiPathIcon}" /> <PathIcon Data="{StaticResource EmojiPathIcon}" />
</AppBarButton.Icon> </AppBarButton.Icon>
</AppBarButton> </AppBarButton>
</CommandBar> </toolkit:TabbedCommandBarItem>
<!-- Draw Panel --> <!-- Options -->
<Grid x:Name="DrawPanel" Visibility="{x:Bind helpers:XamlHelpers.IsDrawSection(ViewModel.SelectedToolbarSection), Mode=OneWay}"> <toolkit:TabbedCommandBarItem Header="{x:Bind domain:Translator.EditorToolbarOption_Options}">
<TextBlock Text="{x:Bind domain:Translator.ComingSoon}" /> <AppBarElementContainer>
</Grid>
<!-- Options Panel -->
<Grid x:Name="OptionsPanel" Visibility="{x:Bind helpers:XamlHelpers.IsOptionsSection(ViewModel.SelectedToolbarSection), Mode=OneWay}">
<muxc:ToggleSplitButton x:Name="ImportanceSplitButton" IsChecked="{x:Bind ViewModel.IsImportanceSelected, Mode=TwoWay}"> <muxc:ToggleSplitButton x:Name="ImportanceSplitButton" IsChecked="{x:Bind ViewModel.IsImportanceSelected, Mode=TwoWay}">
<SymbolIcon x:Name="ImportanceSplitButtonContent" Symbol="Important" /> <SymbolIcon x:Name="ImportanceSplitButtonContent" Symbol="Important" />
<muxc:ToggleSplitButton.Flyout> <muxc:ToggleSplitButton.Flyout>
@@ -424,12 +392,14 @@
</Flyout> </Flyout>
</muxc:ToggleSplitButton.Flyout> </muxc:ToggleSplitButton.Flyout>
</muxc:ToggleSplitButton> </muxc:ToggleSplitButton>
</Grid> </AppBarElementContainer>
</Grid> </toolkit:TabbedCommandBarItem>
</toolkit:TabbedCommandBar.MenuItems>
</toolkit:TabbedCommandBar>
<!-- Mime Info --> <!-- Mime Info -->
<Grid <Grid
Grid.Row="2" Grid.Row="1"
Padding="16,0,16,10" Padding="16,0,16,10"
ColumnSpacing="12" ColumnSpacing="12"
RowSpacing="3"> RowSpacing="3">
@@ -478,7 +448,7 @@
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls1:TokenizingTextBox <toolkit:TokenizingTextBox
x:Name="ToBox" x:Name="ToBox"
Grid.Column="0" Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
@@ -520,7 +490,7 @@
Text="Cc: " Text="Cc: "
Visibility="{x:Bind ViewModel.IsCCBCCVisible, Mode=OneWay}" /> Visibility="{x:Bind ViewModel.IsCCBCCVisible, Mode=OneWay}" />
<controls1:TokenizingTextBox <toolkit:TokenizingTextBox
x:Name="CCBox" x:Name="CCBox"
Grid.Row="2" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
@@ -543,7 +513,7 @@
Text="Bcc: " Text="Bcc: "
Visibility="{x:Bind ViewModel.IsCCBCCVisible, Mode=OneWay}" /> Visibility="{x:Bind ViewModel.IsCCBCCVisible, Mode=OneWay}" />
<controls1:TokenizingTextBox <toolkit:TokenizingTextBox
x:Name="BccBox" x:Name="BccBox"
Grid.Row="3" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
@@ -586,7 +556,7 @@
SelectionMode="None"> SelectionMode="None">
<ListView.ItemsPanel> <ListView.ItemsPanel>
<ItemsPanelTemplate> <ItemsPanelTemplate>
<controls1:WrapPanel Orientation="Horizontal" /> <toolkit:WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate> </ItemsPanelTemplate>
</ListView.ItemsPanel> </ListView.ItemsPanel>
</ListView> </ListView>
@@ -595,7 +565,7 @@
<!-- Dropzone --> <!-- Dropzone -->
<Grid <Grid
Grid.Row="0" Grid.Row="0"
Grid.RowSpan="3" Grid.RowSpan="2"
AllowDrop="True" AllowDrop="True"
DragLeave="OnFileDropGridDragLeave" DragLeave="OnFileDropGridDragLeave"
DragOver="OnFileDropGridDragOver" DragOver="OnFileDropGridDragOver"

View File

@@ -26,7 +26,6 @@ using Windows.UI.Xaml.Media.Animation;
using Windows.UI.Xaml.Navigation; using Windows.UI.Xaml.Navigation;
using Wino.Core.Domain; using Wino.Core.Domain;
using Wino.Core.Domain.Entities; using Wino.Core.Domain.Entities;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Reader; using Wino.Core.Domain.Models.Reader;
using Wino.Extensions; using Wino.Extensions;
@@ -38,7 +37,6 @@ using Wino.Views.Abstract;
namespace Wino.Views namespace Wino.Views
{ {
public sealed partial class ComposePage : ComposePageAbstract, public sealed partial class ComposePage : ComposePageAbstract,
IRecipient<NavigationPaneModeChanged>,
IRecipient<CreateNewComposeMailRequested>, IRecipient<CreateNewComposeMailRequested>,
IRecipient<ApplicationThemeChanged> IRecipient<ApplicationThemeChanged>
{ {
@@ -170,6 +168,7 @@ namespace Wino.Views
ViewModel.IsDraggingOverFilesDropZone = false; ViewModel.IsDraggingOverFilesDropZone = false;
} }
} }
private void OnImageDropGridDragEnter(object sender, DragEventArgs e) private void OnImageDropGridDragEnter(object sender, DragEventArgs e)
{ {
bool isValid = false; bool isValid = false;
@@ -557,27 +556,11 @@ namespace Wino.Views
private void DOMLoaded(CoreWebView2 sender, CoreWebView2DOMContentLoadedEventArgs args) => DOMLoadedTask.TrySetResult(true); private void DOMLoaded(CoreWebView2 sender, CoreWebView2DOMContentLoadedEventArgs args) => DOMLoadedTask.TrySetResult(true);
void IRecipient<NavigationPaneModeChanged>.Receive(NavigationPaneModeChanged message)
{
if (message.NewMode == MenuPaneMode.Hidden)
TopPanelGrid.Padding = new Thickness(48, 6, 6, 6);
else
TopPanelGrid.Padding = new Thickness(16, 6, 6, 6);
}
async void IRecipient<CreateNewComposeMailRequested>.Receive(CreateNewComposeMailRequested message) async void IRecipient<CreateNewComposeMailRequested>.Receive(CreateNewComposeMailRequested message)
{ {
await RenderInternalAsync(message.RenderModel.RenderHtml); await RenderInternalAsync(message.RenderModel.RenderHtml);
} }
private void BarDynamicOverflowChanging(CommandBar sender, DynamicOverflowItemsChangingEventArgs args)
{
if (args.Action == CommandBarDynamicOverflowAction.AddingToOverflow)
sender.OverflowButtonVisibility = CommandBarOverflowButtonVisibility.Visible;
else
sender.OverflowButtonVisibility = CommandBarOverflowButtonVisibility.Collapsed;
}
private void ShowCCBCCClicked(object sender, RoutedEventArgs e) private void ShowCCBCCClicked(object sender, RoutedEventArgs e)
{ {
ViewModel.IsCCBCCVisible = true; ViewModel.IsCCBCCVisible = true;

View File

@@ -25,7 +25,6 @@ namespace Wino.Views
public sealed partial class MailRenderingPage : MailRenderingPageAbstract, public sealed partial class MailRenderingPage : MailRenderingPageAbstract,
IRecipient<HtmlRenderingRequested>, IRecipient<HtmlRenderingRequested>,
IRecipient<CancelRenderingContentRequested>, IRecipient<CancelRenderingContentRequested>,
IRecipient<NavigationPaneModeChanged>,
IRecipient<ApplicationThemeChanged>, IRecipient<ApplicationThemeChanged>,
IRecipient<SaveAsPDFRequested> IRecipient<SaveAsPDFRequested>
{ {
@@ -208,14 +207,6 @@ namespace Wino.Views
} }
} }
void IRecipient<NavigationPaneModeChanged>.Receive(NavigationPaneModeChanged message)
{
if (message.NewMode == MenuPaneMode.Hidden)
RendererBar.Margin = new Thickness(48, 6, 6, 6);
else
RendererBar.Margin = new Thickness(16, 6, 6, 6);
}
private async void WebViewNavigationStarting(WebView2 sender, CoreWebView2NavigationStartingEventArgs args) private async void WebViewNavigationStarting(WebView2 sender, CoreWebView2NavigationStartingEventArgs args)
{ {
// This is our reader. // This is our reader.

View File

@@ -147,6 +147,9 @@
<PackageReference Include="CommunityToolkit.Uwp.Controls.Sizers"> <PackageReference Include="CommunityToolkit.Uwp.Controls.Sizers">
<Version>8.0.240109</Version> <Version>8.0.240109</Version>
</PackageReference> </PackageReference>
<PackageReference Include="CommunityToolkit.Uwp.Controls.TabbedCommandBar">
<Version>8.1.240821</Version>
</PackageReference>
<PackageReference Include="CommunityToolkit.Uwp.Controls.TokenizingTextBox"> <PackageReference Include="CommunityToolkit.Uwp.Controls.TokenizingTextBox">
<Version>8.0.240109</Version> <Version>8.0.240109</Version>
</PackageReference> </PackageReference>

View File

@@ -1,10 +0,0 @@
using Wino.Core.Domain.Enums;
namespace Wino.Messaging.Client.Shell
{
/// <summary>
/// When navigation pane mode is changed.
/// </summary>
/// <param name="NewMode">New navigation mode.</param>
public record NavigationPaneModeChanged(MenuPaneMode NewMode);
}