diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 58c6d46b..6bec3145 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -1361,6 +1361,9 @@ 是否永久删除用户数据 + + 查看更新日志 + 立即前往 @@ -2889,7 +2892,7 @@ 上传数据 - 是否立即下载 + 是否立即下载? 下载更新失败 diff --git a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj index 32071b4a..6c56b421 100644 --- a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj +++ b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj @@ -181,6 +181,7 @@ + @@ -349,6 +350,11 @@ + + + MSBuild:Compile + + MSBuild:Compile diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml b/src/Snap.Hutao/Snap.Hutao/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml new file mode 100644 index 00000000..fdd9efd0 --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs new file mode 100644 index 00000000..a565f816 --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs @@ -0,0 +1,14 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Microsoft.UI.Xaml.Controls; + +namespace Snap.Hutao.View.Dialog; + +internal sealed partial class UpdatePackageDownloadConfirmDialog : ContentDialog +{ + public UpdatePackageDownloadConfirmDialog() + { + InitializeComponent(); + } +} diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs index d3de17c5..16c236d7 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs @@ -10,6 +10,7 @@ using Snap.Hutao.Factory.Progress; using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.Update; +using Snap.Hutao.View.Dialog; using System.Diagnostics; using System.Globalization; using System.Text; @@ -69,14 +70,15 @@ internal sealed partial class TitleViewModel : Abstraction.ViewModel if (checkUpdateResult.Kind is CheckUpdateResultKind.NeedDownload) { - ContentDialogResult downloadUpdateUserConsentResult = await contentDialogFactory - .CreateForConfirmCancelAsync( - SH.FormatViewTitileUpdatePackageDownloadTitle(UpdateStatus?.Version), - SH.ViewTitileUpdatePackageDownloadContent, - ContentDialogButton.Primary) + UpdatePackageDownloadConfirmDialog dialog = await contentDialogFactory + .CreateInstanceAsync() .ConfigureAwait(false); - if (downloadUpdateUserConsentResult is ContentDialogResult.Primary) + await taskContext.SwitchToMainThreadAsync(); + + dialog.Title = SH.FormatViewTitileUpdatePackageDownloadTitle(UpdateStatus?.Version); + + if (await dialog.ShowAsync() is ContentDialogResult.Primary) { // This method will set CheckUpdateResult.Kind to NeedInstall if download success if (!await DownloadPackageAsync(progress, checkUpdateResult).ConfigureAwait(false))