diff --git a/Wino.Core.Domain/Enums/EditorToolbarSectionType.cs b/Wino.Core.Domain/Enums/EditorToolbarSectionType.cs
deleted file mode 100644
index 187c8cb2..00000000
--- a/Wino.Core.Domain/Enums/EditorToolbarSectionType.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace Wino.Core.Domain.Enums
-{
- public enum EditorToolbarSectionType
- {
- None,
- Format,
- Insert,
- Draw,
- Options
- }
-}
diff --git a/Wino.Core.Domain/Enums/MenuPaneMode.cs b/Wino.Core.Domain/Enums/MenuPaneMode.cs
deleted file mode 100644
index 3d6e77b8..00000000
--- a/Wino.Core.Domain/Enums/MenuPaneMode.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace Wino.Core.Domain.Enums
-{
- public enum MenuPaneMode
- {
- Visible,
- Hidden
- }
-}
diff --git a/Wino.Core.Domain/Models/Reader/EditorToolbarSection.cs b/Wino.Core.Domain/Models/Reader/EditorToolbarSection.cs
deleted file mode 100644
index e52fdea1..00000000
--- a/Wino.Core.Domain/Models/Reader/EditorToolbarSection.cs
+++ /dev/null
@@ -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";
- }
- }
- }
- }
-}
diff --git a/Wino.Core.Domain/Translations/en_US/resources.json b/Wino.Core.Domain/Translations/en_US/resources.json
index a439fc5a..c0739152 100644
--- a/Wino.Core.Domain/Translations/en_US/resources.json
+++ b/Wino.Core.Domain/Translations/en_US/resources.json
@@ -53,6 +53,7 @@
"Buttons_TryAgain": "Try Again",
"Buttons_Yes": "Yes",
"Buttons_Reset": "Reset",
+ "Buttons_Send": "Send",
"Center": "Center",
"ComingSoon": "Coming soon...",
"ComposerFrom": "From: ",
diff --git a/Wino.Core.Domain/Translator.Designer.cs b/Wino.Core.Domain/Translator.Designer.cs
index 72056b31..4f086782 100644
--- a/Wino.Core.Domain/Translator.Designer.cs
+++ b/Wino.Core.Domain/Translator.Designer.cs
@@ -288,6 +288,11 @@ namespace Wino.Core.Domain
///
public static string Buttons_Reset => Resources.GetTranslatedString(@"Buttons_Reset");
+ ///
+ /// Send
+ ///
+ public static string Buttons_Send => Resources.GetTranslatedString(@"Buttons_Send");
+
///
/// Center
///
diff --git a/Wino.Mail.ViewModels/ComposePageViewModel.cs b/Wino.Mail.ViewModels/ComposePageViewModel.cs
index 32028448..be2e5428 100644
--- a/Wino.Mail.ViewModels/ComposePageViewModel.cs
+++ b/Wino.Mail.ViewModels/ComposePageViewModel.cs
@@ -15,7 +15,6 @@ using Wino.Core.Domain.Exceptions;
using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.MailItem;
using Wino.Core.Domain.Models.Navigation;
-using Wino.Core.Domain.Models.Reader;
using Wino.Core.Extensions;
using Wino.Core.Services;
using Wino.Mail.ViewModels.Data;
@@ -89,29 +88,11 @@ namespace Wino.Mail.ViewModels
public ObservableCollection CCItems { get; set; } = [];
public ObservableCollection BCCItems { get; set; } = [];
-
- public List 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
public INativeAppService NativeAppService { get; }
private readonly IMailService _mailService;
- private readonly ILaunchProtocolService _launchProtocolService;
private readonly IMimeFileService _mimeFileService;
private readonly IFolderService _folderService;
private readonly IAccountService _accountService;
@@ -123,7 +104,6 @@ namespace Wino.Mail.ViewModels
public ComposePageViewModel(IDialogService dialogService,
IMailService mailService,
- ILaunchProtocolService launchProtocolService,
IMimeFileService mimeFileService,
INativeAppService nativeAppService,
IFolderService folderService,
@@ -141,13 +121,10 @@ namespace Wino.Mail.ViewModels
_folderService = folderService;
_mailService = mailService;
- _launchProtocolService = launchProtocolService;
_mimeFileService = mimeFileService;
_accountService = accountService;
_worker = worker;
_winoServerConnectionManager = winoServerConnectionManager;
-
- SelectedToolbarSection = ToolbarSections[0];
}
[RelayCommand]
@@ -263,31 +240,6 @@ namespace Wino.Mail.ViewModels
}
}
- private void ClearCurrentMimeAttachments()
- {
- var attachments = new List();
- var multiparts = new List();
- 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()
{
if (GetHTMLBodyFunction != null)
diff --git a/Wino.Mail/Helpers/XamlHelpers.cs b/Wino.Mail/Helpers/XamlHelpers.cs
index 13ab0752..4157b2ae 100644
--- a/Wino.Mail/Helpers/XamlHelpers.cs
+++ b/Wino.Mail/Helpers/XamlHelpers.cs
@@ -12,7 +12,6 @@ using Wino.Controls;
using Wino.Core.Domain;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.MailItem;
-using Wino.Core.Domain.Models.Reader;
namespace Wino.Helpers
{
@@ -284,109 +283,60 @@ namespace Wino.Helpers
#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
public static string GetOperationString(MailOperation operation)
{
- switch (operation)
+ return operation switch
{
- case MailOperation.None:
- return "unknown";
- case MailOperation.Archive:
- return Translator.MailOperation_Archive;
- case MailOperation.UnArchive:
- return Translator.MailOperation_Unarchive;
- case MailOperation.SoftDelete:
- return Translator.MailOperation_Delete;
- case MailOperation.HardDelete:
- return Translator.MailOperation_Delete;
- case MailOperation.Move:
- return Translator.MailOperation_Move;
- case MailOperation.MoveToJunk:
- return Translator.MailOperation_MoveJunk;
- case MailOperation.MoveToFocused:
- return Translator.MailOperation_MoveFocused;
- case MailOperation.MoveToOther:
- return Translator.MailOperation_MoveOther;
- case MailOperation.AlwaysMoveToOther:
- return Translator.MailOperation_AlwaysMoveOther;
- case MailOperation.AlwaysMoveToFocused:
- return Translator.MailOperation_AlwaysMoveFocused;
- case MailOperation.SetFlag:
- return Translator.MailOperation_SetFlag;
- case MailOperation.ClearFlag:
- return Translator.MailOperation_ClearFlag;
- case MailOperation.MarkAsRead:
- return Translator.MailOperation_MarkAsRead;
- case MailOperation.MarkAsUnread:
- 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";
- }
+ MailOperation.None => "unknown",
+ MailOperation.Archive => Translator.MailOperation_Archive,
+ MailOperation.UnArchive => Translator.MailOperation_Unarchive,
+ MailOperation.SoftDelete => Translator.MailOperation_Delete,
+ MailOperation.HardDelete => Translator.MailOperation_Delete,
+ MailOperation.Move => Translator.MailOperation_Move,
+ MailOperation.MoveToJunk => Translator.MailOperation_MoveJunk,
+ MailOperation.MoveToFocused => Translator.MailOperation_MoveFocused,
+ MailOperation.MoveToOther => Translator.MailOperation_MoveOther,
+ MailOperation.AlwaysMoveToOther => Translator.MailOperation_AlwaysMoveOther,
+ MailOperation.AlwaysMoveToFocused => Translator.MailOperation_AlwaysMoveFocused,
+ MailOperation.SetFlag => Translator.MailOperation_SetFlag,
+ MailOperation.ClearFlag => Translator.MailOperation_ClearFlag,
+ MailOperation.MarkAsRead => Translator.MailOperation_MarkAsRead,
+ MailOperation.MarkAsUnread => Translator.MailOperation_MarkAsUnread,
+ MailOperation.MarkAsNotJunk => Translator.MailOperation_MarkNotJunk,
+ MailOperation.Seperator => string.Empty,
+ MailOperation.Ignore => Translator.MailOperation_Ignore,
+ MailOperation.Reply => Translator.MailOperation_Reply,
+ MailOperation.ReplyAll => Translator.MailOperation_ReplyAll,
+ MailOperation.Zoom => Translator.MailOperation_Zoom,
+ MailOperation.SaveAs => Translator.MailOperation_SaveAs,
+ MailOperation.Find => Translator.MailOperation_Find,
+ MailOperation.Forward => Translator.MailOperation_Forward,
+ MailOperation.DarkEditor => string.Empty,
+ MailOperation.LightEditor => string.Empty,
+ MailOperation.Print => Translator.MailOperation_Print,
+ MailOperation.Navigate => Translator.MailOperation_Navigate,
+ _ => "unknown",
+ };
}
public static string GetOperationString(FolderOperation operation)
{
- switch (operation)
+ return operation switch
{
- case FolderOperation.None:
- break;
- case FolderOperation.Pin:
- return Translator.FolderOperation_Pin;
- case FolderOperation.Unpin:
- return Translator.FolderOperation_Unpin;
- case FolderOperation.MarkAllAsRead:
- return Translator.FolderOperation_MarkAllAsRead;
- case FolderOperation.DontSync:
- return Translator.FolderOperation_DontSync;
- case FolderOperation.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;
+ FolderOperation.None => string.Empty,
+ FolderOperation.Pin => Translator.FolderOperation_Pin,
+ FolderOperation.Unpin => Translator.FolderOperation_Unpin,
+ FolderOperation.MarkAllAsRead => Translator.FolderOperation_MarkAllAsRead,
+ FolderOperation.DontSync => Translator.FolderOperation_DontSync,
+ FolderOperation.Empty => Translator.FolderOperation_Empty,
+ FolderOperation.Rename => Translator.FolderOperation_Rename,
+ FolderOperation.Delete => Translator.FolderOperation_Delete,
+ FolderOperation.Move => Translator.FolderOperation_Move,
+ FolderOperation.CreateSubFolder => Translator.FolderOperation_CreateSubFolder,
+ _ => string.Empty,
+ };
}
#endregion
diff --git a/Wino.Mail/Views/ComposePage.xaml b/Wino.Mail/Views/ComposePage.xaml
index 9f6121c7..9fb6ac6c 100644
--- a/Wino.Mail/Views/ComposePage.xaml
+++ b/Wino.Mail/Views/ComposePage.xaml
@@ -4,7 +4,6 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:abstract="using:Wino.Views.Abstract"
xmlns:controls="using:Wino.Controls"
- xmlns:controls1="using:CommunityToolkit.WinUI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:data="using:Wino.Mail.ViewModels.Data"
xmlns:domain="using:Wino.Core.Domain"
@@ -14,6 +13,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:reader="using:Wino.Core.Domain.Models.Reader"
+ xmlns:toolkit="using:CommunityToolkit.WinUI.Controls"
x:Name="root"
d:Background="White"
Loaded="ComposerLoaded"
@@ -144,26 +144,22 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 0
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -478,7 +451,7 @@
-
-
-
-
+
@@ -595,7 +568,7 @@
,
IRecipient,
IRecipient
{
@@ -170,6 +168,7 @@ namespace Wino.Views
ViewModel.IsDraggingOverFilesDropZone = false;
}
}
+
private void OnImageDropGridDragEnter(object sender, DragEventArgs e)
{
bool isValid = false;
@@ -557,27 +556,11 @@ namespace Wino.Views
private void DOMLoaded(CoreWebView2 sender, CoreWebView2DOMContentLoadedEventArgs args) => DOMLoadedTask.TrySetResult(true);
- void IRecipient.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.Receive(CreateNewComposeMailRequested message)
{
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)
{
ViewModel.IsCCBCCVisible = true;
@@ -641,7 +624,7 @@ namespace Wino.Views
var selectedImportance = (MessageImportance)senderButton.Tag;
ViewModel.SelectedMessageImportance = selectedImportance;
- (ImportanceSplitButton.Content as SymbolIcon).Symbol = (senderButton.Content as SymbolIcon).Symbol;
+ (ImportanceSplitButton.Content as FontIcon).Glyph = (senderButton.Content as FontIcon).Glyph;
}
}
diff --git a/Wino.Mail/Views/MailListPage.xaml.cs b/Wino.Mail/Views/MailListPage.xaml.cs
index f1f4f515..af2a0da7 100644
--- a/Wino.Mail/Views/MailListPage.xaml.cs
+++ b/Wino.Mail/Views/MailListPage.xaml.cs
@@ -39,7 +39,7 @@ namespace Wino.Views
IRecipient,
IRecipient
{
- private const double RENDERING_COLUMN_MIN_WIDTH = 300;
+ private const double RENDERING_COLUMN_MIN_WIDTH = 375;
private IStatePersistanceService StatePersistenceService { get; } = App.Current.Services.GetService();
private IKeyPressService KeyPressService { get; } = App.Current.Services.GetService();
diff --git a/Wino.Mail/Views/MailRenderingPage.xaml.cs b/Wino.Mail/Views/MailRenderingPage.xaml.cs
index 3c1826d9..7f929711 100644
--- a/Wino.Mail/Views/MailRenderingPage.xaml.cs
+++ b/Wino.Mail/Views/MailRenderingPage.xaml.cs
@@ -25,7 +25,6 @@ namespace Wino.Views
public sealed partial class MailRenderingPage : MailRenderingPageAbstract,
IRecipient,
IRecipient,
- IRecipient,
IRecipient,
IRecipient
{
@@ -208,14 +207,6 @@ namespace Wino.Views
}
}
- void IRecipient.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)
{
// This is our reader.
diff --git a/Wino.Mail/Wino.Mail.csproj b/Wino.Mail/Wino.Mail.csproj
index b8b23cce..9dac881f 100644
--- a/Wino.Mail/Wino.Mail.csproj
+++ b/Wino.Mail/Wino.Mail.csproj
@@ -147,6 +147,9 @@
8.0.240109
+
+ 8.1.240821
+
8.0.240109
diff --git a/Wino.Messages/Client/Shell/NavigationPaneModeChanged.cs b/Wino.Messages/Client/Shell/NavigationPaneModeChanged.cs
deleted file mode 100644
index 5f20208c..00000000
--- a/Wino.Messages/Client/Shell/NavigationPaneModeChanged.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Wino.Core.Domain.Enums;
-
-namespace Wino.Messaging.Client.Shell
-{
- ///
- /// When navigation pane mode is changed.
- ///
- /// New navigation mode.
- public record NavigationPaneModeChanged(MenuPaneMode NewMode);
-}