Prechádzať zdrojové kódy

综合-页面编辑删除操作undo修复偶发的不响应问题

tangchao 1 rok pred
rodič
commit
9125293b48

BIN
PDF Office/PDF Office.xcodeproj/project.xcworkspace/xcuserdata/kdanmobile.xcuserdatad/UserInterfaceState.xcuserstate


+ 13 - 28
PDF Office/PDF Office/Class/PDFTools/PageEdit/Controller/KMPDFEditViewController.swift

@@ -224,7 +224,7 @@ class KMPDFEditViewController: NSViewController {
                 let page = self.thumbnailView.document.page(at: UInt(i))
                 self.copysPages.append(page ?? CPDFPage())
             }
-            self.deletePagesForDescSort(indexs)
+            self.deletePages(indexs: indexs)
         }
     }
     
@@ -288,27 +288,6 @@ class KMPDFEditViewController: NSViewController {
         }
     }
     
-    private func deletePagesForDescSort(_ indexs: IndexSet) {
-        if (indexs.count <= 0) {
-            return
-        }
-        if (indexs.count == (self.listView?.document.pageCount)!) {
-            let _ = CustomAlertView(message: NSLocalizedString("无法删除所有页面", comment: ""), from: self.thumbnailView, with: .blue)
-            return
-        }
-        /// 数据降序排序
-        let indexArray = indexs.sorted { index1, index2 in
-            return index1 > index2
-        }
-        
-        var newIndexs: IndexSet = []
-        for index in indexArray {
-            newIndexs.insert(index)
-        }
-        
-        self.deletePages(indexs: newIndexs)
-    }
-    
     @objc private func insertPagesForDescSort(pages: Array<CPDFPage>, indexs: IndexSet) {
 //        var newPages = pages
         
@@ -418,9 +397,15 @@ class KMPDFEditViewController: NSViewController {
         self.refreshUI()
     }
     
-    /// MARK: indexs 需要降序排序后
     @objc private func deletePages(indexs: IndexSet) {
-        let newIndexs = indexs.sorted()
+        if (indexs.count <= 0) {
+            return
+        }
+        if (indexs.count == (self.listView?.document.pageCount)!) {
+            let _ = CustomAlertView(message: NSLocalizedString("无法删除所有页面", comment: ""), from: self.thumbnailView, with: .blue)
+            return
+        }
+        
         var array: Array<CPDFPage> = []
         for i in indexs {
             array.append((self.listView?.document.page(at: UInt(i)))!)
@@ -694,7 +679,7 @@ class KMPDFEditViewController: NSViewController {
             indexs.insert(indexPath.item)
         }
 
-        self.deletePagesForDescSort(indexs)
+        self.deletePages(indexs: indexs)
     }
     
     @IBAction func undo(_ sender: Any) {
@@ -792,7 +777,7 @@ class KMPDFEditViewController: NSViewController {
                         let indexPage: Int = Int((self?.listView?.document.index(for: page))!)
                         indexs.insert(indexPage)
                     }
-                    self?.deletePagesForDescSort(indexs)
+                    self?.deletePages(indexs: indexs)
                 }
             }
         }
@@ -934,7 +919,7 @@ class KMPDFEditViewController: NSViewController {
             indexs.insert(indexPath.item)
         }
         
-        self.deletePagesForDescSort(indexs)
+        self.deletePages(indexs: indexs)
     }
 }
 
@@ -1121,7 +1106,7 @@ extension KMPDFEditViewController: KMNewToolbarDelegate {
     @objc func deletePageItemAction(menu:NSMenuItem) {
         let indexs = menu.representedObject as! IndexSet
         if indexs.count > 0 {
-            self.deletePagesForDescSort(indexs)
+            self.deletePages(indexs: indexs)
         }
     }