Add junk folder empty action and refresh package versions
This commit is contained in:
+10
-10
@@ -24,9 +24,9 @@
|
|||||||
<PackageVersion Include="IsExternalInit" Version="1.0.3" />
|
<PackageVersion Include="IsExternalInit" Version="1.0.3" />
|
||||||
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="5.3.0" />
|
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="5.3.0" />
|
||||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="5.3.0" />
|
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="5.3.0" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.5" />
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.6" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.5" />
|
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.6" />
|
||||||
<PackageVersion Include="Microsoft.Graph" Version="5.103.0" />
|
<PackageVersion Include="Microsoft.Graph" Version="5.104.0" />
|
||||||
<PackageVersion Include="Microsoft.Graphics.Win2D" Version="1.4.0" />
|
<PackageVersion Include="Microsoft.Graphics.Win2D" Version="1.4.0" />
|
||||||
<PackageVersion Include="Microsoft.Identity.Client" Version="4.83.3" />
|
<PackageVersion Include="Microsoft.Identity.Client" Version="4.83.3" />
|
||||||
<PackageVersion Include="Microsoft.Identity.Client.Broker" Version="4.83.3" />
|
<PackageVersion Include="Microsoft.Identity.Client.Broker" Version="4.83.3" />
|
||||||
@@ -35,12 +35,12 @@
|
|||||||
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools.MSIX" Version="1.7.260316102" />
|
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools.MSIX" Version="1.7.260316102" />
|
||||||
<PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="3.0.1" />
|
<PackageVersion Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="3.0.1" />
|
||||||
<PackageVersion Include="Wino.Mail.Contracts" Version="1.0.18" />
|
<PackageVersion Include="Wino.Mail.Contracts" Version="1.0.18" />
|
||||||
<PackageVersion Include="MimeKit" Version="4.15.1" />
|
<PackageVersion Include="MimeKit" Version="4.16.0" />
|
||||||
<PackageVersion Include="morelinq" Version="4.4.0" />
|
<PackageVersion Include="morelinq" Version="4.4.0" />
|
||||||
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2" />
|
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2" />
|
||||||
<PackageVersion Include="Nito.AsyncEx.Tasks" Version="5.1.2" />
|
<PackageVersion Include="Nito.AsyncEx.Tasks" Version="5.1.2" />
|
||||||
<PackageVersion Include="NodaTime" Version="3.3.1" />
|
<PackageVersion Include="NodaTime" Version="3.3.1" />
|
||||||
<PackageVersion Include="Sentry.Serilog" Version="6.3.1" />
|
<PackageVersion Include="Sentry.Serilog" Version="6.4.0" />
|
||||||
<PackageVersion Include="Serilog" Version="4.3.1" />
|
<PackageVersion Include="Serilog" Version="4.3.1" />
|
||||||
<PackageVersion Include="Serilog.Exceptions" Version="8.4.0" />
|
<PackageVersion Include="Serilog.Exceptions" Version="8.4.0" />
|
||||||
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />
|
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />
|
||||||
@@ -52,21 +52,21 @@
|
|||||||
<PackageVersion Include="System.Drawing.Common" Version="10.0.5" />
|
<PackageVersion Include="System.Drawing.Common" Version="10.0.5" />
|
||||||
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
|
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
|
||||||
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.10" />
|
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.10" />
|
||||||
<PackageVersion Include="System.Text.Json" Version="10.0.5" />
|
<PackageVersion Include="System.Text.Json" Version="10.0.6" />
|
||||||
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.3.0" />
|
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.3.0" />
|
||||||
<PackageVersion Include="H.NotifyIcon.WinUI" Version="2.4.1" />
|
<PackageVersion Include="H.NotifyIcon.WinUI" Version="2.4.1" />
|
||||||
<PackageVersion Include="CommunityToolkit.WinUI.Notifications" Version="7.1.2" />
|
<PackageVersion Include="CommunityToolkit.WinUI.Notifications" Version="7.1.2" />
|
||||||
<PackageVersion Include="Google.Apis.Auth" Version="1.73.0" />
|
<PackageVersion Include="Google.Apis.Auth" Version="1.73.0" />
|
||||||
<PackageVersion Include="Google.Apis.Calendar.v3" Version="1.73.0.4073" />
|
<PackageVersion Include="Google.Apis.Calendar.v3" Version="1.73.0.4073" />
|
||||||
<PackageVersion Include="Google.Apis.Drive.v3" Version="1.73.0.4098" />
|
<PackageVersion Include="Google.Apis.Drive.v3" Version="1.73.0.4112" />
|
||||||
<PackageVersion Include="Google.Apis.Gmail.v1" Version="1.73.0.4029" />
|
<PackageVersion Include="Google.Apis.Gmail.v1" Version="1.73.0.4029" />
|
||||||
<PackageVersion Include="Google.Apis.PeopleService.v1" Version="1.72.0.3973" />
|
<PackageVersion Include="Google.Apis.PeopleService.v1" Version="1.72.0.3973" />
|
||||||
<PackageVersion Include="HtmlKit" Version="1.2.0" />
|
<PackageVersion Include="HtmlKit" Version="1.2.0" />
|
||||||
<PackageVersion Include="MailKit" Version="4.15.1" />
|
<PackageVersion Include="MailKit" Version="4.16.0" />
|
||||||
<PackageVersion Include="TimePeriodLibrary.NET" Version="2.1.6" />
|
<PackageVersion Include="TimePeriodLibrary.NET" Version="2.1.6" />
|
||||||
<PackageVersion Include="System.Reactive" Version="6.1.0" />
|
<PackageVersion Include="System.Reactive" Version="6.1.0" />
|
||||||
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.5" />
|
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.6" />
|
||||||
<PackageVersion Include="System.Text.Encodings.Web" Version="10.0.5" />
|
<PackageVersion Include="System.Text.Encodings.Web" Version="10.0.6" />
|
||||||
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.28000.1721" />
|
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.28000.1721" />
|
||||||
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="2.0.250930001-experimental1" />
|
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="2.0.250930001-experimental1" />
|
||||||
<PackageVersion Include="WinUIEx" Version="2.9.0" />
|
<PackageVersion Include="WinUIEx" Version="2.9.0" />
|
||||||
|
|||||||
@@ -159,10 +159,14 @@ public partial class MailListPageViewModel : MailBaseViewModel,
|
|||||||
[NotifyPropertyChangedFor(nameof(IsFolderSynchronizationEnabled))]
|
[NotifyPropertyChangedFor(nameof(IsFolderSynchronizationEnabled))]
|
||||||
[NotifyPropertyChangedFor(nameof(IsCategoryView))]
|
[NotifyPropertyChangedFor(nameof(IsCategoryView))]
|
||||||
[NotifyPropertyChangedFor(nameof(IsSyncButtonVisible))]
|
[NotifyPropertyChangedFor(nameof(IsSyncButtonVisible))]
|
||||||
|
[NotifyPropertyChangedFor(nameof(IsJunkFolder))]
|
||||||
|
[NotifyPropertyChangedFor(nameof(IsEmptyFolderButtonVisible))]
|
||||||
|
[NotifyCanExecuteChangedFor(nameof(EmptyFolderCommand))]
|
||||||
public partial IBaseFolderMenuItem ActiveFolder { get; set; }
|
public partial IBaseFolderMenuItem ActiveFolder { get; set; }
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
[NotifyPropertyChangedFor(nameof(CanSynchronize))]
|
[NotifyPropertyChangedFor(nameof(CanSynchronize))]
|
||||||
|
[NotifyCanExecuteChangedFor(nameof(EmptyFolderCommand))]
|
||||||
public partial bool IsAccountSynchronizerInSynchronization { get; set; }
|
public partial bool IsAccountSynchronizerInSynchronization { get; set; }
|
||||||
|
|
||||||
public MailListPageViewModel(IMailDialogService dialogService,
|
public MailListPageViewModel(IMailDialogService dialogService,
|
||||||
@@ -285,8 +289,10 @@ public partial class MailListPageViewModel : MailBaseViewModel,
|
|||||||
public bool CanSynchronize => !IsCategoryView && !IsAccountSynchronizerInSynchronization && IsFolderSynchronizationEnabled;
|
public bool CanSynchronize => !IsCategoryView && !IsAccountSynchronizerInSynchronization && IsFolderSynchronizationEnabled;
|
||||||
public bool IsFolderSynchronizationEnabled => ActiveFolder?.IsSynchronizationEnabled ?? false;
|
public bool IsFolderSynchronizationEnabled => ActiveFolder?.IsSynchronizationEnabled ?? false;
|
||||||
public bool IsArchiveSpecialFolder => ActiveFolder?.SpecialFolderType == SpecialFolderType.Archive;
|
public bool IsArchiveSpecialFolder => ActiveFolder?.SpecialFolderType == SpecialFolderType.Archive;
|
||||||
|
public bool IsJunkFolder => ActiveFolder?.SpecialFolderType == SpecialFolderType.Junk;
|
||||||
public bool IsCategoryView => ActiveFolder is IMailCategoryMenuItem or IMergedMailCategoryMenuItem;
|
public bool IsCategoryView => ActiveFolder is IMailCategoryMenuItem or IMergedMailCategoryMenuItem;
|
||||||
public bool IsSyncButtonVisible => !IsCategoryView;
|
public bool IsSyncButtonVisible => !IsCategoryView;
|
||||||
|
public bool IsEmptyFolderButtonVisible => IsJunkFolder;
|
||||||
|
|
||||||
public string SelectedMessageText => IsDragInProgress
|
public string SelectedMessageText => IsDragInProgress
|
||||||
? string.Format(Translator.MailsDragging, DraggingItemsCount)
|
? string.Format(Translator.MailsDragging, DraggingItemsCount)
|
||||||
@@ -566,6 +572,20 @@ public partial class MailListPageViewModel : MailBaseViewModel,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[RelayCommand(CanExecute = nameof(CanEmptyFolder))]
|
||||||
|
private async Task EmptyFolderAsync()
|
||||||
|
{
|
||||||
|
if (!IsJunkFolder || ActiveFolder == null) return;
|
||||||
|
|
||||||
|
foreach (var folder in ActiveFolder.HandlingFolders.OfType<MailItemFolder>())
|
||||||
|
{
|
||||||
|
var folderPrepRequest = new FolderOperationPreperationRequest(FolderOperation.Empty, folder);
|
||||||
|
await _winoRequestDelegator.ExecuteAsync(folderPrepRequest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool CanEmptyFolder() => IsJunkFolder && !IsAccountSynchronizerInSynchronization;
|
||||||
|
|
||||||
[RelayCommand(CanExecute = nameof(CanLoadMoreItems))]
|
[RelayCommand(CanExecute = nameof(CanLoadMoreItems))]
|
||||||
private async Task LoadMoreItemsAsync()
|
private async Task LoadMoreItemsAsync()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -246,6 +246,14 @@
|
|||||||
Grid.Row="1"
|
Grid.Row="1"
|
||||||
Grid.Column="2"
|
Grid.Column="2"
|
||||||
Orientation="Horizontal">
|
Orientation="Horizontal">
|
||||||
|
<Button
|
||||||
|
Background="Transparent"
|
||||||
|
BorderThickness="0"
|
||||||
|
Command="{x:Bind ViewModel.EmptyFolderCommand}"
|
||||||
|
ToolTipService.ToolTip="{x:Bind domain:Translator.FolderOperation_Empty}"
|
||||||
|
Visibility="{x:Bind ViewModel.IsEmptyFolderButtonVisible, Mode=OneWay}">
|
||||||
|
<coreControls:WinoFontIcon FontSize="18" Icon="EmptyFolder" />
|
||||||
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
Width="36"
|
Width="36"
|
||||||
Height="36"
|
Height="36"
|
||||||
|
|||||||
Reference in New Issue
Block a user