From 2cb0db02e3b9293b003e608dbbf9c7e3a815a911 Mon Sep 17 00:00:00 2001 From: Aleh Khantsevich Date: Sat, 4 May 2024 12:33:27 +0200 Subject: [PATCH 1/5] Fixed crash for adding files --- Wino.Mail/Extensions/MimeKitExtensions.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Wino.Mail/Extensions/MimeKitExtensions.cs b/Wino.Mail/Extensions/MimeKitExtensions.cs index 4b776fce..1e400e16 100644 --- a/Wino.Mail/Extensions/MimeKitExtensions.cs +++ b/Wino.Mail/Extensions/MimeKitExtensions.cs @@ -1,5 +1,6 @@ using System.IO; using System.Threading.Tasks; +using Microsoft.Toolkit.Uwp.Helpers; using Windows.Storage; using Wino.Mail.ViewModels.Data; @@ -11,7 +12,7 @@ namespace Wino.Extensions { if (storageFile == null) return null; - var bytes = await File.ReadAllBytesAsync(storageFile.Name); + var bytes = await storageFile.ReadBytesAsync(); return new MailAttachmentViewModel(storageFile.Name, bytes); } From a0002ff97b8354104b4bf20bfe734021de697c6d Mon Sep 17 00:00:00 2001 From: Aleh Khantsevich Date: Sun, 5 May 2024 02:15:29 +0200 Subject: [PATCH 2/5] fixed attachments layout and size and added progressbar --- Wino.Mail/Views/ComposePage.xaml | 40 +++--- Wino.Mail/Views/MailRenderingPage.xaml | 172 ++++++++++++++----------- 2 files changed, 118 insertions(+), 94 deletions(-) diff --git a/Wino.Mail/Views/ComposePage.xaml b/Wino.Mail/Views/ComposePage.xaml index 9573fb21..ad5406e3 100644 --- a/Wino.Mail/Views/ComposePage.xaml +++ b/Wino.Mail/Views/ComposePage.xaml @@ -54,11 +54,14 @@ + + ColumnSpacing="3" + Margin="-8 0" + Padding="0,0,5,0"> @@ -74,7 +77,7 @@ @@ -85,7 +88,7 @@ FontSize="13" Text="{x:Bind FileName}" MaxLines="2" - TextTrimming="None" /> + TextTrimming="CharacterEllipsis" /> @@ -602,24 +605,25 @@ Text="{x:Bind ViewModel.Subject, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> - + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - + - + + - - + + @@ -292,20 +310,22 @@ - + + + + + + + + Date: Sun, 5 May 2024 02:38:51 +0200 Subject: [PATCH 3/5] Fixed scrollbar --- Wino.Mail/Views/MailRenderingPage.xaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Wino.Mail/Views/MailRenderingPage.xaml b/Wino.Mail/Views/MailRenderingPage.xaml index 0448d9c9..3a2888fe 100644 --- a/Wino.Mail/Views/MailRenderingPage.xaml +++ b/Wino.Mail/Views/MailRenderingPage.xaml @@ -65,7 +65,7 @@ - + + Padding="0,0,5,0"> @@ -139,10 +138,10 @@ Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Stretch" + Margin="0, -5, 0,0" Visibility="{x:Bind IsBusy, Mode=OneWay}" IsIndeterminate="{x:Bind IsBusy, Mode=OneWay}" ShowPaused="False" - Margin="0, -5, 0,0" ShowError="False"/> @@ -319,7 +318,7 @@ ItemsSource="{x:Bind ViewModel.Attachments, Mode=OneWay}" ItemClick="AttachmentClicked" SelectionMode="None" - Height="53"> + Height="55"> From 74cdf09ebcade03842c1ee4685305735a500afc4 Mon Sep 17 00:00:00 2001 From: Aleh Khantsevich Date: Sun, 5 May 2024 17:01:40 +0200 Subject: [PATCH 4/5] Added filter option has files --- Wino.Core.Domain/Enums/FilterOptionType.cs | 3 ++- .../Translations/en_US/resources.json | 1 + Wino.Core.Domain/Translator.Designer.cs | 5 ++++ Wino.Core/Services/MailService.cs | 3 +++ Wino.Mail.ViewModels/MailListPageViewModel.cs | 11 ++++----- Wino.Mail/Helpers/XamlHelpers.cs | 24 +++++++------------ Wino.Mail/Views/MailRenderingPage.xaml | 3 ++- 7 files changed, 27 insertions(+), 23 deletions(-) diff --git a/Wino.Core.Domain/Enums/FilterOptionType.cs b/Wino.Core.Domain/Enums/FilterOptionType.cs index 4882f76b..02bf14ff 100644 --- a/Wino.Core.Domain/Enums/FilterOptionType.cs +++ b/Wino.Core.Domain/Enums/FilterOptionType.cs @@ -5,6 +5,7 @@ All, Unread, Flagged, - Mentions + Mentions, + Files } } diff --git a/Wino.Core.Domain/Translations/en_US/resources.json b/Wino.Core.Domain/Translations/en_US/resources.json index 4d5fc623..4e352e7d 100644 --- a/Wino.Core.Domain/Translations/en_US/resources.json +++ b/Wino.Core.Domain/Translations/en_US/resources.json @@ -121,6 +121,7 @@ "FilteringOption_All": "All", "FilteringOption_Flagged": "Flagged", "FilteringOption_Unread": "Unread", + "FilteringOption_Files": "Has files", "Focused": "Focused", "FolderOperation_CreateSubFolder": "Create sub folder", "FolderOperation_Delete": "Delete", diff --git a/Wino.Core.Domain/Translator.Designer.cs b/Wino.Core.Domain/Translator.Designer.cs index 6f905ef8..03b2e26e 100644 --- a/Wino.Core.Domain/Translator.Designer.cs +++ b/Wino.Core.Domain/Translator.Designer.cs @@ -628,6 +628,11 @@ namespace Wino.Core.Domain /// public static string FilteringOption_Unread => Resources.GetTranslatedString(@"FilteringOption_Unread"); + /// + /// Has files + /// + public static string FilteringOption_Files => Resources.GetTranslatedString(@"FilteringOption_Files"); + /// /// Focused /// diff --git a/Wino.Core/Services/MailService.cs b/Wino.Core/Services/MailService.cs index 18be6ec9..cff165f2 100644 --- a/Wino.Core/Services/MailService.cs +++ b/Wino.Core/Services/MailService.cs @@ -156,6 +156,9 @@ namespace Wino.Core.Services case FilterOptionType.Flagged: query.Where("MailCopy.IsFlagged", true); break; + case FilterOptionType.Files: + query.Where("MailCopy.HasAttachments", true); + break; } if (options.IsFocusedOnly != null) diff --git a/Wino.Mail.ViewModels/MailListPageViewModel.cs b/Wino.Mail.ViewModels/MailListPageViewModel.cs index 6e9d4ae0..103b66f6 100644 --- a/Wino.Mail.ViewModels/MailListPageViewModel.cs +++ b/Wino.Mail.ViewModels/MailListPageViewModel.cs @@ -88,7 +88,8 @@ namespace Wino.Mail.ViewModels [ new (Translator.FilteringOption_All, FilterOptionType.All), new (Translator.FilteringOption_Unread, FilterOptionType.Unread), - new (Translator.FilteringOption_Flagged, FilterOptionType.Flagged) + new (Translator.FilteringOption_Flagged, FilterOptionType.Flagged), + new (Translator.FilteringOption_Files, FilterOptionType.Files) ]; private FolderPivotViewModel _selectedFolderPivot; @@ -510,14 +511,12 @@ namespace Wino.Mail.ViewModels private bool ShouldPreventItemAdd(IMailItem mailItem) { - bool condition2 = false; - - bool condition1 = mailItem.IsRead + bool condition = mailItem.IsRead && SelectedFilterOption.Type == FilterOptionType.Unread || !mailItem.IsFlagged && SelectedFilterOption.Type == FilterOptionType.Flagged; - return condition1 || condition2; + return condition; } protected override async void OnMailAdded(MailCopy addedMail) @@ -546,7 +545,7 @@ namespace Wino.Mail.ViewModels NotifyItemFoundState(); }); } - catch (Exception) { } + catch { } finally { listManipulationSemepahore.Release(); diff --git a/Wino.Mail/Helpers/XamlHelpers.cs b/Wino.Mail/Helpers/XamlHelpers.cs index 04fdae1e..9d7d5149 100644 --- a/Wino.Mail/Helpers/XamlHelpers.cs +++ b/Wino.Mail/Helpers/XamlHelpers.cs @@ -108,22 +108,16 @@ namespace Wino.Helpers #region Wino Font Icon Transformation - public static WinoIconGlyph GetWinoIconGlyph(FilterOptionType type) + public static WinoIconGlyph GetWinoIconGlyph(FilterOptionType type) => type switch { - switch (type) - { - case FilterOptionType.All: - return WinoIconGlyph.SpecialFolderCategory; - case FilterOptionType.Unread: - return WinoIconGlyph.MarkUnread; - case FilterOptionType.Flagged: - return WinoIconGlyph.Flag; - case FilterOptionType.Mentions: - return WinoIconGlyph.NewMail; - default: - return WinoIconGlyph.None; - } - } + FilterOptionType.All => WinoIconGlyph.SpecialFolderCategory, + FilterOptionType.Unread => WinoIconGlyph.MarkUnread, + FilterOptionType.Flagged => WinoIconGlyph.Flag, + FilterOptionType.Mentions => WinoIconGlyph.NewMail, + // TODO: Attachments icon should be added to WinoIcons.ttf. + FilterOptionType.Files => WinoIconGlyph.None, + _ => WinoIconGlyph.None, + }; public static WinoIconGlyph GetWinoIconGlyph(MailOperation operation) { diff --git a/Wino.Mail/Views/MailRenderingPage.xaml b/Wino.Mail/Views/MailRenderingPage.xaml index 3a2888fe..c2583465 100644 --- a/Wino.Mail/Views/MailRenderingPage.xaml +++ b/Wino.Mail/Views/MailRenderingPage.xaml @@ -111,7 +111,8 @@ + Padding="0,0,5,0" + MaxWidth="200"> From 00fa2ca80427f4159bc185b34966f32610681f8f Mon Sep 17 00:00:00 2001 From: Aleh Khantsevich Date: Sun, 5 May 2024 17:41:49 +0200 Subject: [PATCH 5/5] Fix formating issues and styles --- Wino.Mail/Views/ComposePage.xaml | 5 +---- Wino.Mail/Views/MailRenderingPage.xaml | 11 ++++------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/Wino.Mail/Views/ComposePage.xaml b/Wino.Mail/Views/ComposePage.xaml index ad5406e3..1b75de03 100644 --- a/Wino.Mail/Views/ComposePage.xaml +++ b/Wino.Mail/Views/ComposePage.xaml @@ -60,8 +60,7 @@ Height="50" Background="Transparent" ColumnSpacing="3" - Margin="-8 0" - Padding="0,0,5,0"> + Margin="-8,0,0,0"> @@ -101,7 +100,6 @@ @@ -607,7 +605,6 @@ - + - + + Margin="-8,0,0,0"> @@ -111,7 +110,6 @@ @@ -127,7 +125,6 @@