Added filter option has files

This commit is contained in:
Aleh Khantsevich
2024-05-05 17:01:40 +02:00
parent 80ec12740a
commit 74cdf09ebc
7 changed files with 27 additions and 23 deletions

View File

@@ -5,6 +5,7 @@
All, All,
Unread, Unread,
Flagged, Flagged,
Mentions Mentions,
Files
} }
} }

View File

@@ -121,6 +121,7 @@
"FilteringOption_All": "All", "FilteringOption_All": "All",
"FilteringOption_Flagged": "Flagged", "FilteringOption_Flagged": "Flagged",
"FilteringOption_Unread": "Unread", "FilteringOption_Unread": "Unread",
"FilteringOption_Files": "Has files",
"Focused": "Focused", "Focused": "Focused",
"FolderOperation_CreateSubFolder": "Create sub folder", "FolderOperation_CreateSubFolder": "Create sub folder",
"FolderOperation_Delete": "Delete", "FolderOperation_Delete": "Delete",

View File

@@ -628,6 +628,11 @@ namespace Wino.Core.Domain
/// </summary> /// </summary>
public static string FilteringOption_Unread => Resources.GetTranslatedString(@"FilteringOption_Unread"); public static string FilteringOption_Unread => Resources.GetTranslatedString(@"FilteringOption_Unread");
/// <summary>
/// Has files
/// </summary>
public static string FilteringOption_Files => Resources.GetTranslatedString(@"FilteringOption_Files");
/// <summary> /// <summary>
/// Focused /// Focused
/// </summary> /// </summary>

View File

@@ -156,6 +156,9 @@ namespace Wino.Core.Services
case FilterOptionType.Flagged: case FilterOptionType.Flagged:
query.Where("MailCopy.IsFlagged", true); query.Where("MailCopy.IsFlagged", true);
break; break;
case FilterOptionType.Files:
query.Where("MailCopy.HasAttachments", true);
break;
} }
if (options.IsFocusedOnly != null) if (options.IsFocusedOnly != null)

View File

@@ -88,7 +88,8 @@ namespace Wino.Mail.ViewModels
[ [
new (Translator.FilteringOption_All, FilterOptionType.All), new (Translator.FilteringOption_All, FilterOptionType.All),
new (Translator.FilteringOption_Unread, FilterOptionType.Unread), 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; private FolderPivotViewModel _selectedFolderPivot;
@@ -510,14 +511,12 @@ namespace Wino.Mail.ViewModels
private bool ShouldPreventItemAdd(IMailItem mailItem) private bool ShouldPreventItemAdd(IMailItem mailItem)
{ {
bool condition2 = false; bool condition = mailItem.IsRead
bool condition1 = mailItem.IsRead
&& SelectedFilterOption.Type == FilterOptionType.Unread && SelectedFilterOption.Type == FilterOptionType.Unread
|| !mailItem.IsFlagged || !mailItem.IsFlagged
&& SelectedFilterOption.Type == FilterOptionType.Flagged; && SelectedFilterOption.Type == FilterOptionType.Flagged;
return condition1 || condition2; return condition;
} }
protected override async void OnMailAdded(MailCopy addedMail) protected override async void OnMailAdded(MailCopy addedMail)
@@ -546,7 +545,7 @@ namespace Wino.Mail.ViewModels
NotifyItemFoundState(); NotifyItemFoundState();
}); });
} }
catch (Exception) { } catch { }
finally finally
{ {
listManipulationSemepahore.Release(); listManipulationSemepahore.Release();

View File

@@ -108,22 +108,16 @@ namespace Wino.Helpers
#region Wino Font Icon Transformation #region Wino Font Icon Transformation
public static WinoIconGlyph GetWinoIconGlyph(FilterOptionType type) public static WinoIconGlyph GetWinoIconGlyph(FilterOptionType type) => type switch
{ {
switch (type) FilterOptionType.All => WinoIconGlyph.SpecialFolderCategory,
{ FilterOptionType.Unread => WinoIconGlyph.MarkUnread,
case FilterOptionType.All: FilterOptionType.Flagged => WinoIconGlyph.Flag,
return WinoIconGlyph.SpecialFolderCategory; FilterOptionType.Mentions => WinoIconGlyph.NewMail,
case FilterOptionType.Unread: // TODO: Attachments icon should be added to WinoIcons.ttf.
return WinoIconGlyph.MarkUnread; FilterOptionType.Files => WinoIconGlyph.None,
case FilterOptionType.Flagged: _ => WinoIconGlyph.None,
return WinoIconGlyph.Flag; };
case FilterOptionType.Mentions:
return WinoIconGlyph.NewMail;
default:
return WinoIconGlyph.None;
}
}
public static WinoIconGlyph GetWinoIconGlyph(MailOperation operation) public static WinoIconGlyph GetWinoIconGlyph(MailOperation operation)
{ {

View File

@@ -111,7 +111,8 @@
<!-- Name && Size --> <!-- Name && Size -->
<Grid Grid.Column="1" <Grid Grid.Column="1"
VerticalAlignment="Center" VerticalAlignment="Center"
Padding="0,0,5,0"> Padding="0,0,5,0"
MaxWidth="200">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="*" /> <RowDefinition Height="*" />