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="Microsoft.CodeAnalysis.Analyzers" 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.Abstractions" Version="10.0.5" />
|
||||
<PackageVersion Include="Microsoft.Graph" Version="5.103.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.6" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.6" />
|
||||
<PackageVersion Include="Microsoft.Graph" Version="5.104.0" />
|
||||
<PackageVersion Include="Microsoft.Graphics.Win2D" Version="1.4.0" />
|
||||
<PackageVersion Include="Microsoft.Identity.Client" 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.Xaml.Behaviors.WinUI.Managed" Version="3.0.1" />
|
||||
<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="Nito.AsyncEx" Version="5.1.2" />
|
||||
<PackageVersion Include="Nito.AsyncEx.Tasks" Version="5.1.2" />
|
||||
<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.Exceptions" Version="8.4.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.Private.Uri" Version="4.3.2" />
|
||||
<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.WinUI" Version="2.4.1" />
|
||||
<PackageVersion Include="CommunityToolkit.WinUI.Notifications" Version="7.1.2" />
|
||||
<PackageVersion Include="Google.Apis.Auth" Version="1.73.0" />
|
||||
<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.PeopleService.v1" Version="1.72.0.3973" />
|
||||
<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="System.Reactive" Version="6.1.0" />
|
||||
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.5" />
|
||||
<PackageVersion Include="System.Text.Encodings.Web" Version="10.0.5" />
|
||||
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.6" />
|
||||
<PackageVersion Include="System.Text.Encodings.Web" Version="10.0.6" />
|
||||
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.28000.1721" />
|
||||
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="2.0.250930001-experimental1" />
|
||||
<PackageVersion Include="WinUIEx" Version="2.9.0" />
|
||||
|
||||
@@ -159,10 +159,14 @@ public partial class MailListPageViewModel : MailBaseViewModel,
|
||||
[NotifyPropertyChangedFor(nameof(IsFolderSynchronizationEnabled))]
|
||||
[NotifyPropertyChangedFor(nameof(IsCategoryView))]
|
||||
[NotifyPropertyChangedFor(nameof(IsSyncButtonVisible))]
|
||||
[NotifyPropertyChangedFor(nameof(IsJunkFolder))]
|
||||
[NotifyPropertyChangedFor(nameof(IsEmptyFolderButtonVisible))]
|
||||
[NotifyCanExecuteChangedFor(nameof(EmptyFolderCommand))]
|
||||
public partial IBaseFolderMenuItem ActiveFolder { get; set; }
|
||||
|
||||
[ObservableProperty]
|
||||
[NotifyPropertyChangedFor(nameof(CanSynchronize))]
|
||||
[NotifyCanExecuteChangedFor(nameof(EmptyFolderCommand))]
|
||||
public partial bool IsAccountSynchronizerInSynchronization { get; set; }
|
||||
|
||||
public MailListPageViewModel(IMailDialogService dialogService,
|
||||
@@ -285,8 +289,10 @@ public partial class MailListPageViewModel : MailBaseViewModel,
|
||||
public bool CanSynchronize => !IsCategoryView && !IsAccountSynchronizerInSynchronization && IsFolderSynchronizationEnabled;
|
||||
public bool IsFolderSynchronizationEnabled => ActiveFolder?.IsSynchronizationEnabled ?? false;
|
||||
public bool IsArchiveSpecialFolder => ActiveFolder?.SpecialFolderType == SpecialFolderType.Archive;
|
||||
public bool IsJunkFolder => ActiveFolder?.SpecialFolderType == SpecialFolderType.Junk;
|
||||
public bool IsCategoryView => ActiveFolder is IMailCategoryMenuItem or IMergedMailCategoryMenuItem;
|
||||
public bool IsSyncButtonVisible => !IsCategoryView;
|
||||
public bool IsEmptyFolderButtonVisible => IsJunkFolder;
|
||||
|
||||
public string SelectedMessageText => IsDragInProgress
|
||||
? 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))]
|
||||
private async Task LoadMoreItemsAsync()
|
||||
{
|
||||
|
||||
@@ -246,6 +246,14 @@
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
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
|
||||
Width="36"
|
||||
Height="36"
|
||||
|
||||
Reference in New Issue
Block a user