瀏覽代碼

【BOTA】大纲列表,添加第一个大纲,右键添加下级大纲,应该是新增大纲是输入的状态 修复

lizhe 1 年之前
父節點
當前提交
71155ce1cd

+ 8 - 5
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Outline/KMOutlineViewController.swift

@@ -808,7 +808,10 @@ extension KMOutlineViewController {
         NSApp.mainWindow?.makeFirstResponder(self.BOTAOutlineView)
         let tempOutlineView = self.BOTAOutlineView!
         
-        for outlineItem in outlineItems {
+        var tempOutlineItems: [KMBOTAOutlineItem] = outlineItems
+        tempOutlineItems.sort(){$0.toIndex > $1.toIndex}
+        
+        for outlineItem in tempOutlineItems {
             outlineItem.outline.removeFromParent()
             let index = outlineItem.parent?.children.firstIndex(of: outlineItem)
             outlineItem.toIndex = index!
@@ -816,7 +819,7 @@ extension KMOutlineViewController {
         }
         
         //展开
-        for outlineItem in outlineItems {
+        for outlineItem in tempOutlineItems {
             outlineItem.parent?.isItemExpanded = true
             tempOutlineView.outlineView.expandItem(outlineItem.parent)
         }
@@ -828,7 +831,7 @@ extension KMOutlineViewController {
         //刷新nil数据
         self.updateExtempViewState()
         self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.addOutline(outlineItems: outlineItems)
+            self.addOutline(outlineItems: tempOutlineItems)
         }
     }
     
@@ -860,7 +863,7 @@ extension KMOutlineViewController {
         }
         
         //展开
-        DispatchQueue.main.async {
+//        DispatchQueue.main.async {
             for outlineItem in tempOutlineItems {
                 var tempParent = outlineItem
                 while tempParent.parent != nil {
@@ -870,7 +873,7 @@ extension KMOutlineViewController {
                 }
                 tempOutlineView.outlineView.expandItem(tempParent.parent)
             }
-        }
+//        }
         
         self.updateExtempViewState()
         self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in