Browse Source

【综合】BOTA大纲编辑菜单问题修复

tangchao 1 year ago
parent
commit
743c8a2b51

+ 2 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Outline.swift

@@ -103,7 +103,8 @@ extension KMLeftSideViewController {
             let idx = Int(numberString) ?? 1
             let newPage = editVC.pdfView?.document.page(at: UInt(idx-1))
             let originalPage = editVC.originalDestination?.page()
-            if let data = newPage?.isEqual(to: originalPage), data {
+            if let data = newPage?.pageIndex(), data != editVC.originalPageIndex {
+//            if let data = newPage?.isEqual(to: originalPage), data {
                 //新page不存在
                 if (newPage == nil) {
 

+ 17 - 6
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Outline/KMOutlineEditViewController.swift

@@ -22,6 +22,7 @@ class KMOutlineEditViewController: NSViewController {
     weak var pdfView : CPDFListView?
     var originalURLString : String = ""
     weak var originalDestination : CPDFDestination?
+    var originalPageIndex = -1
     var originalLabel : String = ""
     var currentPageIndex : Int = 0
     
@@ -36,6 +37,14 @@ class KMOutlineEditViewController: NSViewController {
         super.loadView()
         
         self.localizedLanguage()
+        
+        self.setONButton(button: self.pageButton)
+        self.enableTextField(textField: self.outlineTargetPageIndexTextField)
+        
+        self.setDelegateAndFormatter()
+        if let action = self.outline?.action {
+            self.adjustUIWithAction(action: action)
+        }
     }
     
     //MARK: - Private Methods
@@ -83,6 +92,7 @@ class KMOutlineEditViewController: NSViewController {
                 self.enableTextField(textField: self.outlineTargetPageIndexTextField)
                 self.currentPageIndex = Int(doc.index(for: doc.page(at: UInt(outL.destination.pageIndex))))
                 self.originalDestination = outL.destination
+                self.originalPageIndex = self.originalDestination?.pageIndex ?? -1
             }
             self.originalLabel = outL.label
             self.totalPageCountLabel.stringValue = " /\(doc.pageCount)"
@@ -105,6 +115,7 @@ class KMOutlineEditViewController: NSViewController {
         self.pageButton.state = NSControl.StateValue.off
         self.urlButton.state = NSControl.StateValue.off
         self.mailButton.state = NSControl.StateValue.off
+        
         button.state = NSControl.StateValue.on
     }
     
@@ -116,13 +127,13 @@ class KMOutlineEditViewController: NSViewController {
         self.mailAddressTextField.isEditable = false
         self.mailAddressTextField.isSelectable = false
         
-        self.outlineTargetPageIndexTextField.textColor = NSColor.red
-        self.outlineURLTextField.textColor = NSColor.red
-        self.mailAddressTextField.textColor = NSColor.red
+        self.outlineTargetPageIndexTextField.textColor = KMAppearance.Layout.h0Color()
+        self.outlineURLTextField.textColor = KMAppearance.Layout.h0Color()
+        self.mailAddressTextField.textColor = KMAppearance.Layout.h0Color()
         
-        textField.isEditable = false
-        textField.isSelectable = false
-        textField.textColor = NSColor.black
+        textField.isEditable = true
+        textField.isSelectable = true
+        textField.textColor = KMAppearance.Layout.h0Color()
     }
     
     //MARK: Button Action