From 1a158dce32da92c4737cb5167e3aafc2702672f5 Mon Sep 17 00:00:00 2001 From: leiurayer <1432593898@qq.com> Date: Sat, 9 Dec 2023 23:24:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=AD=98=E5=9C=A8=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=AE=8C=E6=88=90=E5=88=97=E8=A1=A8=EF=BC=8C=E5=BC=B9?= =?UTF-8?q?=E5=87=BA=E9=80=89=E6=8B=A9=E6=A1=86=E6=98=AF=E5=90=A6=E5=86=8D?= =?UTF-8?q?=E6=AC=A1=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/DownKyi/Languages/Default.xaml | 3 ++- src/DownKyi/Services/AlertService.cs | 9 +++++-- .../Services/Download/AddToDownloadService.cs | 25 ++++++++++++++++--- .../ViewModels/ViewChannelViewModel.cs | 2 +- .../ViewMyBangumiFollowViewModel.cs | 2 +- .../ViewModels/ViewMyFavoritesViewModel.cs | 2 +- .../ViewModels/ViewMyHistoryViewModel.cs | 2 +- .../ViewModels/ViewMyToViewVideoViewModel.cs | 2 +- .../ViewPublicFavoritesViewModel.cs | 2 +- .../ViewModels/ViewPublicationViewModel.cs | 2 +- .../ViewModels/ViewSeasonsSeriesViewModel.cs | 2 +- .../ViewModels/ViewVideoDetailViewModel.cs | 2 +- 12 files changed, 39 insertions(+), 16 deletions(-) diff --git a/src/DownKyi/Languages/Default.xaml b/src/DownKyi/Languages/Default.xaml index 19cebae..566dfbb 100644 --- a/src/DownKyi/Languages/Default.xaml +++ b/src/DownKyi/Languages/Default.xaml @@ -144,7 +144,8 @@ 已经添加到下载列表~ 已经下载完成~ - 没有选中项符合下载要求! + 该视频已经下载完成,是否重新下载? + 没有添加任何视频~ 成功添加了 项~ diff --git a/src/DownKyi/Services/AlertService.cs b/src/DownKyi/Services/AlertService.cs index 910842d..72d0021 100644 --- a/src/DownKyi/Services/AlertService.cs +++ b/src/DownKyi/Services/AlertService.cs @@ -67,10 +67,15 @@ namespace DownKyi.Services { "message", message }, { "button_number", buttonNumber } }; - dialogService.ShowDialog(ViewAlertDialogViewModel.Tag, param, buttonResult => + + App.PropertyChangeAsync(() => { - result = buttonResult.Result; + dialogService.ShowDialog(ViewAlertDialogViewModel.Tag, param, buttonResult => + { + result = buttonResult.Result; + }); }); + return result; } diff --git a/src/DownKyi/Services/Download/AddToDownloadService.cs b/src/DownKyi/Services/Download/AddToDownloadService.cs index 11f7ba8..8133af9 100644 --- a/src/DownKyi/Services/Download/AddToDownloadService.cs +++ b/src/DownKyi/Services/Download/AddToDownloadService.cs @@ -221,7 +221,7 @@ namespace DownKyi.Services.Download /// 下载路径 /// 是否下载所有,包括未选中项 /// 添加的数量 - public int AddToDownload(IEventAggregator eventAggregator, string directory, bool isAll = false) + public int AddToDownload(IEventAggregator eventAggregator, IDialogService dialogService, string directory, bool isAll = false) { if (directory == null || directory == string.Empty) { return -1; } if (videoSections == null) { return -1; } @@ -269,7 +269,7 @@ namespace DownKyi.Services.Download } if (isDownloading) { continue; } - // TODO 如果存在下载完成列表,弹出选择框是否再次下载 + // 如果存在下载完成列表,弹出选择框是否再次下载 bool isDownloaded = false; foreach (DownloadedItem item in App.DownloadedList) { @@ -277,8 +277,25 @@ namespace DownKyi.Services.Download if (item.DownloadBase.Cid == page.Cid && item.Resolution.Id == page.VideoQuality.Quality && item.AudioCodec.Name == page.AudioQualityFormat && item.VideoCodecName == page.VideoQuality.SelectedVideoCodec) { - eventAggregator.GetEvent().Publish($"{page.Name}{DictionaryResource.GetString("TipAlreadyToAddDownloaded")}"); - isDownloaded = true; + //eventAggregator.GetEvent().Publish($"{page.Name}{DictionaryResource.GetString("TipAlreadyToAddDownloaded")}"); + //isDownloaded = true; + + AlertService alertService = new AlertService(dialogService); + ButtonResult result = alertService.ShowInfo(DictionaryResource.GetString("TipAlreadyToAddDownloaded2")); + if (result == ButtonResult.OK) + { + App.PropertyChangeAsync(() => + { + App.DownloadedList.Remove(item); + }); + + isDownloaded = false; + } + else + { + isDownloaded = true; + } + break; } } diff --git a/src/DownKyi/ViewModels/ViewChannelViewModel.cs b/src/DownKyi/ViewModels/ViewChannelViewModel.cs index ff98f53..05ead10 100644 --- a/src/DownKyi/ViewModels/ViewChannelViewModel.cs +++ b/src/DownKyi/ViewModels/ViewChannelViewModel.cs @@ -295,7 +295,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(videoInfoService); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewMyBangumiFollowViewModel.cs b/src/DownKyi/ViewModels/ViewMyBangumiFollowViewModel.cs index 2f47d48..80bd30f 100644 --- a/src/DownKyi/ViewModels/ViewMyBangumiFollowViewModel.cs +++ b/src/DownKyi/ViewModels/ViewMyBangumiFollowViewModel.cs @@ -348,7 +348,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(service); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewMyFavoritesViewModel.cs b/src/DownKyi/ViewModels/ViewMyFavoritesViewModel.cs index b4799bb..714b69d 100644 --- a/src/DownKyi/ViewModels/ViewMyFavoritesViewModel.cs +++ b/src/DownKyi/ViewModels/ViewMyFavoritesViewModel.cs @@ -378,7 +378,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(videoInfoService); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewMyHistoryViewModel.cs b/src/DownKyi/ViewModels/ViewMyHistoryViewModel.cs index cbb8f7b..a5b6892 100644 --- a/src/DownKyi/ViewModels/ViewMyHistoryViewModel.cs +++ b/src/DownKyi/ViewModels/ViewMyHistoryViewModel.cs @@ -291,7 +291,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(service); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewMyToViewVideoViewModel.cs b/src/DownKyi/ViewModels/ViewMyToViewVideoViewModel.cs index 34d3f54..6b2e1d9 100644 --- a/src/DownKyi/ViewModels/ViewMyToViewVideoViewModel.cs +++ b/src/DownKyi/ViewModels/ViewMyToViewVideoViewModel.cs @@ -277,7 +277,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(videoInfoService); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewPublicFavoritesViewModel.cs b/src/DownKyi/ViewModels/ViewPublicFavoritesViewModel.cs index 98e9e29..e45c945 100644 --- a/src/DownKyi/ViewModels/ViewPublicFavoritesViewModel.cs +++ b/src/DownKyi/ViewModels/ViewPublicFavoritesViewModel.cs @@ -298,7 +298,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(videoInfoService); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewPublicationViewModel.cs b/src/DownKyi/ViewModels/ViewPublicationViewModel.cs index 19b5c96..9067cdc 100644 --- a/src/DownKyi/ViewModels/ViewPublicationViewModel.cs +++ b/src/DownKyi/ViewModels/ViewPublicationViewModel.cs @@ -332,7 +332,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(videoInfoService); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewSeasonsSeriesViewModel.cs b/src/DownKyi/ViewModels/ViewSeasonsSeriesViewModel.cs index c559f3a..d5e6dbe 100644 --- a/src/DownKyi/ViewModels/ViewSeasonsSeriesViewModel.cs +++ b/src/DownKyi/ViewModels/ViewSeasonsSeriesViewModel.cs @@ -296,7 +296,7 @@ namespace DownKyi.ViewModels addToDownloadService.GetVideo(); addToDownloadService.ParseVideo(videoInfoService); // 下载 - i += addToDownloadService.AddToDownload(eventAggregator, directory); + i += addToDownloadService.AddToDownload(eventAggregator, dialogService, directory); } }); diff --git a/src/DownKyi/ViewModels/ViewVideoDetailViewModel.cs b/src/DownKyi/ViewModels/ViewVideoDetailViewModel.cs index 7335cc3..a514521 100644 --- a/src/DownKyi/ViewModels/ViewVideoDetailViewModel.cs +++ b/src/DownKyi/ViewModels/ViewVideoDetailViewModel.cs @@ -773,7 +773,7 @@ namespace DownKyi.ViewModels // 传递video对象 addToDownloadService.GetVideo(VideoInfoView, VideoSections.ToList()); // 下载 - i = addToDownloadService.AddToDownload(eventAggregator, directory, isAll); + i = addToDownloadService.AddToDownload(eventAggregator, dialogService, directory, isAll); }); if (directory == null)