From 43511b0a494d041a61415c8d44c9443b6855d281 Mon Sep 17 00:00:00 2001 From: youzi-2333 Date: Mon, 22 Jul 2024 08:57:49 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E7=A9=BA=E6=96=87=E4=BB=B6=E5=A4=B9?= =?UTF-8?q?=E6=80=BB=E6=98=AF=E5=88=A4=E5=AE=9A=E4=B8=BA=E8=A2=AB=E9=80=89?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/PageVersion/PageVersionExport.xaml | 2 +- .../PageVersion/PageVersionExport.xaml.vb | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml index f0786e2..1192bb3 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml @@ -100,7 +100,7 @@ - diff --git a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb index 708a09b..264725b 100644 --- a/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb @@ -94,7 +94,6 @@ Else listItem.Title = f End If - listItem.Info = (NewPath & f).Replace(GetPathFromFullPath(PageVersionLeft.Version.Path), "") listItem.Type = MyListItem.CheckType.CheckBox listItem.Height = 35 listItem.Tag = f @@ -143,12 +142,14 @@ Next End If End Sub - Private Function IsSelected(TargetPath As String) As Boolean + Private Function IsSelected(TargetPath As String, Optional AllowEmpty As Boolean = False) As Boolean If File.Exists(TargetPath) Then Return Selected.Contains(TargetPath) End If If Directory.Exists(TargetPath) Then - Return Directory.EnumerateDirectories(TargetPath).All(Function(s) IsSelected(s)) AndAlso + Dim di As New DirectoryInfo(TargetPath) + If (Not AllowEmpty) AndAlso di.GetDirectories.Length + di.GetFiles.Length = 0 Then Return False + Return Directory.EnumerateDirectories(TargetPath).All(Function(s) IsSelected(s, True)) AndAlso Directory.EnumerateFiles(TargetPath).All(Function(s) Selected.Contains(s)) End If Return False @@ -178,21 +179,20 @@ If String.IsNullOrEmpty(c.Tag) Then Continue For For Each l In PanFileList.Children If TypeOf l Is MyListItem Then - If l.Tag.Replace("\", "") = c.Tag Then l.Checked = c.Checked + If l.Tag.Replace("\", "") = c.Tag Then + l.Checked = c.Checked + SelectedChange(c.Checked, PageVersionLeft.Version.Path & c.Tag) + End If End If Next Next End Sub '高级选项与复选框同步 Private Sub PanFileList_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles PanFileList.MouseLeftButtonUp - For Each l In PanFileList.Children - If TypeOf l IsNot MyListItem Then Continue For - If String.IsNullOrEmpty(l.Tag) Then Continue For - For Each c In PanCommonFiles.Children - If TypeOf c Is MyCheckBox Then - If c.Tag = l.Tag.Replace("\", "") Then c.Checked = l.Checked - End If - Next + For Each c In PanCommonFiles.Children + If TypeOf c Is MyCheckBox Then + c.Checked = IsSelected(PageVersionLeft.Version.Path & c.Tag) + End If Next End Sub #End Region