Преглед изворни кода

文件列表 - 删除文件逻辑

chenrongqian пре 2 година
родитељ
комит
3628e12471
1 измењених фајлова са 55 додато и 1 уклоњено
  1. 55 1
      PDF Office/Views/HomePanel/RecentFiles/RecentFilesView.xaml.cs

+ 55 - 1
PDF Office/Views/HomePanel/RecentFiles/RecentFilesView.xaml.cs

@@ -135,7 +135,33 @@ namespace PDF_Office.Views.HomePanel.RecentFiles
 
         private void btnDelete_Click(object sender, RoutedEventArgs e)
         {
-           
+            string msg = "";
+            int SelectedItemsType = 0;
+            if (RecentFilesList.SelectedItems.Count == RecentFilesList.Items.Count || RecentFilesList.SelectedItems.Count == 0)
+            {
+                if (RecentFilesList.SelectedItems.Count == 1 && RecentFilesList.Items.Count == 1)
+                    msg = "ClearFile";
+                else
+                    msg = "AllClearFiles";
+
+                SelectedItemsType = 0;
+            }
+            else if (RecentFilesList.SelectedItems.Count == 1)
+            {
+                msg = "ClearFile";
+                SelectedItemsType = 1;
+            }
+            else
+            {
+                msg = "ClearSelectedFiles";
+                SelectedItemsType = 2;
+            }
+
+            winform.DialogResult result = MessageBoxEx.Show(msg, "", winform.MessageBoxButtons.OKCancel, winform.MessageBoxIcon.Question);
+            if (result == winform.DialogResult.OK)
+            {
+                RemoveRecentFilesFrom(SelectedItemsType);
+            }
         }
 
         private void RecentFilesList_SelectionChanged(object sender, SelectionChangedEventArgs e)
@@ -180,7 +206,35 @@ namespace PDF_Office.Views.HomePanel.RecentFiles
         /// <param name="selectedItemsType">0:全部文件;1:一个文件;2:多个文件</param>
         private void RemoveRecentFilesFrom(int selectedItemsType)
         {
+            if (selectedItemsType == 0)
+            {
+                SettingHelper.RemoveAllRecentOpenFiles();
+                RecentFilesGroup.Clear();
+            }
+            else if (selectedItemsType == 1)
+            {
+                var file = RecentFilesList.SelectedItems[0] as OpenFileInfo;
+                SettingHelper.RemoveRecentOpenFile(file.FilePath);
+                RecentFilesGroup.Remove(file);
+            }
+            else
+            {
+                List<OpenFileInfo> OpenFileInfos = new List<OpenFileInfo>();
+                foreach (var item in RecentFilesList.SelectedItems)
+                {
+                    var openFileInfo = item as OpenFileInfo;
+                    OpenFileInfos.Add(openFileInfo);
+                }
+
+                foreach (var item in OpenFileInfos)
+                {
+                    SettingHelper.RemoveRecentOpenFile(item.FilePath);
+                    RecentFilesGroup.Remove(item);
+                }
+                OpenFileInfos.Clear();
+            }
 
+            ShowListViewContentUI();
         }
 
         private void DeleteMenuItem_Click(object sender, RoutedEventArgs e)