Browse Source

【综合】BOTA代码整理,多余文件移除

niehaoyu 7 months ago
parent
commit
824f004947
38 changed files with 239 additions and 4953 deletions
  1. 14 14
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/Controller/KMNoteOutlineFilterViewController.xib
  2. 3 3
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMScreenViewController/ScreenCollectionView/KMAnnotationScreenCollectionView.xib
  3. 7 7
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/View/KMNoteTypeCollectionViewItem.xib
  4. 0 582
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/KMBookMarkViewController.swift
  5. 0 258
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/KMBookMarkViewController.xib
  6. 0 22
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMBookCellView.swift
  7. 0 36
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMBookMarkRowView.swift
  8. 0 103
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMBookMarkTableRowView.swift
  9. 0 21
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMCellEmptyView.h
  10. 0 61
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMCellEmptyView.m
  11. 0 19
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFormCellView.swift
  12. 0 41
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFormModel.swift
  13. 0 235
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFromViewController.swift
  14. 0 154
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFromViewController.xib
  15. 0 48
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMBotaEnum.swift
  16. 41 41
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideEmptyFileViewController.xib
  17. 1 2
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift
  18. 99 99
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/LeftSideView.xib
  19. 0 12
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Model/KMBotaModel.swift
  20. 0 645
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/KMSearchViewController.swift
  21. 0 300
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/KMSearchViewController.xib
  22. 0 85
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/View/KMSearchCellView.swift
  23. 0 62
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/View/KMSearchCellView.xib
  24. 0 113
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/View/KMSearchTableRowView.swift
  25. 0 20
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Signature/KMSignatureCellView.swift
  26. 0 335
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Signature/KMSignatureViewController.swift
  27. 0 203
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Signature/KMSignatureViewController.xib
  28. 0 1069
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/KMThumbnailViewController.swift
  29. 0 100
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/KMThumbnailViewController.xib
  30. 9 0
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/Manager/KMThumbnailManager.swift
  31. 0 14
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/model/KMPDFThumbnailModel.swift
  32. 42 0
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Tools/KMBotaTools.swift
  33. 0 5
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift
  34. 0 1
      PDF Office/PDF Master/PDF_Reader_Pro DMG-Bridging-Header.h
  35. 0 1
      PDF Office/PDF Master/PDF_Reader_Pro Edition-Bridging-Header.h
  36. 0 1
      PDF Office/PDF Master/PDF_Reader_Pro-Bridging-Header.h
  37. 6 240
      PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj
  38. 17 1
      PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

+ 14 - 14
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/Controller/KMNoteOutlineFilterViewController.xib

@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMNoteOutlineFilterViewController" customModule="PDF_Master" customModuleProvider="target">
+        <customObject id="-2" userLabel="File's Owner" customClass="KMNoteOutlineFilterViewController" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
                 <outlet property="OKButton" destination="Q36-TR-heS" id="IIb-by-xE2"/>
                 <outlet property="applyWidthConst" destination="DNw-rt-8Kg" id="CkL-dg-WE9"/>
@@ -48,28 +48,28 @@
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NFm-Ab-DKE">
                     <rect key="frame" x="150" y="14" width="45" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="45" id="beN-sL-nSt"/>
-                        <constraint firstAttribute="height" constant="24" id="tbI-9N-Fmb"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="j9x-X9-0Kg">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="45" id="beN-sL-nSt"/>
+                        <constraint firstAttribute="height" constant="24" id="tbI-9N-Fmb"/>
+                    </constraints>
                     <connections>
                         <action selector="cancelButtonAction:" target="-2" id="EgW-Ej-T2W"/>
                     </connections>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Q36-TR-heS">
                     <rect key="frame" x="203" y="14" width="45" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="45" id="DNw-rt-8Kg"/>
-                        <constraint firstAttribute="height" constant="24" id="irV-Yr-j2H"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="Q9N-tH-yc5">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="45" id="DNw-rt-8Kg"/>
+                        <constraint firstAttribute="height" constant="24" id="irV-Yr-j2H"/>
+                    </constraints>
                     <connections>
                         <action selector="applyButtonAction:" target="-2" id="hOp-ac-jiQ"/>
                     </connections>
@@ -89,7 +89,7 @@
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="If1-Rk-rcV">
                                 <rect key="frame" x="0.0" y="0.0" width="260" height="222"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bHN-tD-pde">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bHN-tD-pde">
                                         <rect key="frame" x="15" y="185" width="37" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="H5h-xx-NyZ"/>
@@ -138,7 +138,7 @@
                                             <constraint firstItem="gB3-Og-rpG" firstAttribute="top" secondItem="wsX-g6-qi9" secondAttribute="top" id="aah-pm-3R1"/>
                                         </constraints>
                                     </customView>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Y44-QV-S6X">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Y44-QV-S6X">
                                         <rect key="frame" x="15" y="120" width="37" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="fqX-Uc-Ciu"/>
@@ -187,7 +187,7 @@
                                             <constraint firstItem="2u2-7t-GV3" firstAttribute="top" secondItem="XGE-Xo-80k" secondAttribute="top" id="ufB-Qz-h6f"/>
                                         </constraints>
                                     </customView>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VN7-0X-D4D">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VN7-0X-D4D">
                                         <rect key="frame" x="15" y="44" width="37" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="q8z-hd-Ook"/>

+ 3 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/KMScreenViewController/ScreenCollectionView/KMAnnotationScreenCollectionView.xib

@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMAnnotationScreenCollectionView" customModule="PDF_Master" customModuleProvider="target">
+        <customObject id="-2" userLabel="File's Owner" customClass="KMAnnotationScreenCollectionView" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
                 <outlet property="cancelView" destination="tPD-b0-jH3" id="ujS-qF-bsc"/>
                 <outlet property="clearView" destination="MX4-s9-Em5" id="Bco-Jc-Ntq"/>

+ 7 - 7
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/View/KMNoteTypeCollectionViewItem.xib

@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMNoteTypeCollectionViewItem" customModule="PDF_Master" customModuleProvider="target">
+        <customObject id="-2" userLabel="File's Owner" customClass="KMNoteTypeCollectionViewItem" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
                 <outlet property="typeBox" destination="9Zv-DG-JkM" id="zdd-81-4fo"/>
                 <outlet property="typeButton" destination="LJT-ZM-9K7" id="hfd-TU-ltY"/>
@@ -27,14 +27,14 @@
                         <subviews>
                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LJT-ZM-9K7">
                                 <rect key="frame" x="6" y="6" width="20" height="20"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="20" id="H4T-C6-eUC"/>
-                                    <constraint firstAttribute="width" constant="20" id="okg-dH-t5o"/>
-                                </constraints>
                                 <buttonCell key="cell" type="bevel" bezelStyle="rounded" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="6Yy-W5-bdf">
                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                     <font key="font" metaFont="system"/>
                                 </buttonCell>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="20" id="H4T-C6-eUC"/>
+                                    <constraint firstAttribute="width" constant="20" id="okg-dH-t5o"/>
+                                </constraints>
                                 <connections>
                                     <action selector="typeButtonAction:" target="-2" id="6Ts-Oh-sKq"/>
                                 </connections>

+ 0 - 582
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/KMBookMarkViewController.swift

@@ -1,582 +0,0 @@
-//
-//  KMBookMarkViewController.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/10/10.
-//
-
-import Cocoa
-import PDFKit
-
-typealias KMBookMarkViewControllerBookMarkDidChange = (_ controller: KMBookMarkViewController, _ bookMarks: [KMBookMarkItem]) -> Void
-class KMBookMarkViewController: NSViewController, NSTextFieldDelegate {
-
-    @IBOutlet weak var addBookButton: NSButton!
-    @IBOutlet weak var titleTextField: NSTextField!
-    
-    @IBOutlet var topSeplineView: NSView!
-    
-    @IBOutlet weak var bookTableView: NSTableView!
-    @IBOutlet weak var emptyView: NSView!
-    @IBOutlet weak var bigTipLabel: NSTextField!
-    @IBOutlet weak var tipLabel: NSTextField!
-    
-    var dataSource: [KMBookMarkItem]!
-    var renameTextField: NSTextField!
-    var renamePDFBook: KMBookMarkItem!
-    var renameCellView: KMBookCellView!
-    var listView: CPDFListView!
-    let pdfView = PDFView.init()
-    
-    var isLocalEvent: Bool = false //区分外部点击还是内部点击
-    
-    var selectItems: [KMBookMarkItem] = []
-    
-    var bookMarkDidChange: KMBookMarkViewControllerBookMarkDidChange?
-    
-    func dealloc() {
-        NotificationCenter.default.removeObserver(self)
-    }
-    
-    deinit {
-        NotificationCenter.default.removeObserver(self)
-    }
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-        self.view.wantsLayer = true
-        self.view.layer?.backgroundColor = NSColor(red: 247.0/255.0, green: 248.0/255.0, blue: 250.0/255.0, alpha: 1).cgColor
-        
-        self.topSeplineView.wantsLayer = true
-        self.topSeplineView.layer?.backgroundColor = NSColor.black.withAlphaComponent(0.1).cgColor
-        
-        self.bookTableView.backgroundColor = NSColor.km_init(hex: "#F7F8FA")
-        if #available(macOS 11, *) {
-            self.bookTableView.style = NSTableView.Style.plain
-        }
-        self.bookTableView.allowsMultipleSelection = true
-        self.bookTableView.doubleAction = #selector(renameBookAction)
-//        self.bookTableView.selectionHighlightStyle = NSTableView.SelectionHighlightStyle.none;
-        
-        
-        self.refreshUI()
-        self.reloadData()
-        
-        self.initNotification()
-    }
-    
-    func refreshUI() {
-        self.titleTextField.font = NSFont.SFProTextSemiboldFont(14.0)
-        self.titleTextField.textColor = NSColor.km_init(hex: "#252629")
-        self.titleTextField.stringValue = NSLocalizedString("Bookmarks", comment: "")
-        self.addBookButton.toolTip = NSLocalizedString("Add Bookmark", comment: "")
-        
-        
-        self.bigTipLabel.font = NSFont.SFProTextRegularFont(14.0)
-        self.bigTipLabel.textColor = NSColor.km_init(hex: "#616469")
-        self.bigTipLabel.stringValue = NSLocalizedString("No Bookmarks", comment: "")
-        
-        let title = NSLocalizedString("To create a bookmark, please right-click on the selected page and choose \"Add Bookmark\", or click \"Add\" button in the upper right corner.", comment: "")
-        let paragraphStyle = NSMutableParagraphStyle()
-        paragraphStyle.lineHeightMultiple = 1.32
-        paragraphStyle.alignment = .center
-        self.tipLabel.attributedStringValue = NSMutableAttributedString(string: title, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle, .foregroundColor : NSColor.km_init(hex: "#94989C")])
-    }
-    
-    func reloadData() {
-        let array = self.listView.document.bookmarks() ?? [CPDFBookmark]()
-        var bookMarks: [KMBookMarkItem] = []
-        for bookMark in array {
-            let item = KMBookMarkItem()
-            item.bookMark = bookMark
-            item.index = UInt(bookMark.pageIndex)
-            item.label = bookMark.label
-            bookMarks.append(item)
-        }
-        self.dataSource = bookMarks
-        
-        self.dataSource.sort(){$0.bookMark.pageIndex < $1.bookMark.pageIndex}
-        self.bookTableView.reloadData()
-        
-        self.updateAddBookMarkState()
-    }
-    
-    func addBookMarkAndEdit(newBookMark: KMBookMarkItem) {
-
-        _ = self.dataSource.contains { KMBookMarkItem in
-            if KMBookMarkItem.bookMark == newBookMark.bookMark {
-                let index = KMOCToolClass.arrayIndexOf(array: self.dataSource, item: KMBookMarkItem) ?? 0
-                self.didSelectItem(row: index, event: NSEvent())
-                self.renameBookWithRow(row: index)
-                return true
-            }
-            return false
-        }
-    }
-    
-    func initNotification() {
-        NotificationCenter.default.addObserver(self, selector: #selector(KMPDFViewCurrentPageDidChangedNotification), name: NSNotification.Name.init(rawValue: "KMPDFViewCurrentPageDidChanged"), object: nil)
-        NotificationCenter.default.addObserver(self, selector: #selector(documentPageCountChangedNotification), name: NSNotification.Name.init(rawValue: "CPDFDocumentPageCountChangedNotification"), object: nil)
-    }
-    
-    func removeNotification() {
-        NotificationCenter.default.removeObserver(self)
-    }
-    
-    private func addMenuTitle(view: NSView, event: NSEvent) {
-        let menus : NSMenu = NSMenu(title: "")
-        menus.delegate = self
-        let addItem = self.menuItemWithTitle(title: NSLocalizedString("Rename", comment: ""), action: #selector(renameBookAction))
-        let addChildItem = self.menuItemWithTitle(title: NSLocalizedString("Change Destination", comment: ""), action: #selector(changeLocationAction))
-        let addHigherItem = self.menuItemWithTitle(title: NSLocalizedString("Delete", comment: ""), action: #selector(deleteBookAction))
-
-        menus.addItem(addItem)
-        menus.addItem(addChildItem)
-        menus.addItem(addHigherItem)
-
-        let point = view.convert(event.locationInWindow, from: nil)
-        menus.popUp(positioning: nil, at: point, in: view)
-//        self.bookTableView.menu = menus
-    }
-
-    func menuItemWithTitle(title:String, action:Selector?) -> NSMenuItem {
-        let menuItem = NSMenuItem.init(title: title as String, action: action, keyEquivalent: "")
-        menuItem.target = self
-        return menuItem
-    }
-    
-    //MARK: Menu Action
-    
-    @objc func renameBookAction() {
-        if self.bookTableView.selectedRowIndexes.count == 1 {
-            self.renameBookWithRow(row: self.bookTableView.selectedRowIndexes.first!)
-        } else {
-            __NSBeep()
-        }
-    }
-    
-    
-    @IBAction func escButtonAction(_ sender: Any) {
-        self.bookTableView.deselectAll(nil)
-    }
-    
-    @IBAction func addBookmarkAction(_ sender: Any) {
-        if self.listView.document.bookmark(forPageIndex: UInt(self.listView.currentPageIndex)) == nil {
-            let label = "\(NSLocalizedString("Page", comment:"")) \(self.listView.currentPageIndex + 1)"
-            let bookMark = KMBookMarkItem()
-            bookMark.label = label
-            bookMark.index = UInt(self.listView.currentPageIndex)
-            self.addBookMark(bookMarks: [bookMark])
-        } else {
-            let bookMark = self.listView.document.bookmark(forPageIndex: UInt(self.listView.currentPageIndex))
-            self.dataSource.contains { KMBookMarkItem in
-                if KMBookMarkItem.bookMark == bookMark {
-                    let index = Int(KMBookMarkItem.index)
-                    self.bookTableView.selectRowIndexes(IndexSet(integer: index), byExtendingSelection: false)
-                    self.didSelectItem(row: index, event: NSEvent())
-                    return true
-                }
-                return false
-            }
-        }
-    }
-    
-    @objc func changeLocationAction() {
-        if self.bookTableView.selectedRowIndexes.count == 1 {
-            let item = self.dataSource[self.bookTableView.selectedRowIndexes.first!]
-            let alter = NSAlert()
-            alter.alertStyle = NSAlert.Style.informational
-            alter.messageText = NSLocalizedString("Are you sure you want to set the target location of the selected outline to the current location", comment: "")
-            alter.addButton(withTitle: NSLocalizedString("YES", comment:""))
-            alter.addButton(withTitle: NSLocalizedString("NO", comment:""))
-            let modlres = alter.runModal()
-            if modlres == NSApplication.ModalResponse.alertFirstButtonReturn {
-                let bookMark = KMBookMarkItem()
-                bookMark.bookMark = item.bookMark
-                bookMark.label = item.label
-                bookMark.index = UInt(self.listView.currentPageIndex)
-                self.changeLocation(oldBookMark: item,
-                                    newBookMark: bookMark)
-            }
-        } else {
-            __NSBeep()
-        }
-    }
-    
-    @objc func deleteBookAction() {
-        if self.bookTableView.selectedRowIndexes.count != 0 {
-            var bookMarks:[KMBookMarkItem] = []
-            for index in self.bookTableView.selectedRowIndexes {
-                let item = self.dataSource[index]
-                bookMarks.append(item)
-            }
-            self.deleteBookMark(bookMarks: bookMarks)
-        } else {
-            __NSBeep()
-        }
-    }
-    
-    private func renameBookWithRow(row: Int) {
-        self.renamePDFBook = self.dataSource[row]
-        self.renameCellView = self.bookTableView.view(atColumn: 0, row: row, makeIfNecessary: true) as! KMBookCellView
-        self.renameTextField = self.renameCellView.bookTitle
-        self.renameTextField.delegate = self
-        self.renameTextField.isEditable = true
-        self.renameTextField.becomeFirstResponder()
-    }
-    
-    //MARK: Noti
-    @objc func KMPDFViewCurrentPageDidChangedNotification(notification: NSNotification) {
-        if notification.object is CPDFDocument {
-            let pdfdocument : CPDFDocument = notification.object as! CPDFDocument
-            if pdfdocument.isEqual(self.listView.document) {
-                if !isLocalEvent {
-                    var containSelIndex:Bool = false
-                    for (index, value) in self.dataSource.enumerated() {
-                        if value.bookMark == self.listView.document.bookmark(forPageIndex: UInt(self.listView.currentPageIndex)) {
-                            containSelIndex = true
-                            self.didSelectItem(row: index, event: NSEvent())
-                            break
-                        }
-                    }
-                    if !containSelIndex {
-                        self.cancelSelect()
-                    }
-                }
-                isLocalEvent = false
-            }
-            self.updateAddBookMarkState()
-        }
-    }
-    
-    @objc func documentPageCountChangedNotification(notification: NSNotification) {
-        if notification.object is CPDFDocument {
-            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.3) { [unowned self] in
-                let pdfdocument : CPDFDocument = notification.object as! CPDFDocument
-                if pdfdocument.isEqual(self.listView.document) {
-                    self.reloadData()
-                }
-            }
-        }
-    }
-    
-    //MARK: - NSTextFieldDelegate
-    func controlTextDidEndEditing(_ obj: Notification) {
-        if (self.renameTextField.isEqual(obj.object)) {
-            let textField : NSTextField = obj.object as! NSTextField
-            self.renamePDFBook(bookmark: self.renamePDFBook, label: textField.stringValue)
-            self.renameTextField.isEditable = false
-        }
-    }
-}
-
-extension KMBookMarkViewController : NSTableViewDelegate,NSTableViewDataSource {
-    func numberOfRows(in tableView: NSTableView) -> Int {
-        let count = self.dataSource?.count ?? 0
-        if count == 0 {
-            self.emptyView.isHidden = false
-        } else {
-            self.emptyView.isHidden = true
-        }
-        return count
-    }
-    
-    func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
-        if row < self.dataSource.count {
-            let item: KMBookMarkItem = self.dataSource[row]
-            let cell : KMBookCellView = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMBookCellView"), owner: self) as! KMBookCellView
-            cell.bookTitle.stringValue = item.bookMark.label
-            return cell
-        }
-        return nil
-    }
-    
-    func tableView(_ tableView: NSTableView, rowViewForRow row: Int) -> NSTableRowView? {
-        let rowView = KMBookMarkTableRowView()
-        if row < self.dataSource.count {
-            rowView.model = self.dataSource[row]
-            
-            rowView.mouseDownAction = { [unowned self] (view, event) in
-                self.didSelectItem(row: row, event: event)
-            }
-            
-            rowView.rightMouseDownAction = { [unowned self] (view, event) in
-                if !KMOCToolClass.arrayContains(array: self.selectItems, annotation: rowView.model) ||
-                    self.selectItems.count == 1 {
-                    self.selectIndex(index: row)
-                }
-                
-                if self.bookTableView.rowView(atRow: row, makeIfNecessary: false) != nil {
-                    let tempView = self.bookTableView.rowView(atRow: row, makeIfNecessary: false)
-                    self.addMenuTitle(view: tempView!, event: event)
-                }
-            }
-            
-            rowView.hoverCallback = { [unowned self] (mouseEntered, mouseBox) in
-                self.bookTableView.enumerateAvailableRowViews { view, row in
-                    if view is KMBookMarkTableRowView {
-                        (view as? KMBookMarkTableRowView)?.model.hover = false
-                        (view as? KMBookMarkTableRowView)?.reloadData()
-                    }
-                }
-                if mouseEntered {
-                    rowView.model.hover = true
-                } else {
-                    rowView.model.hover = false
-                }
-            }
-        }
-        return rowView
-    }
-    
-    func tableView(_ tableView: NSTableView, shouldSelect tableColumn: NSTableColumn?) -> Bool {
-        self.isLocalEvent = true
-        return true
-    }
-    
-    func tableView(_ tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
-        self.isLocalEvent = true
-        return true
-    }
-    
-    func tableViewSelectionDidChange(_ notification: Notification) {
-//        if self.bookTableView.selectedRow == -1 {
-//            self.cancelSelect()
-//        }
-    }
-    
-    func selectIndex(index: Int) {
-        self.bookTableView.selectRowIndexes(IndexSet(integer: IndexSet.Element(index)), byExtendingSelection: false)
-        self.didSelectItem(row: index, event: NSEvent(), needJump: false)
-    }
-
-    func didSelectItem(row: Int, event: NSEvent?, needJump: Bool = true) {
-        //当选中一个时
-        if self.bookTableView.selectedRowIndexes.count == 1 || (event != nil &&
-                                                                (!event!.modifierFlags.contains(NSEvent.ModifierFlags.command) &&
-                                                                !event!.modifierFlags.contains(NSEvent.ModifierFlags.shift))) {
-            self.bookTableView.selectRowIndexes(IndexSet(integer: IndexSet.Element(row)), byExtendingSelection: false)
-        }
-        
-        //原始数据置空
-        for model in self.selectItems {
-            self.dataSource.contains { KMBookMarkItem in
-                if KMBookMarkItem.bookMark == model.bookMark {
-                    let index = KMOCToolClass.arrayIndexOf(array: self.dataSource, item: KMBookMarkItem) ?? 0
-                    if index != nil {
-                        KMBookMarkItem.select = false
-                        if self.bookTableView.rowView(atRow: index, makeIfNecessary: false) != nil {
-                            let rowView: KMBookMarkTableRowView = self.bookTableView.rowView(atRow: index, makeIfNecessary: false) as! KMBookMarkTableRowView
-                            rowView.reloadData()
-                        }
-                    }
-                    return true
-                }
-                return false
-            }
-        }
-    
-        //获取最新数据
-        var items: [KMBookMarkItem] = []
-        for index in self.bookTableView.selectedRowIndexes {
-            if index < self.dataSource.count {
-                let model: KMBookMarkItem = self.dataSource[index]
-                model.select = true
-                if self.bookTableView.rowView(atRow: index, makeIfNecessary: false) != nil {
-                    let rowView: KMBookMarkTableRowView = self.bookTableView.rowView(atRow: index, makeIfNecessary: false) as! KMBookMarkTableRowView
-                    rowView.reloadData()
-                }
-                items.append(model)
-            }
-        }
-        self.selectItems = items
-        
-        //刷新数据
-        if needJump {
-            self.updateListViewData()
-        }
-    }
-    
-    func updateListViewData() {
-        if self.bookTableView.selectedRowIndexes.count == 1 &&
-            self.bookTableView.selectedRowIndexes.first! < self.dataSource.count {
-            let index = self.bookTableView.selectedRowIndexes.first
-            let selectBookMark = self.dataSource[index!]
-            self.listView.go(toPageIndex: selectBookMark.bookMark.pageIndex, animated: true)
-        }
-    }
-    
-    func cancelSelect() {
-        self.bookTableView.deselectAll(nil)
-        for model in self.selectItems {
-            model.select = false
-            let index = self.dataSource.firstIndex(of: model)
-            if index != nil {
-                if (self.bookTableView.rowView(atRow: index!, makeIfNecessary: false) != nil) {
-                    let rowView: KMBookMarkTableRowView = self.bookTableView.rowView(atRow: index!, makeIfNecessary: false) as! KMBookMarkTableRowView
-                    rowView.reloadData()
-                }
-            }
-        }
-    }
-    
-    func updateAddBookMarkState() {
-//        self.addBookButton.isEnabled = self.canAddBorkMark()
-    }
-    
-    func canAddBorkMark() -> Bool {
-        if self.listView.document.bookmarks() != nil && self.listView.document.bookmarks()?.count != 0 {
-            for bookMark in self.listView.document.bookmarks() {
-                if bookMark.pageIndex == self.listView.currentPageIndex {
-                    return false
-                }
-            }
-        }
-        return true
-    }
-}
-
-//MARK: undoRedo
-extension KMBookMarkViewController {
-    func changeLocation(oldBookMark: KMBookMarkItem, newBookMark: KMBookMarkItem) {
-        self.listView.document.removeBookmark(forPageIndex: oldBookMark.index)
-        self.listView.document.addBookmark(newBookMark.label, forPageIndex: newBookMark.index)
-        
-        self.reloadData()
-        self.listView.setNeedsDisplayForVisiblePages()
-        
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            self.changeLocation(oldBookMark: newBookMark, newBookMark: oldBookMark)
-        }
-    }
-    
-    func renamePDFBook(bookmark : KMBookMarkItem! , label:String) {
-        if bookmark.bookMark.label == label {
-            return
-        }
-        let temp = bookmark.bookMark.label
-        
-        bookmark.bookMark.label = label
-        self.reloadData()
-        
-        var indexSet = IndexSet()
-        indexSet.insert(self.bookTableView.row(for: self.renameCellView))
-        self.bookTableView.selectRowIndexes(indexSet, byExtendingSelection: false)
-        
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            bookmark.bookMark.label = label
-            self.renamePDFBook(bookmark: bookmark, label: temp ?? bookmark.label)
-        }
-    }
-    
-    func deleteBookMark(bookMarks: [KMBookMarkItem]) {
-        for bookMark in bookMarks {
-            if self.listView.document.removeBookmark(forPageIndex: bookMark.index) {
-                KMPrint("删除标签成功")
-            }
-        }
-        self.listView.setNeedsDisplayForVisiblePages()
-        self.reloadData()
-        
-        //undo redo
-        var saveBooks:[KMBookMarkItem] = bookMarks
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            saveBooks.sort(){$0.index > $1.index}
-            self.addBookMark(bookMarks: bookMarks)
-        }
-        
-        guard let callBack = bookMarkDidChange else { return }
-        
-        callBack(self, bookMarks)
-    }
-    
-    func addBookMark(bookMarks: [KMBookMarkItem]) {
-        for bookMark in bookMarks {
-            self.listView.document.addBookmark(bookMark.label, forPageIndex: UInt(bookMark.index))
-        }
-        self.listView.setNeedsDisplayForVisiblePages()
-        self.reloadData()
-        
-        if bookMarks.count == 1 {
-            DispatchQueue.main.async {
-                if self.listView.document.bookmark(forPageIndex: UInt(bookMarks.first!.index)) != nil {
-                    let item = KMBookMarkItem()
-                    item.bookMark = self.listView.document.bookmark(forPageIndex: UInt(bookMarks.first!.index))
-                    item.label = item.bookMark.label
-                    item.index = UInt(item.bookMark.pageIndex)
-                    self.addBookMarkAndEdit(newBookMark: item)
-                }
-            }
-        }
-        
-        //undo redo
-        var saveBooks:[KMBookMarkItem] = bookMarks
-        self.listView.undoManager?.registerUndo(withTarget: self) { [unowned self] targetType in
-            saveBooks.sort(){$0.index > $1.index}
-            self.deleteBookMark(bookMarks: saveBooks)
-        }
-        
-        guard let callBack = bookMarkDidChange else { return }
-        
-        callBack(self, bookMarks)
-    }
-    
-    @IBAction func undo(_ sender: Any) {
-        if (self.listView.undoManager?.canUndo ?? false) {
-            self.listView.undoManager?.undo()
-        }
-    }
-    
-    @IBAction func redo(_ sender: Any) {
-        if (self.listView.undoManager?.canRedo ?? false) {
-            self.listView.undoManager?.redo()
-        }
-    }
-}
-
-extension KMBookMarkViewController: NSMenuDelegate, NSMenuItemValidation {
-    func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
-        let action = menuItem.action
-        if (action == #selector(undo)) {
-            return self.listView.undoManager?.canUndo ?? false
-        }
-        if (action == #selector(redo)) {
-            return self.listView.undoManager?.canRedo ?? false
-        }
-        
-        if action == #selector(renameBookAction) ||
-            action == #selector(changeLocationAction) ||
-            action == #selector(deleteBookAction) {
-            if self.bookTableView.selectedRowIndexes.count > 1 {
-                if action == #selector(changeLocationAction) {
-                    return false
-                } else if action == #selector(renameBookAction) {
-                    return false
-                }
-            } else if self.bookTableView.selectedRowIndexes.count == 1 {
-                return true
-            } else {
-                if self.bookTableView.selectedRowIndexes.count == 0 {
-                    if action == #selector(changeLocationAction) {
-                        //                    if self.listView.document.bookmark(forPageIndex: UInt(self.listView.currentPageIndex)) != nil {
-                        //                        return false
-                        //                    }
-                    }
-                } else {
-                    return false
-                }
-            }
-        }
-        return true
-    }
-}
-
-
-class KMBookMarkItem: NSObject {
-    var label: String = ""
-    var index: UInt = 0
-    var bookMark: CPDFBookmark = CPDFBookmark()
-    var select: Bool = false
-    var hover: Bool = false
-}

+ 0 - 258
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/KMBookMarkViewController.xib

@@ -1,258 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22146" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22146"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBookMarkViewController" customModule="PDF_Master" customModuleProvider="target">
-            <connections>
-                <outlet property="addBookButton" destination="3yQ-un-hNE" id="kxu-QV-1AM"/>
-                <outlet property="bigTipLabel" destination="BO0-hw-zv2" id="hvD-cO-67N"/>
-                <outlet property="bookTableView" destination="jMm-Al-ZqF" id="9wa-Z0-JAz"/>
-                <outlet property="emptyView" destination="H5X-YQ-dvn" id="6p4-Ta-8tF"/>
-                <outlet property="tipLabel" destination="Msu-u0-gPn" id="ffr-tn-AMo"/>
-                <outlet property="titleTextField" destination="3oi-0L-gXH" id="nKT-yM-6bo"/>
-                <outlet property="topSeplineView" destination="ep4-a0-YrH" id="10a-WM-HdS"/>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView appearanceType="aqua" misplaced="YES" id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="260" height="440"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <customView id="Pzi-Vp-0aL">
-                    <rect key="frame" x="0.0" y="0.0" width="260" height="440"/>
-                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                    <subviews>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="ZOC-6Y-3av">
-                            <rect key="frame" x="0.0" y="0.0" width="260" height="412"/>
-                            <subviews>
-                                <view translatesAutoresizingMaskIntoConstraints="NO" id="bIK-U7-Zqf">
-                                    <rect key="frame" x="0.0" y="364" width="260" height="48"/>
-                                    <subviews>
-                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3oi-0L-gXH">
-                                            <rect key="frame" x="14" y="16" width="35" height="16"/>
-                                            <textFieldCell key="cell" lineBreakMode="clipping" title="book" id="Lva-jT-T3H">
-                                                <font key="font" usesAppearanceFont="YES"/>
-                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3yQ-un-hNE">
-                                            <rect key="frame" x="220" y="8" width="32" height="32"/>
-                                            <buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="KMImageNameBookMarksAdd" imagePosition="overlaps" alignment="center" lineBreakMode="truncatingTail" state="on" imageScaling="proportionallyDown" inset="2" id="wPd-bK-WYA">
-                                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                                <font key="font" metaFont="system"/>
-                                            </buttonCell>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="32" id="54D-pF-AoV"/>
-                                                <constraint firstAttribute="width" constant="32" id="oZP-jn-egC"/>
-                                            </constraints>
-                                            <connections>
-                                                <action selector="addBookmarkAction:" target="-2" id="LYe-dO-Oje"/>
-                                            </connections>
-                                        </button>
-                                        <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ep4-a0-YrH">
-                                            <rect key="frame" x="0.0" y="0.0" width="260" height="1"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
-                                        </customView>
-                                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Bsc-ME-Qqh">
-                                            <rect key="frame" x="130" y="24" width="0.0" height="0.0"/>
-                                            <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="Zio-I4-Bjd">
-                                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                                <font key="font" metaFont="system"/>
-                                            </buttonCell>
-                                            <connections>
-                                                <action selector="escButtonAction:" target="-2" id="2IE-Dn-73t"/>
-                                            </connections>
-                                        </button>
-                                    </subviews>
-                                    <constraints>
-                                        <constraint firstItem="3oi-0L-gXH" firstAttribute="centerY" secondItem="bIK-U7-Zqf" secondAttribute="centerY" id="Dx4-hO-Mw9"/>
-                                        <constraint firstItem="Bsc-ME-Qqh" firstAttribute="centerX" secondItem="bIK-U7-Zqf" secondAttribute="centerX" id="MB5-w1-b95"/>
-                                        <constraint firstAttribute="trailing" secondItem="3yQ-un-hNE" secondAttribute="trailing" constant="8" id="SeY-1V-RIE"/>
-                                        <constraint firstAttribute="height" constant="48" id="VqR-5n-kaA"/>
-                                        <constraint firstItem="3oi-0L-gXH" firstAttribute="leading" secondItem="bIK-U7-Zqf" secondAttribute="leading" constant="16" id="Zaz-F0-rX0"/>
-                                        <constraint firstItem="Bsc-ME-Qqh" firstAttribute="centerY" secondItem="bIK-U7-Zqf" secondAttribute="centerY" id="b5q-EM-BXf"/>
-                                        <constraint firstItem="3yQ-un-hNE" firstAttribute="centerY" secondItem="bIK-U7-Zqf" secondAttribute="centerY" id="kXJ-wD-hOY"/>
-                                    </constraints>
-                                </view>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="bIK-U7-Zqf" firstAttribute="leading" secondItem="ZOC-6Y-3av" secondAttribute="leading" id="N4Q-QB-Wxh"/>
-                                <constraint firstAttribute="trailing" secondItem="bIK-U7-Zqf" secondAttribute="trailing" id="SNG-1i-cqG"/>
-                                <constraint firstItem="bIK-U7-Zqf" firstAttribute="top" secondItem="ZOC-6Y-3av" secondAttribute="top" id="qZQ-ok-kM8"/>
-                            </constraints>
-                        </customView>
-                        <box borderType="none" title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="QXl-f3-0nT">
-                            <rect key="frame" x="0.0" y="0.0" width="260" height="364"/>
-                            <view key="contentView" id="5Km-Gq-7Y6">
-                                <rect key="frame" x="0.0" y="0.0" width="260" height="364"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                <subviews>
-                                    <scrollView fixedFrame="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="35" horizontalPageScroll="10" verticalLineScroll="35" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P2v-Ak-LWO">
-                                        <rect key="frame" x="0.0" y="2" width="260" height="362"/>
-                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        <clipView key="contentView" drawsBackground="NO" id="KFG-R9-2uc">
-                                            <rect key="frame" x="0.0" y="0.0" width="260" height="362"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                            <subviews>
-                                                <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" tableStyle="plain" multipleSelection="NO" autosaveColumns="NO" rowHeight="35" rowSizeStyle="automatic" viewBased="YES" id="jMm-Al-ZqF">
-                                                    <rect key="frame" x="0.0" y="0.0" width="260" height="362"/>
-                                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                                    <size key="intercellSpacing" width="17" height="0.0"/>
-                                                    <color key="backgroundColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                                    <color key="gridColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                                    <tableColumns>
-                                                        <tableColumn identifier="AutomaticTableColumnIdentifier.0" width="243" minWidth="40" maxWidth="1000" id="5vi-WM-WUD">
-                                                            <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
-                                                                <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
-                                                                <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
-                                                            </tableHeaderCell>
-                                                            <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="NTY-yR-c5t">
-                                                                <font key="font" metaFont="system"/>
-                                                                <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                                <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                            </textFieldCell>
-                                                            <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
-                                                            <prototypeCellViews>
-                                                                <tableCellView identifier="KMBookCellView" id="qIV-zJ-BTn" customClass="KMBookCellView" customModule="PDF_Master" customModuleProvider="target">
-                                                                    <rect key="frame" x="8" y="0.0" width="243" height="35"/>
-                                                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                                                    <subviews>
-                                                                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="Jiw-dQ-fQm">
-                                                                            <rect key="frame" x="8" y="0.0" width="227" height="35"/>
-                                                                            <subviews>
-                                                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="rcv-Rq-TyR">
-                                                                                    <rect key="frame" x="22" y="10" width="199" height="16"/>
-                                                                                    <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="f2w-oF-jeX">
-                                                                                        <font key="font" usesAppearanceFont="YES"/>
-                                                                                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                                                    </textFieldCell>
-                                                                                </textField>
-                                                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="jVn-Rk-t92">
-                                                                                    <rect key="frame" x="0.0" y="10" width="16" height="16"/>
-                                                                                    <constraints>
-                                                                                        <constraint firstAttribute="width" constant="16" id="HmH-sE-Qta"/>
-                                                                                        <constraint firstAttribute="height" constant="16" id="w4f-op-qPO"/>
-                                                                                    </constraints>
-                                                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameSidebarBookCellMark" id="8wC-vm-GhN"/>
-                                                                                </imageView>
-                                                                            </subviews>
-                                                                            <constraints>
-                                                                                <constraint firstItem="jVn-Rk-t92" firstAttribute="centerY" secondItem="Jiw-dQ-fQm" secondAttribute="centerY" id="3rn-5T-ztd"/>
-                                                                                <constraint firstItem="rcv-Rq-TyR" firstAttribute="centerY" secondItem="Jiw-dQ-fQm" secondAttribute="centerY" id="5bl-Wy-ZZ2"/>
-                                                                                <constraint firstItem="rcv-Rq-TyR" firstAttribute="leading" secondItem="jVn-Rk-t92" secondAttribute="trailing" constant="8" id="TSf-Z5-etZ"/>
-                                                                                <constraint firstItem="jVn-Rk-t92" firstAttribute="leading" secondItem="Jiw-dQ-fQm" secondAttribute="leading" id="Xbn-6J-OZl"/>
-                                                                                <constraint firstAttribute="trailing" secondItem="rcv-Rq-TyR" secondAttribute="trailing" constant="8" id="tuu-Fs-E1S"/>
-                                                                            </constraints>
-                                                                        </customView>
-                                                                    </subviews>
-                                                                    <constraints>
-                                                                        <constraint firstAttribute="bottom" secondItem="Jiw-dQ-fQm" secondAttribute="bottom" id="4n5-bF-fib"/>
-                                                                        <constraint firstItem="Jiw-dQ-fQm" firstAttribute="top" secondItem="qIV-zJ-BTn" secondAttribute="top" id="Gk0-nJ-e2v"/>
-                                                                        <constraint firstItem="Jiw-dQ-fQm" firstAttribute="leading" secondItem="qIV-zJ-BTn" secondAttribute="leading" constant="8" id="SVX-ay-53c"/>
-                                                                        <constraint firstAttribute="trailing" secondItem="Jiw-dQ-fQm" secondAttribute="trailing" constant="8" id="xdS-9w-MMP"/>
-                                                                    </constraints>
-                                                                    <connections>
-                                                                        <outlet property="bookTitle" destination="rcv-Rq-TyR" id="MR2-sT-XU9"/>
-                                                                        <outlet property="textField" destination="rcv-Rq-TyR" id="fvG-17-CgJ"/>
-                                                                    </connections>
-                                                                </tableCellView>
-                                                            </prototypeCellViews>
-                                                        </tableColumn>
-                                                    </tableColumns>
-                                                    <connections>
-                                                        <outlet property="dataSource" destination="-2" id="NL4-lv-f59"/>
-                                                        <outlet property="delegate" destination="-2" id="wfi-fB-Y3W"/>
-                                                    </connections>
-                                                </tableView>
-                                            </subviews>
-                                            <color key="backgroundColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                        </clipView>
-                                        <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="UbR-Pn-9tg">
-                                            <rect key="frame" x="1" y="361" width="258" height="15"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                        </scroller>
-                                        <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="Ali-DJ-95W">
-                                            <rect key="frame" x="224" y="17" width="15" height="102"/>
-                                            <autoresizingMask key="autoresizingMask"/>
-                                        </scroller>
-                                    </scrollView>
-                                </subviews>
-                            </view>
-                        </box>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="H5X-YQ-dvn">
-                            <rect key="frame" x="0.0" y="0.0" width="260" height="364"/>
-                            <subviews>
-                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="8R5-DW-bXb">
-                                    <rect key="frame" x="64" y="85" width="132" height="128"/>
-                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameBookMarkEmpty" id="6Kl-9F-c8Y"/>
-                                </imageView>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="BO0-hw-zv2">
-                                    <rect key="frame" x="62" y="55" width="136" height="17"/>
-                                    <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="No bookmark found" id="6Wq-yY-yuD">
-                                        <font key="font" metaFont="system" size="14"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Msu-u0-gPn">
-                                    <rect key="frame" x="33" y="40" width="194" height="15"/>
-                                    <textFieldCell key="cell" alignment="center" id="bpF-T2-SUC">
-                                        <font key="font" metaFont="cellTitle"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="BO0-hw-zv2" firstAttribute="centerX" secondItem="8R5-DW-bXb" secondAttribute="centerX" id="3xF-YB-i7s"/>
-                                <constraint firstItem="Msu-u0-gPn" firstAttribute="centerX" secondItem="8R5-DW-bXb" secondAttribute="centerX" id="Bbu-An-pt0"/>
-                                <constraint firstItem="BO0-hw-zv2" firstAttribute="trailing" secondItem="8R5-DW-bXb" secondAttribute="trailing" id="OL0-oR-eMj"/>
-                                <constraint firstItem="Msu-u0-gPn" firstAttribute="leading" secondItem="H5X-YQ-dvn" secondAttribute="leading" constant="35" id="W06-FV-M5o"/>
-                                <constraint firstItem="Msu-u0-gPn" firstAttribute="top" secondItem="BO0-hw-zv2" secondAttribute="bottom" id="cAD-Uc-2BD"/>
-                                <constraint firstAttribute="trailing" secondItem="Msu-u0-gPn" secondAttribute="trailing" constant="35" id="fpI-vC-wce"/>
-                                <constraint firstItem="8R5-DW-bXb" firstAttribute="centerX" secondItem="H5X-YQ-dvn" secondAttribute="centerX" id="h2y-aH-peY"/>
-                                <constraint firstItem="BO0-hw-zv2" firstAttribute="top" secondItem="8R5-DW-bXb" secondAttribute="bottom" constant="13" id="lqe-5Y-3vw"/>
-                                <constraint firstItem="8R5-DW-bXb" firstAttribute="top" secondItem="H5X-YQ-dvn" secondAttribute="top" constant="151" id="rhF-Ny-cyl"/>
-                                <constraint firstItem="BO0-hw-zv2" firstAttribute="leading" secondItem="8R5-DW-bXb" secondAttribute="leading" id="v9H-xv-zGQ"/>
-                            </constraints>
-                        </customView>
-                    </subviews>
-                    <constraints>
-                        <constraint firstItem="H5X-YQ-dvn" firstAttribute="top" secondItem="Pzi-Vp-0aL" secondAttribute="top" constant="48" id="0dy-zM-Gng"/>
-                        <constraint firstAttribute="bottom" secondItem="QXl-f3-0nT" secondAttribute="bottom" id="3O1-p9-1dY"/>
-                        <constraint firstAttribute="bottom" secondItem="ZOC-6Y-3av" secondAttribute="bottom" id="4ov-Bb-8Lk"/>
-                        <constraint firstAttribute="bottom" secondItem="H5X-YQ-dvn" secondAttribute="bottom" id="7lI-ee-1T3"/>
-                        <constraint firstAttribute="trailing" secondItem="ZOC-6Y-3av" secondAttribute="trailing" id="EeR-9w-YDN"/>
-                        <constraint firstItem="ZOC-6Y-3av" firstAttribute="top" secondItem="Pzi-Vp-0aL" secondAttribute="top" id="ST1-fp-Ijg"/>
-                        <constraint firstItem="QXl-f3-0nT" firstAttribute="top" secondItem="Pzi-Vp-0aL" secondAttribute="top" constant="48" id="XgQ-xY-ljn"/>
-                        <constraint firstAttribute="trailing" secondItem="QXl-f3-0nT" secondAttribute="trailing" id="YFL-M8-lkL"/>
-                        <constraint firstItem="ZOC-6Y-3av" firstAttribute="leading" secondItem="Pzi-Vp-0aL" secondAttribute="leading" id="apt-tg-cnQ"/>
-                        <constraint firstItem="QXl-f3-0nT" firstAttribute="leading" secondItem="Pzi-Vp-0aL" secondAttribute="leading" id="bMU-2E-qTS"/>
-                        <constraint firstAttribute="trailing" secondItem="H5X-YQ-dvn" secondAttribute="trailing" id="hYV-Ps-ktw"/>
-                        <constraint firstItem="H5X-YQ-dvn" firstAttribute="leading" secondItem="Pzi-Vp-0aL" secondAttribute="leading" id="ooT-we-LHE"/>
-                    </constraints>
-                </customView>
-            </subviews>
-            <constraints>
-                <constraint firstAttribute="trailing" secondItem="Pzi-Vp-0aL" secondAttribute="trailing" id="EgH-pS-Pio"/>
-                <constraint firstAttribute="bottom" secondItem="Pzi-Vp-0aL" secondAttribute="bottom" id="ggO-g1-Ndz"/>
-                <constraint firstItem="Pzi-Vp-0aL" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="rYP-sd-AtW"/>
-                <constraint firstItem="Pzi-Vp-0aL" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="zTJ-d0-rbP"/>
-            </constraints>
-            <point key="canvasLocation" x="-296" y="229"/>
-        </customView>
-    </objects>
-    <resources>
-        <image name="KMImageNameBookMarkEmpty" width="128" height="128"/>
-        <image name="KMImageNameBookMarksAdd" width="16" height="16"/>
-        <image name="KMImageNameSidebarBookCellMark" width="16" height="16"/>
-    </resources>
-</document>

+ 0 - 22
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMBookCellView.swift

@@ -1,22 +0,0 @@
-//
-//  KMBookCellView.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/11/14.
-//
-
-import Cocoa
-
-class KMBookCellView: NSTableCellView {
-    @IBOutlet weak var bookTitle: NSTextField!
-    
-    override func awakeFromNib() {
-        super.awakeFromNib()
-        self.bookTitle.textColor = NSColor.km_init(hex: "#252629")
-        self.bookTitle.font = NSFont.SFProTextRegularFont(14.0)
-    }
-    
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
-    }
-}

+ 0 - 36
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMBookMarkRowView.swift

@@ -1,36 +0,0 @@
-//
-//  KMBookMarkRowView.swift
-//  PDF Reader Pro
-//
-//  Created by Niehaoyu on 2023/2/28.
-//
-
-import Cocoa
-
-class KMBookMarkRowView: NSTableRowView {
-    
-    var selectionColor : NSColor!
-    
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
-
-        // Drawing code here.
-        
-        self.wantsLayer = true
-    }
-    
-    override func drawSelection(in dirtyRect: NSRect) {
-        if self.selectionHighlightStyle == NSTableView.SelectionHighlightStyle.none {
-            super.drawSelection(in: dirtyRect)
-        } else {
-            if(self.selectionColor != nil) {
-                self.selectionColor.setFill()
-                __NSRectFill(dirtyRect)
-            }  else {
-                super.drawSelection(in: dirtyRect)
-            }
-        }
-    }
-    
-    
-}

+ 0 - 103
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMBookMarkTableRowView.swift

@@ -1,103 +0,0 @@
-//
-//  KMBookMarkTableRowView.swift
-//  PDF Reader Pro
-//
-//  Created by lizhe on 2023/3/14.
-//
-
-import Cocoa
-
-typealias KMBookMarkTableRowViewHoverCallback = (_ mouseEntered: Bool, _ mouseBox: KMBox) -> Void
-typealias KMBookMarkTableRowViewMouseDown = (_ view: KMBookMarkTableRowView, _ event: NSEvent) -> Void
-typealias KMBookMarkTableRowViewRightMouseDown = (_ view: KMBookMarkTableRowView, _ event: NSEvent) -> Void
-class KMBookMarkTableRowView: NSTableRowView {
-    var box: KMBox?
-    var contentBox: KMBox?
-    var model: KMBookMarkItem! {
-        didSet {
-            self.reloadData()
-        }
-    }
-    
-    var hoverCallback: KMBookMarkTableRowViewHoverCallback?
-    var mouseDownAction: KMBookMarkTableRowViewMouseDown?
-    var rightMouseDownAction: KMBookMarkTableRowViewRightMouseDown?
-        
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
-        
-        self.addBox()
-        self.drawView()
-    }
-    
-    func addBox() {
-        if self.box == nil {
-            var rect = self.bounds
-            rect.origin.x = self.bounds.origin.x + 8.0
-            rect.size.width = self.bounds.size.width - 16.0
-            
-            self.box?.wantsLayer = true
-            self.box?.layer?.masksToBounds = true
-            self.box = KMBox(frame: rect)
-            self.box?.borderWidth = 0
-//                self.box?.borderColor = NSColor.km_init(hex: "#EDEEF0")
-            self.box?.layer?.cornerRadius = 8
-            self.box?.boxType = .custom
-            self.addSubview(self.box!, positioned: NSWindow.OrderingMode.below, relativeTo: self)
-            self.box?.autoresizingMask = [.width, .height]
-            self.box?.moveCallback = { [unowned self] (mouseEntered, mouseBox) in
-                self.hoverCallback?(mouseEntered, mouseBox)
-                self.reloadData()
-            }
-            
-            self.box?.downCallback = { [unowned self] (mouseEntered, mouseBox, event) in
-                self.mouseDownAction?(self, event)
-            }
-            
-            self.box?.rightDownCallback = { [unowned self] (mouseEntered, mouseBox, event) in
-                self.rightMouseDownAction?(self, event)
-            }
-            
-            self.contentBox?.wantsLayer = true
-            self.contentBox?.layer?.masksToBounds = true
-            self.contentBox = KMBox(frame: self.bounds)
-            self.contentBox?.borderWidth = 0
-            self.contentBox?.layer?.cornerRadius = 8
-            self.contentBox?.boxType = .custom
-            self.contentBox?.autoresizingMask = [.width, .height]
-            self.contentBox?.rightDownCallback = { [unowned self] (downEntered, mouseBox, event) in
-                guard let callBack = rightMouseDownAction else { return }
-                
-                callBack(self, event)
-            }
-        }
-        self.addSubview(self.contentBox!, positioned: NSWindow.OrderingMode.above, relativeTo: self)
-    }
-    
-    override func drawSelection(in dirtyRect: NSRect) {
-        self.reloadData()
-    }
-}
-
-
-extension KMBookMarkTableRowView {
-    func reloadData() {
-        self.drawView()
-    }
-    
-    func drawView(_ color: NSColor = NSColor.km_init(hex: "#EDEEF0")) {
-        if self.model!.select {
-            self.box?.backgroundColor(NSColor.km_init(hex: "#CED0D4", alpha: 0.6))
-            self.box?.layer?.cornerRadius = 4
-            self.box?.borderColor = NSColor.km_init(hex: "#CED0D4")
-            self.box?.borderWidth = 0
-        } else if self.model.hover {
-            self.box?.backgroundColor(NSColor.km_init(hex: "#EDEEF0"))
-            self.box?.layer?.cornerRadius = 4
-            self.box?.borderWidth = 0
-        } else {
-            self.box?.backgroundColor(NSColor.km_init(hex: "#F7F8FA"))
-            self.box?.borderWidth = 0
-        }
-    }
-}

+ 0 - 21
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMCellEmptyView.h

@@ -1,21 +0,0 @@
-//
-//  KMCellEmptyView.h
-//  PDF Reader Pro
-//
-//  Created by Niehaoyu on 2023/2/28.
-//
-
-#import <Cocoa/Cocoa.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface KMCellEmptyView : NSView
-
-@property (nonatomic, assign) NSInteger itemIndex;
-
-@property (nonatomic, copy) void(^mouseEventHandle)(BOOL mouseEnter, BOOL mouseExit);
-
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 61
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/BookMarks/View/KMCellEmptyView.m

@@ -1,61 +0,0 @@
-//
-//  KMCellEmptyView.m
-//  PDF Reader Pro
-//
-//  Created by Niehaoyu on 2023/2/28.
-//
-
-#import "KMCellEmptyView.h"
-
-@interface KMCellEmptyView ()
-
-@property (nonatomic, copy) NSTrackingArea *trackingArea;
-
-@end
-
-@implementation KMCellEmptyView
-
-- (void)drawRect:(NSRect)dirtyRect {
-    [super drawRect:dirtyRect];
-    
-    // Drawing code here.
-}
-
-- (id)init {
-    self = [super init];
-    if (self) {
-        [self setUp];
-    }
-    return self;
-}
-
-- (id)initWithFrame:(NSRect)frameRect {
-    self = [super initWithFrame:frameRect];
-    if (self) {
-        [self setUp];
-    }
-    return self;
-}
-
-- (void)setUp {
-    self.trackingArea = [[NSTrackingArea alloc] initWithRect:self.bounds options:NSTrackingMouseEnteredAndExited | NSTrackingInVisibleRect | NSTrackingActiveInKeyWindow owner:self userInfo:nil];
-    [self addTrackingArea:self.trackingArea];
-}
-
-- (void)mouseEntered:(NSEvent *)event {
-    [super mouseEntered:event];
-    
-    if (self.mouseEventHandle) {
-        self.mouseEventHandle(YES, NO);
-    }
-}
-
-- (void)mouseExited:(NSEvent *)event {
-    [super mouseExited:event];
-    
-    if (self.mouseEventHandle) {
-        self.mouseEventHandle(NO, YES);
-    }
-}
-
-@end

+ 0 - 19
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFormCellView.swift

@@ -1,19 +0,0 @@
-//
-//  KMFormCellView.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/12/14.
-//
-
-import Cocoa
-
-class KMFormCellView: NSTableCellView {
-    @IBOutlet weak var widgetImageView: NSImageView!
-    @IBOutlet weak var widgetTitleLabel: NSTextField!
-    @IBOutlet weak var leftOffset: NSLayoutConstraint!
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
-
-    }
-    
-}

+ 0 - 41
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFormModel.swift

@@ -1,41 +0,0 @@
-//
-//  KMFormModel.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/12/14.
-//
-
-import Cocoa
-
-class KMFormModel: NSObject {
-    var groupName : String = ""
-    var index : UInt = 0
-    var annotation : CPDFWidgetAnnotation = CPDFWidgetAnnotation()
-    var datas : [KMFormModel] = []
-    
-    class func getFormAnnotations(document:CPDFDocument) -> [KMFormModel] {
-        var formAnnotations : [KMFormModel] = []
-        for i in 0..<document.pageCount {
-            let page : CPDFPage = document.page(at: i)
-            var pageModels : [KMFormModel] = []
-            for annotation in page.annotations {
-                var formModel = KMFormModel()
-                formModel.index = i
-                if (annotation is CPDFTextWidgetAnnotation) ||
-                    (annotation is CPDFButtonWidgetAnnotation) ||
-                    (annotation is CPDFChoiceWidgetAnnotation) {
-                    formModel.annotation = annotation as! CPDFWidgetAnnotation
-                    pageModels.append(formModel)
-                }
-            }
-            var pageModel = KMFormModel()
-            pageModel.index = i
-            pageModel.datas = pageModels
-            if(pageModels.count > 0) {
-                formAnnotations.append(pageModel)
-            }
-        }
-        return formAnnotations
-    }
-}
-

+ 0 - 235
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFromViewController.swift

@@ -1,235 +0,0 @@
-//
-//  KMFromViewController.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/10/10.
-//
-
-import Cocoa
-
-class KMFromViewController: NSViewController {
-
-    @IBOutlet weak var titleLabel: NSTextField!
-    @IBOutlet weak var formOutilneView: NSOutlineView!
-    @IBOutlet weak var topBackView: NSView!
-    
-    var listView : CPDFListView = CPDFListView()
-    var widgetAnnotations : [KMFormModel] = []
-    var renameTextField : NSTextField!
-    var renameFormModel : KMFormModel!
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        self.view.wantsLayer = true
-        self.view.layer?.backgroundColor = NSColor.gray.cgColor
-        self.topBackView.wantsLayer = true
-        self.topBackView.layer?.backgroundColor = NSColor.white.cgColor
-        self.titleLabel.stringValue = NSLocalizedString("域", comment: "")
-        self.formOutilneView.doubleAction = #selector(renameWidgetAction)
-        self.addoutlineMenu()
-        self.reloadData()
-    }
-    
-    public func reloadData() {
-        self.widgetAnnotations.removeAll()
-        if self.listView.document == nil {
-            return
-        }
-        self.widgetAnnotations = KMFormModel.getFormAnnotations(document: self.listView.document)
-        self.formOutilneView.reloadData()
-    }
-    
-    func addoutlineMenu() {
-        let menus : NSMenu = NSMenu(title: "")
-        let deleteItem = self.menuItemWithTitle(title: NSLocalizedString("Delete", comment: ""), action: #selector(deleteWidgetAction))
-        let renameItem = self.menuItemWithTitle(title: NSLocalizedString("Rename", comment: ""), action: #selector(renameWidgetAction))
-        menus.addItem(renameItem)
-        menus.addItem(deleteItem)
-        self.formOutilneView.menu = menus
-    }
-    
-    @objc func deleteWidgetAction() {
-        let selectedRowIndexes : IndexSet! = self.selectedRowIndexs()
-        if selectedRowIndexes.count == 0 {
-            __NSBeep()
-        } else {
-            var selectedPDFOutlineArr = [KMFormModel]();
-            for index in selectedRowIndexes {
-                var outline : KMFormModel = self.formOutilneView.item(atRow: index) as! KMFormModel
-                selectedPDFOutlineArr.append(outline)
-            }
-            for form in selectedPDFOutlineArr {
-                if form.datas.count > 0 {
-                    
-                }
-                if (form.annotation.fieldName() != nil) {
-                    form.annotation.page.removeAnnotation(form.annotation)
-                }
-            }
-            self.listView.setNeedsDisplayForVisiblePages()
-            self.reloadData()
-        }
-
-    }
-    
-    @objc func renameWidgetAction() {
-        if self.formOutilneView.clickedRow >= 0 {
-            self.renameFormModel = self.formOutilneView.item(atRow: self.formOutilneView.clickedRow) as? KMFormModel
-            if self.renameFormModel.annotation.fieldName() == nil {
-                return
-            }
-            let cell : KMFormCellView = self.formOutilneView.view(atColumn: 0, row: self.formOutilneView.clickedRow, makeIfNecessary: true) as! KMFormCellView
-            self.renameTextField = cell.widgetTitleLabel
-            self.renameTextField.delegate = self
-            self.renameTextField.isEditable = true
-            self.renameTextField.becomeFirstResponder()
-        } else {
-            __NSBeep()
-        }
-    }
-    
-    private func renameWidgetAnnotation(model:KMFormModel,label:String) {
-        if model.annotation.fieldName() != nil {
-            if model.annotation.fieldName() == label {
-                return
-            }
-            model.annotation.setFieldName(label)
-            self.formOutilneView.reloadData()
-            
-            var indexSet = IndexSet()
-            indexSet.insert(self.formOutilneView.row(forItem: model))
-            self.formOutilneView.selectRowIndexes(indexSet, byExtendingSelection: false)
-
-        }
-    }
-    
-    private func selectedRowIndexs() -> IndexSet {
-        let clickRow = self.formOutilneView.clickedRow
-        var selectedRowIndexs = self.formOutilneView.selectedRowIndexes
-        if(clickRow != -1 && !selectedRowIndexs.contains(clickRow)) {
-            selectedRowIndexs = [clickRow]
-        }
-        return selectedRowIndexs
-    }
-    
-    
-    private func menuItemWithTitle(title:String, action:Selector?) -> NSMenuItem {
-        let menuItem = NSMenuItem.init(title: title as String, action: action, keyEquivalent: "")
-        menuItem.target = self
-        return menuItem
-    }
-    
-    
-}
-
-// MARK - NSOutlineViewDataSource,NSOutlineViewDelegate
-
-extension KMFromViewController : NSOutlineViewDataSource,NSOutlineViewDelegate {
-    func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: Any?) -> Int {
-        let indexModel = item as? KMFormModel
-        var count = 0
-        if indexModel == nil {
-            count = self.widgetAnnotations.count;
-        } else {
-            count = indexModel?.datas.count ?? 0
-        }
-        if(count == 0) { //无数据时的图
-            
-        } else {
-            
-        }
-        return count
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: Any?) -> Any {
-        let indexModel = item as? KMFormModel
-        var child = KMFormModel()
-        if indexModel == nil {
-            child = self.widgetAnnotations[index];
-        } else {
-            child = indexModel?.datas[index] ?? KMFormModel()
-        }
-        return child
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool {
-        let newitem = item as? KMFormModel
-        return newitem?.datas.count ?? 0 > 0
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, viewFor tableColumn: NSTableColumn?, item:Any) -> NSView? {
-        let cell : KMFormCellView = outlineView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMFormCellView"), owner: self) as! KMFormCellView
-        let model : KMFormModel = item as! KMFormModel
-        if (model.annotation.fieldName() != nil) {
-          if(model.datas.count > 0 && model.groupName != ""){
-                cell.widgetTitleLabel.stringValue = model.annotation.fieldName()
-                cell.widgetImageView.isHidden = false
-                cell.leftOffset.constant = 36
-            } else if (model.datas.count == 0 && model.groupName == "") {
-                cell.widgetTitleLabel.stringValue = model.annotation.fieldName()
-                cell.widgetImageView.isHidden = false
-                cell.leftOffset.constant = 36
-            }
-        } else {
-            cell.widgetTitleLabel.stringValue = "\(model.index+1) page"
-            cell.widgetImageView.isHidden = true
-            cell.leftOffset.constant = 10
-        }
-        let font : NSFont = NSFont.systemFont(ofSize: CGFloat(UserDefaults.standard.float(forKey: "SKOfficeTableFontSize")))
-        if (font != nil) {
-            cell.widgetTitleLabel.font = NSFont.init(name: cell.widgetTitleLabel.font!.fontName, size: font.pointSize)
-        }
-        
-        return cell
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, rowViewForItem item: Any) -> NSTableRowView? {
-        let rowView = KMCustomTableRowView()
-        return rowView
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, heightOfRowByItem item: Any) -> CGFloat {
-        let font : NSFont = NSFont.systemFont(ofSize: CGFloat(UserDefaults.standard.float(forKey: "SKOfficeTableFontSize")))
-        return 27 + font.pointSize
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, shouldSelectItem item: Any) -> Bool {
-        if self.formOutilneView.selectedRowIndexes.count > 1 {
-            return true
-        }
-        let model : KMFormModel = item as! KMFormModel
-        if model.datas.count == 0 && model.annotation.fieldName() != nil {
-            self.listView.go(to: model.annotation.bounds, on: model.annotation.page, animated: true)
-        }
-        return true
-    }
-    
-}
-
-// MARK - NSTextFieldDelegate
-
-extension KMFromViewController : NSTextFieldDelegate ,NSMenuItemValidation {
-    func controlTextDidEndEditing(_ obj: Notification) {
-        if (self.renameTextField.isEqual(obj.object)) {
-            let textField : NSTextField = obj.object as! NSTextField
-            self.renameWidgetAnnotation(model: self.renameFormModel, label: textField.stringValue)
-        }
-    }
-    
-    func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
-        let action = menuItem.action
-        if action == #selector(deleteWidgetAction) ||
-            action == #selector(renameWidgetAction){
-            if self.formOutilneView.selectedRowIndexes.count > 0 {
-                let model : KMFormModel = self.formOutilneView.item(atRow: self.formOutilneView.clickedRow) as! KMFormModel
-                if(model.annotation.fieldName() == nil) {
-                    return false
-                }
-              return true
-            } else {
-                return false
-            }
-        }
-        return true
-    }
-    
-}

+ 0 - 154
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/From/KMFromViewController.xib

@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMFromViewController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="formOutilneView" destination="sRO-lE-exy" id="Yg6-94-x6v"/>
-                <outlet property="titleLabel" destination="HyT-J4-Grv" id="QSP-mw-sBZ"/>
-                <outlet property="topBackView" destination="aY9-qR-LAW" id="uD0-BK-CZX"/>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView misplaced="YES" id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="293" height="361"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <subviews>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="aY9-qR-LAW">
-                    <rect key="frame" x="0.0" y="314" width="293" height="40"/>
-                    <subviews>
-                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HyT-J4-Grv">
-                            <rect key="frame" x="14" y="12" width="40" height="17"/>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="cF5-Vp-D4f">
-                                <font key="font" metaFont="system" size="14"/>
-                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                            </textFieldCell>
-                        </textField>
-                        <comboBox verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="X0s-VG-AX0">
-                            <rect key="frame" x="232" y="8" width="54" height="23"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="50" id="dq9-rE-Zhs"/>
-                            </constraints>
-                            <comboBoxCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" title="A" drawsBackground="YES" completes="NO" numberOfVisibleItems="3" id="mPy-gj-cOF">
-                                <font key="font" metaFont="system"/>
-                                <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                <objectValues>
-                                    <string>11</string>
-                                    <string>Item 2</string>
-                                    <string>Item 3</string>
-                                </objectValues>
-                            </comboBoxCell>
-                        </comboBox>
-                    </subviews>
-                    <constraints>
-                        <constraint firstItem="HyT-J4-Grv" firstAttribute="centerY" secondItem="aY9-qR-LAW" secondAttribute="centerY" id="EeG-i2-JbV"/>
-                        <constraint firstItem="X0s-VG-AX0" firstAttribute="centerY" secondItem="aY9-qR-LAW" secondAttribute="centerY" id="RAB-a5-e3U"/>
-                        <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="cXT-s5-sfR"/>
-                        <constraint firstAttribute="height" constant="40" id="geX-qr-HWb"/>
-                        <constraint firstAttribute="trailing" secondItem="X0s-VG-AX0" secondAttribute="trailing" constant="10" id="q5b-WL-3H6"/>
-                        <constraint firstItem="HyT-J4-Grv" firstAttribute="leading" secondItem="aY9-qR-LAW" secondAttribute="leading" constant="16" id="wgd-Fs-AxR"/>
-                    </constraints>
-                </customView>
-                <scrollView autohidesScrollers="YES" horizontalLineScroll="43" horizontalPageScroll="10" verticalLineScroll="43" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YgO-Eb-mi8">
-                    <rect key="frame" x="0.0" y="0.0" width="293" height="314"/>
-                    <clipView key="contentView" id="olV-TU-clW">
-                        <rect key="frame" x="1" y="1" width="291" height="312"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowHeight="43" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="13" outlineTableColumn="hak-HS-7Jv" id="sRO-lE-exy">
-                                <rect key="frame" x="0.0" y="0.0" width="291" height="312"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                <size key="intercellSpacing" width="17" height="0.0"/>
-                                <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
-                                <tableColumns>
-                                    <tableColumn identifier="AutomaticTableColumnIdentifier.0" width="279" minWidth="40" maxWidth="1000" id="hak-HS-7Jv">
-                                        <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
-                                            <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
-                                            <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
-                                        </tableHeaderCell>
-                                        <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="T4H-wf-QCs">
-                                            <font key="font" metaFont="system"/>
-                                            <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                            <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                        </textFieldCell>
-                                        <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
-                                        <prototypeCellViews>
-                                            <tableCellView identifier="KMFormCellView" id="eNI-UO-01S" customClass="KMFormCellView" customModule="PDF_Office" customModuleProvider="target">
-                                                <rect key="frame" x="8" y="0.0" width="274" height="43"/>
-                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                                <subviews>
-                                                    <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LfL-2i-Q5a">
-                                                        <rect key="frame" x="10" y="14" width="16" height="16"/>
-                                                        <constraints>
-                                                            <constraint firstAttribute="width" constant="16" id="5Bq-Mv-cqA"/>
-                                                            <constraint firstAttribute="height" constant="16" id="JAW-gR-sTL"/>
-                                                        </constraints>
-                                                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameWidgtStyeRound" id="Hz3-a6-Cak"/>
-                                                    </imageView>
-                                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WEI-9K-TKe">
-                                                        <rect key="frame" x="34" y="14" width="232" height="16"/>
-                                                        <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="Nfx-vs-TX7">
-                                                            <font key="font" metaFont="system"/>
-                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                            <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                        </textFieldCell>
-                                                    </textField>
-                                                </subviews>
-                                                <constraints>
-                                                    <constraint firstItem="LfL-2i-Q5a" firstAttribute="centerY" secondItem="eNI-UO-01S" secondAttribute="centerY" id="FYW-Z2-OrD"/>
-                                                    <constraint firstItem="WEI-9K-TKe" firstAttribute="leading" secondItem="eNI-UO-01S" secondAttribute="leading" constant="36" id="Q6f-SE-dp8"/>
-                                                    <constraint firstItem="WEI-9K-TKe" firstAttribute="centerY" secondItem="eNI-UO-01S" secondAttribute="centerY" id="QWJ-Vp-Lm5"/>
-                                                    <constraint firstItem="LfL-2i-Q5a" firstAttribute="leading" secondItem="eNI-UO-01S" secondAttribute="leading" constant="10" id="ZdA-c8-mXN"/>
-                                                    <constraint firstAttribute="trailing" secondItem="WEI-9K-TKe" secondAttribute="trailing" constant="10" id="gh8-7P-cWR"/>
-                                                </constraints>
-                                                <connections>
-                                                    <outlet property="leftOffset" destination="Q6f-SE-dp8" id="DyH-Hl-QMl"/>
-                                                    <outlet property="widgetImageView" destination="LfL-2i-Q5a" id="Ft5-1x-1aV"/>
-                                                    <outlet property="widgetTitleLabel" destination="WEI-9K-TKe" id="o9n-rF-aWH"/>
-                                                </connections>
-                                            </tableCellView>
-                                        </prototypeCellViews>
-                                    </tableColumn>
-                                </tableColumns>
-                                <connections>
-                                    <outlet property="dataSource" destination="-2" id="tAh-8h-pFP"/>
-                                    <outlet property="delegate" destination="-2" id="Hwz-Hn-eWR"/>
-                                </connections>
-                            </outlineView>
-                        </subviews>
-                    </clipView>
-                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="pfy-6d-0uD">
-                        <rect key="frame" x="1" y="119" width="223" height="15"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                    <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="n9g-CP-dfS">
-                        <rect key="frame" x="224" y="17" width="15" height="102"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                </scrollView>
-            </subviews>
-            <constraints>
-                <constraint firstItem="YgO-Eb-mi8" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="1Kf-di-vEN"/>
-                <constraint firstItem="YgO-Eb-mi8" firstAttribute="top" secondItem="aY9-qR-LAW" secondAttribute="bottom" id="690-lM-B6m"/>
-                <constraint firstAttribute="trailing" secondItem="aY9-qR-LAW" secondAttribute="trailing" id="BlL-hh-2TJ"/>
-                <constraint firstAttribute="bottom" secondItem="YgO-Eb-mi8" secondAttribute="bottom" id="ERb-Q2-hbU"/>
-                <constraint firstItem="aY9-qR-LAW" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="chb-Ty-mK4"/>
-                <constraint firstItem="aY9-qR-LAW" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="f08-Mo-AoC"/>
-                <constraint firstAttribute="trailing" secondItem="YgO-Eb-mi8" secondAttribute="trailing" id="haz-Te-S0n"/>
-            </constraints>
-            <point key="canvasLocation" x="39.5" y="-83.5"/>
-        </customView>
-    </objects>
-    <resources>
-        <image name="KMImageNameWidgtStyeRound" width="17" height="17"/>
-    </resources>
-</document>

+ 0 - 48
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMBotaEnum.swift

@@ -1,48 +0,0 @@
-//
-//  KMBotaEnum.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2023/11/17.
-//
-
-import Foundation
-
-enum KMNoteSortType: Int {
-    case none = 0
-    case time
-    case page
-}
-
-enum KMLeftSidePaneState: Int {
-    case thumbnail = 1
-    case outline
-    case noteList
-    case snapshotList
-    case find
-}
-
-enum KMFindPaneState: Int {
-    case singular = 1
-    case grouped
-}
-
-enum KMFindState: Int {
-    case none
-    case content = 1
-    case note
-    case snapshot
-}
-
-enum KMSelectedSegmentType: Int {
-    case thumbnail = 0
-    case outline
-    case annotation
-    case snapshot
-    case search
-}
-
-enum KMFoldType: Int {
-    case none = 0 //混合
-    case unfold //展开
-    case fold //折叠
-}

+ 41 - 41
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideEmptyFileViewController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -47,7 +47,7 @@
                     </constraints>
                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameEmptyOutline" id="xTs-0M-2EN"/>
                 </imageView>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7TT-b6-xI5">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7TT-b6-xI5">
                     <rect key="frame" x="8" y="0.0" width="234" height="64"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="230" id="f8d-09-WPh"/>
@@ -58,7 +58,7 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oeS-AN-7yC">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oeS-AN-7yC">
                     <rect key="frame" x="105" y="72" width="41" height="20"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="20" id="inP-9J-jYt"/>
@@ -95,7 +95,7 @@
                     </constraints>
                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameEmptyAnnotate" id="xQC-nQ-tTf"/>
                 </imageView>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="47g-Dt-afg">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="47g-Dt-afg">
                     <rect key="frame" x="8" y="0.0" width="234" height="17"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="230" id="J9X-mH-mGw"/>
@@ -130,7 +130,7 @@
                     </constraints>
                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameEmptySnapshot" id="X5s-Om-ndi"/>
                 </imageView>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yc4-ZB-O7V">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yc4-ZB-O7V">
                     <rect key="frame" x="-2" y="0.0" width="200" height="51"/>
                     <constraints>
                         <constraint firstAttribute="width" constant="196" id="YrF-za-9sF"/>
@@ -141,7 +141,7 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Kte-98-v4B">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Kte-98-v4B">
                     <rect key="frame" x="24" y="59" width="149" height="20"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="20" id="NOe-Kc-oC0"/>
@@ -175,30 +175,30 @@
                 <subviews>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="X7a-nf-rDc">
                         <rect key="frame" x="15" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="14" id="GEn-c9-BMH"/>
-                            <constraint firstAttribute="width" constant="14" id="M1L-DB-Big"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelAdd" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="jRa-s3-3d8">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="14" id="GEn-c9-BMH"/>
+                            <constraint firstAttribute="width" constant="14" id="M1L-DB-Big"/>
+                        </constraints>
                     </button>
                     <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="bP3-Nf-C2I">
                         <rect key="frame" x="0.0" y="32" width="227" height="5"/>
                     </box>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="MvQ-sy-CY3">
                         <rect key="frame" x="198" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="14" id="5vf-vs-vKX"/>
-                            <constraint firstAttribute="height" constant="14" id="IGv-ad-Aet"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelDelete" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="rpR-2M-lFY">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="14" id="5vf-vs-vKX"/>
+                            <constraint firstAttribute="height" constant="14" id="IGv-ad-Aet"/>
+                        </constraints>
                     </button>
-                    <searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2gK-9s-hTv">
+                    <searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2gK-9s-hTv">
                         <rect key="frame" x="44" y="6" width="139" height="22"/>
                         <searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" usesSingleLineMode="YES" bezelStyle="round" id="EUI-bh-kxn">
                             <font key="font" metaFont="system"/>
@@ -238,36 +238,36 @@
                 <subviews>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="DG5-Xh-lr1">
                         <rect key="frame" x="15" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="14" id="I1v-3I-Nky"/>
-                            <constraint firstAttribute="width" constant="14" id="z5E-6V-nHx"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelFilter" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="LkR-sl-y1A">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="14" id="I1v-3I-Nky"/>
+                            <constraint firstAttribute="width" constant="14" id="z5E-6V-nHx"/>
+                        </constraints>
                     </button>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="ciN-Xf-UZ7">
                         <rect key="frame" x="218" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="14" id="HuD-Zz-xap"/>
-                            <constraint firstAttribute="width" constant="14" id="ILG-LZ-dg3"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelDelete" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="Mxj-ER-jfI">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="14" id="HuD-Zz-xap"/>
+                            <constraint firstAttribute="width" constant="14" id="ILG-LZ-dg3"/>
+                        </constraints>
                     </button>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="VqP-1s-dWq">
                         <rect key="frame" x="184" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="14" id="OKc-DO-wbd"/>
-                            <constraint firstAttribute="height" constant="14" id="i1W-er-sPF"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelExport" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="kiC-vX-HTv">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="14" id="OKc-DO-wbd"/>
+                            <constraint firstAttribute="height" constant="14" id="i1W-er-sPF"/>
+                        </constraints>
                     </button>
                     <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="zOU-KG-4tM">
                         <rect key="frame" x="0.0" y="32" width="247" height="5"/>
@@ -298,36 +298,36 @@
                 <subviews>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="W35-Dq-30v">
                         <rect key="frame" x="15" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="14" id="J1Z-TB-ciy"/>
-                            <constraint firstAttribute="height" constant="14" id="R8j-T5-O7J"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelPrint" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="dqz-ex-BsD">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="14" id="J1Z-TB-ciy"/>
+                            <constraint firstAttribute="height" constant="14" id="R8j-T5-O7J"/>
+                        </constraints>
                     </button>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="dNM-Fh-l0S">
                         <rect key="frame" x="218" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="14" id="PJC-51-nmM"/>
-                            <constraint firstAttribute="height" constant="14" id="k9v-LH-f7g"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelDelete" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="46O-k3-rKG">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="14" id="PJC-51-nmM"/>
+                            <constraint firstAttribute="height" constant="14" id="k9v-LH-f7g"/>
+                        </constraints>
                     </button>
                     <button translatesAutoresizingMaskIntoConstraints="NO" id="AKb-aF-sGs">
                         <rect key="frame" x="184" y="10" width="14" height="14"/>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="14" id="CmC-ai-q58"/>
-                            <constraint firstAttribute="height" constant="14" id="lng-VI-nzE"/>
-                        </constraints>
                         <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNamePanelExport" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="JrZ-Ml-RQb">
                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                             <font key="font" metaFont="system"/>
                         </buttonCell>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="14" id="CmC-ai-q58"/>
+                            <constraint firstAttribute="height" constant="14" id="lng-VI-nzE"/>
+                        </constraints>
                     </button>
                     <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="4ld-Nj-QKb">
                         <rect key="frame" x="0.0" y="32" width="247" height="5"/>
@@ -361,7 +361,7 @@
                     </constraints>
                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameEmptySearch" id="xKG-a1-oh4"/>
                 </imageView>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hPH-of-lqx">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hPH-of-lqx">
                     <rect key="frame" x="70" y="0.0" width="41" height="17"/>
                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="7gf-oW-tWk">
                         <font key="font" metaFont="systemSemibold" size="14"/>

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

@@ -15,7 +15,6 @@ import Cocoa
     @objc optional func controller(_ controller: KMLeftSideViewController, dispayDidChange dispay: KMPDFDisplayType)
     @objc optional func controller(controller: KMLeftSideViewController, itemClick item: Any?, itemKey: KMItemKey, params: Any?)
     
-    @objc optional func controller(controller: KMLeftSideViewController, bookMarkDidChange bookMarks: [KMBookMarkItem])
     @objc optional func controller(controller: KMLeftSideViewController, rotateType: KMRotateType)
     
     @objc optional func controller(controller: KMLeftSideViewController, listViewSelectionDidChange object: Any?, info: [String : Any]?)
@@ -216,7 +215,7 @@ class KMLeftSideViewController: KMSideViewController {
     }
     var dragIn = false
     
-    let model = KMBotaModel()
+    let model = KMPDFThumbBaseModel()
     
     private let KPDFThumbnailDoucumentURLForDraggedTypes  = NSPasteboard.PasteboardType("KPDFThumbnailDoucumentURLForDraggedTypes")
     

+ 99 - 99
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/LeftSideView.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
     <dependencies>
         <deployment version="1070" identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="Named colors" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -116,7 +116,7 @@
                                                 </constraints>
                                                 <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameEmptySearch" id="iTU-Mu-Ivw"/>
                                             </imageView>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="goc-q3-DCs">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="goc-q3-DCs">
                                                 <rect key="frame" x="58" y="0.0" width="41" height="20"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="20" id="kF2-kX-RYZ"/>
@@ -163,7 +163,7 @@
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <clipView key="contentView" drawsBackground="NO" id="fXK-1u-PsQ">
                 <rect key="frame" x="0.0" y="0.0" width="201" height="405"/>
-                <autoresizingMask key="autoresizingMask"/>
+                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                 <subviews>
                     <tableView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="firstColumnOnly" selectionHighlightStyle="none" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="86" rowSizeStyle="automatic" viewBased="YES" id="101" customClass="KMThumbnailTableView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                         <rect key="frame" x="0.0" y="0.0" width="201" height="405"/>
@@ -200,7 +200,7 @@
                                                         <customView translatesAutoresizingMaskIntoConstraints="NO" id="VNq-HZ-C3b">
                                                             <rect key="frame" x="73" y="17" width="33" height="29"/>
                                                             <subviews>
-                                                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Thb-0O-0yD">
+                                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Thb-0O-0yD">
                                                                     <rect key="frame" x="-2" y="0.0" width="37" height="15"/>
                                                                     <constraints>
                                                                         <constraint firstAttribute="height" constant="14.5" id="dsA-C5-hfY"/>
@@ -211,7 +211,7 @@
                                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                                     </textFieldCell>
                                                                 </textField>
-                                                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qOa-Jf-kcJ">
+                                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qOa-Jf-kcJ">
                                                                     <rect key="frame" x="-2" y="15" width="37" height="14"/>
                                                                     <constraints>
                                                                         <constraint firstAttribute="height" constant="14.5" id="gtw-n0-cDW"/>
@@ -310,7 +310,7 @@
                                         <rect key="frame" x="11" y="0.0" width="255" height="40"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
-                                            <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Jau-cO-5Ol">
+                                            <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Jau-cO-5Ol">
                                                 <rect key="frame" x="0.0" y="13" width="211" height="15"/>
                                                 <textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Table View Cell" id="2u5-pC-7K9">
                                                     <font key="font" metaFont="cellTitle"/>
@@ -321,7 +321,7 @@
                                                     </connections>
                                                 </textFieldCell>
                                             </textField>
-                                            <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="qjX-Uj-T3m">
+                                            <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="qjX-Uj-T3m">
                                                 <rect key="frame" x="212" y="13" width="43" height="15"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="39" id="lYn-PW-tOw"/>
@@ -396,7 +396,7 @@
                                         <rect key="frame" x="10" y="1" width="128" height="40"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="QCf-DA-Ep5">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="QCf-DA-Ep5">
                                                 <rect key="frame" x="-2" y="5" width="132" height="30"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="30" id="aeE-Zj-40Z"/>
@@ -435,7 +435,7 @@
                                         <rect key="frame" x="138" y="1" width="56" height="40"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aMp-rS-uGn">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aMp-rS-uGn">
                                                 <rect key="frame" x="0.0" y="0.0" width="56" height="30"/>
                                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                 <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="right" title="10000" id="fJk-rj-99q">
@@ -496,7 +496,7 @@
                                         <rect key="frame" x="11" y="1" width="122" height="17"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GUZ-oY-a1n">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GUZ-oY-a1n">
                                                 <rect key="frame" x="0.0" y="1" width="122" height="16"/>
                                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                 <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="lho-ux-z3n">
@@ -529,7 +529,7 @@
                                         <rect key="frame" x="136" y="1" width="54" height="17"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wak-VN-Wb6">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wak-VN-Wb6">
                                                 <rect key="frame" x="0.0" y="1" width="54" height="16"/>
                                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                                 <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="f7e-Zk-8vT">
@@ -624,52 +624,52 @@
             <subviews>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GOJ-Qf-Ke3">
                     <rect key="frame" x="186" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="24" id="0SA-7D-AtK"/>
-                        <constraint firstAttribute="height" constant="24" id="oCe-eC-P7g"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarMoreNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="E0s-hP-bFq">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="24" id="0SA-7D-AtK"/>
+                        <constraint firstAttribute="height" constant="24" id="oCe-eC-P7g"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dAD-27-KvU">
                     <rect key="frame" x="158" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="WBX-JR-jPB"/>
-                        <constraint firstAttribute="width" constant="24" id="k1G-tK-0RS"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarSearchNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="eiz-lk-Rph">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="WBX-JR-jPB"/>
+                        <constraint firstAttribute="width" constant="24" id="k1G-tK-0RS"/>
+                    </constraints>
                     <connections>
                         <action selector="snapshotNormalSearchButtonAction:" target="-2" id="f7f-uQ-mN8"/>
                     </connections>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NpN-wz-Vyd">
                     <rect key="frame" x="130" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="24" id="Nnx-4K-Of5"/>
-                        <constraint firstAttribute="height" constant="24" id="ZGK-s1-R6D"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarZoominNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="Wfh-ap-Fng">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="24" id="Nnx-4K-Of5"/>
+                        <constraint firstAttribute="height" constant="24" id="ZGK-s1-R6D"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DkM-JB-LDl">
                     <rect key="frame" x="102" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="MVd-g4-RdE"/>
-                        <constraint firstAttribute="width" constant="24" id="UCK-4j-jfd"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarZoomoutNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="RO7-Gb-Amh">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="MVd-g4-RdE"/>
+                        <constraint firstAttribute="width" constant="24" id="UCK-4j-jfd"/>
+                    </constraints>
                 </button>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Hab-Lm-vgq">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Hab-Lm-vgq">
                     <rect key="frame" x="14" y="12" width="4" height="17"/>
                     <textFieldCell key="cell" lineBreakMode="clipping" id="5Os-Lo-Gi1">
                         <font key="font" metaFont="system" size="14"/>
@@ -677,7 +677,7 @@
                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="irK-sg-vP0" customClass="KMLeftSideViewSearchField" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="irK-sg-vP0" customClass="KMLeftSideViewSearchField" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="16" y="10" width="148" height="20"/>
                     <searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="border" usesSingleLineMode="YES" id="kRD-Z2-HfO">
                         <font key="font" metaFont="system"/>
@@ -687,35 +687,35 @@
                 </searchField>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Eod-4a-bTt">
                     <rect key="frame" x="16" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="9ad-UY-lwq"/>
-                        <constraint firstAttribute="width" constant="24" id="vZ9-Hm-I6n"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarZoominNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="ctc-Rp-d2V">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="9ad-UY-lwq"/>
+                        <constraint firstAttribute="width" constant="24" id="vZ9-Hm-I6n"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bWl-Nk-NDn">
                     <rect key="frame" x="44" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="24" id="ab8-9d-R0k"/>
-                        <constraint firstAttribute="height" constant="24" id="cqT-3l-Ykf"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarZoomoutNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="hQs-MM-x0h">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="24" id="ab8-9d-R0k"/>
+                        <constraint firstAttribute="height" constant="24" id="cqT-3l-Ykf"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mmh-ag-0z9">
                     <rect key="frame" x="172" y="10" width="42" height="20"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="20" id="dFp-ir-p4o"/>
-                    </constraints>
                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="Tfj-vg-1m0">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="cellTitle"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="20" id="dFp-ir-p4o"/>
+                    </constraints>
                 </button>
             </subviews>
             <constraints>
@@ -748,41 +748,41 @@
             <subviews>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="BWq-cj-uIQ">
                     <rect key="frame" x="186" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="arw-m8-Woh"/>
-                        <constraint firstAttribute="width" constant="24" id="coU-Ui-Fjb"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarMoreNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="QgH-GX-ag4">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="arw-m8-Woh"/>
+                        <constraint firstAttribute="width" constant="24" id="coU-Ui-Fjb"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Uob-fO-6Nz">
                     <rect key="frame" x="158" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="24" id="cmV-HJ-q5H"/>
-                        <constraint firstAttribute="height" constant="24" id="lyW-IA-ykE"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarAddNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="Sic-Pv-Oul">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="24" id="cmV-HJ-q5H"/>
+                        <constraint firstAttribute="height" constant="24" id="lyW-IA-ykE"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="H8c-UN-cUJ">
                     <rect key="frame" x="130" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="LhX-Fg-rZI"/>
-                        <constraint firstAttribute="width" constant="24" id="cEH-oN-yaR"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarSearchNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="NMQ-2N-WHy">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="LhX-Fg-rZI"/>
+                        <constraint firstAttribute="width" constant="24" id="cEH-oN-yaR"/>
+                    </constraints>
                     <connections>
                         <action selector="outlineNormalSearchButtonAction:" target="-2" id="aBj-lz-PpP"/>
                     </connections>
                 </button>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aeg-9J-Ftu">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aeg-9J-Ftu">
                     <rect key="frame" x="14" y="12" width="4" height="17"/>
                     <textFieldCell key="cell" lineBreakMode="clipping" id="geD-uQ-hUf">
                         <font key="font" metaFont="system" size="14"/>
@@ -790,7 +790,7 @@
                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AS4-Jb-aDv" customClass="KMLeftSideViewSearchField" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AS4-Jb-aDv" customClass="KMLeftSideViewSearchField" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="16" y="10" width="148" height="20"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="20" id="FCx-Tg-Y3q"/>
@@ -803,13 +803,13 @@
                 </searchField>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WcK-HN-UBv">
                     <rect key="frame" x="172" y="10" width="42" height="20"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="20" id="5by-2A-4Jk"/>
-                    </constraints>
                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="nnv-UC-Zqf">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="cellTitle"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="20" id="5by-2A-4Jk"/>
+                    </constraints>
                 </button>
             </subviews>
             <constraints>
@@ -836,41 +836,41 @@
             <subviews>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bER-7Y-Kx7">
                     <rect key="frame" x="186" y="32" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="LA5-nZ-RsR"/>
-                        <constraint firstAttribute="width" constant="24" id="Y1E-YP-6Jl"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarMoreNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="3Tn-r6-YfJ">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="LA5-nZ-RsR"/>
+                        <constraint firstAttribute="width" constant="24" id="Y1E-YP-6Jl"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gnC-Ef-ofc">
                     <rect key="frame" x="158" y="32" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="DQM-Wb-LJn"/>
-                        <constraint firstAttribute="width" constant="24" id="P3e-XB-OWJ"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarFilterNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="9zX-E3-KsO">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="DQM-Wb-LJn"/>
+                        <constraint firstAttribute="width" constant="24" id="P3e-XB-OWJ"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aJQ-Wk-XIN">
                     <rect key="frame" x="126" y="32" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="JH6-hQ-mtC"/>
-                        <constraint firstAttribute="width" constant="24" id="KCc-LE-03R"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarSearchNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="2Ad-tv-8Kw">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="JH6-hQ-mtC"/>
+                        <constraint firstAttribute="width" constant="24" id="KCc-LE-03R"/>
+                    </constraints>
                     <connections>
                         <action selector="noteSearchAction:" target="-2" id="Xvb-SD-gVg"/>
                     </connections>
                 </button>
-                <searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hT-ge-tuO" customClass="KMLeftSideViewSearchField" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                <searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hT-ge-tuO" customClass="KMLeftSideViewSearchField" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="16" y="34" width="148" height="20"/>
                     <searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="border" usesSingleLineMode="YES" id="iP2-TC-BR6">
                         <font key="font" metaFont="system"/>
@@ -878,7 +878,7 @@
                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </searchFieldCell>
                 </searchField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="prI-y8-teC">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="prI-y8-teC">
                     <rect key="frame" x="14" y="36" width="4" height="17"/>
                     <textFieldCell key="cell" lineBreakMode="clipping" id="ZKv-SY-CIA">
                         <font key="font" metaFont="system" size="14"/>
@@ -895,7 +895,7 @@
                                 <rect key="frame" x="0.0" y="0.0" width="51" height="24"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AP9-fE-Owg">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AP9-fE-Owg">
                                         <rect key="frame" x="-2" y="5" width="39" height="15"/>
                                         <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Label" id="Vdb-Yo-ulT">
                                             <font key="font" metaFont="cellTitle"/>
@@ -923,14 +923,14 @@
                         </box>
                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1iN-nw-tgx">
                             <rect key="frame" x="190" y="4" width="16" height="16"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="16" id="60s-pY-OKe"/>
-                                <constraint firstAttribute="width" constant="16" id="e6a-BM-t0s"/>
-                            </constraints>
                             <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" image="KMImageNameBtnSidebarRankPositive" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="J6x-Dw-4uu">
                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                 <font key="font" metaFont="system"/>
                             </buttonCell>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="16" id="60s-pY-OKe"/>
+                                <constraint firstAttribute="width" constant="16" id="e6a-BM-t0s"/>
+                            </constraints>
                             <connections>
                                 <action selector="noteSortAction:" target="-2" id="1Iz-gH-dPX"/>
                             </connections>
@@ -947,13 +947,13 @@
                 </customView>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TX7-cB-bnj">
                     <rect key="frame" x="172" y="34" width="42" height="20"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="20" id="4mo-xc-VFx"/>
-                    </constraints>
                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="6S5-6Y-Gjp">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="cellTitle"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="20" id="4mo-xc-VFx"/>
+                    </constraints>
                 </button>
             </subviews>
             <constraints>
@@ -983,27 +983,27 @@
             <subviews>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="uAv-uK-Gpd">
                     <rect key="frame" x="186" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="24" id="JDS-gL-KWj"/>
-                        <constraint firstAttribute="height" constant="24" id="yMb-7Y-dC7"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarZoominNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="G4E-Cs-Ymb">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="24" id="JDS-gL-KWj"/>
+                        <constraint firstAttribute="height" constant="24" id="yMb-7Y-dC7"/>
+                    </constraints>
                 </button>
                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bce-SO-Ct8">
                     <rect key="frame" x="158" y="8" width="24" height="24"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="24" id="Wvw-lr-sEH"/>
-                        <constraint firstAttribute="width" constant="24" id="gRd-6B-0QT"/>
-                    </constraints>
                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconBtnSidebarZoomoutNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="OLC-HS-7h4">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
                     </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="24" id="Wvw-lr-sEH"/>
+                        <constraint firstAttribute="width" constant="24" id="gRd-6B-0QT"/>
+                    </constraints>
                 </button>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4v1-rQ-o49">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4v1-rQ-o49">
                     <rect key="frame" x="14" y="12" width="4" height="17"/>
                     <textFieldCell key="cell" lineBreakMode="clipping" id="Yzf-Uc-Gp1">
                         <font key="font" metaFont="system" size="14"/>
@@ -1061,7 +1061,7 @@
                                                             </constraints>
                                                             <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="wME-Iq-UtB"/>
                                                         </imageView>
-                                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RPy-lg-w53">
+                                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RPy-lg-w53">
                                                             <rect key="frame" x="99" y="16" width="33" height="16"/>
                                                             <constraints>
                                                                 <constraint firstAttribute="height" constant="16" id="RXn-Cw-cHH"/>
@@ -1165,7 +1165,7 @@
                                                         </constraints>
                                                         <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="Q6w-Zg-QPD"/>
                                                     </imageView>
-                                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pnF-AX-GzW">
+                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pnF-AX-GzW">
                                                         <rect key="frame" x="57" y="4" width="37" height="16"/>
                                                         <constraints>
                                                             <constraint firstAttribute="width" constant="33" id="RUe-fo-jZ0"/>
@@ -1176,7 +1176,7 @@
                                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                         </textFieldCell>
                                                     </textField>
-                                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nWk-O1-Rta">
+                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nWk-O1-Rta">
                                                         <rect key="frame" x="24" y="5" width="33" height="14"/>
                                                         <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="7cB-pn-RJG">
                                                             <font key="font" metaFont="smallSystem"/>
@@ -1195,7 +1195,7 @@
                                                     <constraint firstItem="pnF-AX-GzW" firstAttribute="leading" secondItem="nWk-O1-Rta" secondAttribute="trailing" constant="4" id="mVE-4y-n0N"/>
                                                 </constraints>
                                             </customView>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Pnc-2Q-X2x">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Pnc-2Q-X2x">
                                                 <rect key="frame" x="210" y="62" width="34" height="15"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="30" id="ns3-Zn-Vcw"/>
@@ -1211,14 +1211,14 @@
                                                 <subviews>
                                                     <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8iM-cD-LbJ">
                                                         <rect key="frame" x="0.0" y="43" width="16" height="16"/>
-                                                        <constraints>
-                                                            <constraint firstAttribute="width" constant="16" id="Abn-23-jdo"/>
-                                                            <constraint firstAttribute="height" constant="16" id="eGm-Gc-P4u"/>
-                                                        </constraints>
                                                         <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" image="KMImageNameBtnTriRightNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="RBQ-ie-wZI">
                                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                             <font key="font" metaFont="system"/>
                                                         </buttonCell>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="16" id="Abn-23-jdo"/>
+                                                            <constraint firstAttribute="height" constant="16" id="eGm-Gc-P4u"/>
+                                                        </constraints>
                                                         <connections>
                                                             <action selector="foldButtonAction:" target="3TS-lp-G7v" id="M0z-us-lv2"/>
                                                         </connections>
@@ -1229,7 +1229,7 @@
                                                             <rect key="frame" x="1" y="1" width="188" height="26"/>
                                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                             <subviews>
-                                                                <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="hDI-gM-mdu">
+                                                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="hDI-gM-mdu">
                                                                     <rect key="frame" x="5" y="5" width="178" height="17"/>
                                                                     <constraints>
                                                                         <constraint firstAttribute="height" constant="17" id="KpE-VJ-Nbx"/>
@@ -1249,7 +1249,7 @@
                                                             </constraints>
                                                         </view>
                                                     </box>
-                                                    <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="ItP-E5-6eI">
+                                                    <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="ItP-E5-6eI">
                                                         <rect key="frame" x="14" y="44" width="196" height="17"/>
                                                         <constraints>
                                                             <constraint firstAttribute="width" constant="192" id="i3V-IY-30U"/>

+ 0 - 12
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Model/KMBotaModel.swift

@@ -1,12 +0,0 @@
-//
-//  KMBotaModel.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2024/6/12.
-//
-
-import Cocoa
-
-class KMBotaModel: KMPDFThumbBaseModel {
-    
-}

+ 0 - 645
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/KMSearchViewController.swift

@@ -1,645 +0,0 @@
-//
-//  KMSearchViewController.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/11/17.
-//
-
-import Cocoa
-
-@objc protocol KMSearchViewControllerDelegate {
-    @objc optional func searchDoneAction(viewController:KMSearchViewController)
-    @objc optional func searchAction(searchString:String, isCase:Bool)
-}
-
-class CSearchFieldCustomCell : NSSearchFieldCell {
-    required init(coder: NSCoder) {
-        super.init(coder: coder)
-        let cancelCell = self.cancelButtonCell
-        let cancelImage = NSImage(named: "KMImageNameTriBtnClear")
-        cancelImage?.size = NSMakeSize(16, 16)
-        cancelCell?.image = cancelImage
-        cancelCell?.alternateImage = cancelImage
-        
-        let searchCell = self.searchButtonCell
-        let searchImage = NSImage(named: "KMImageNameSearchLeftImage")
-        searchImage?.size = NSMakeSize(16, 16)
-        searchCell?.image = searchImage
-        searchCell?.alternateImage = searchImage
-    }
-    
-    override func resetCancelButtonCell() {
-        super.resetCancelButtonCell()
-    }
-}
-
-class KMSearchViewController: NSViewController {
-    let CPDFOfficeSearchHistoryKey = "CPDFOfficeSearchHistoryKey"
-    @IBOutlet weak var findTipTextField: NSTextField!
-    @IBOutlet weak var resultTextField: NSTextField!
-    @IBOutlet weak var allTipTextField: NSTextField!
-    @IBOutlet weak var lineView: NSView!
-    
-    @IBOutlet weak var searchCotentView: NSView!
-    @IBOutlet weak var searchTextField: FocusAwareSearchTextField!
-    
-    @IBOutlet weak var doneButton: NSButton!
-    @IBOutlet weak var outlineView: KMOutlineView!
-    var isCase = false
-    let searchFieldMenu = NSMenu()
-    
-    @IBOutlet weak var emptyView: NSView!
-    
-    @IBOutlet weak var tipTitleLabel: NSTextField!
-    @IBOutlet weak var searResultLabel: NSTextField!
-    
-    //select 多选
-    var selectItems: [KMSearchMode] = []
-    
-    var listView : CPDFListView!
-    var searchResults : [KMSearchMode] = []
-    var sortResults : [KMSearchMode] = []
-    var isCancelCell : String = ""
-    var previousSearchString: String = ""
-    var previousCase: Bool = true
-    open weak var delegate: KMSearchViewControllerDelegate?
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do view setup here.
-        self.setup()
-    }
-    
-    override func viewDidAppear() {
-        super.viewDidAppear()
-        NSApplication.shared.mainWindow?.makeFirstResponder(self.searchTextField)
-    }
-    
-    override func viewWillDisappear() {
-        super.viewWillDisappear()
-        self.cancelAllSearchModel()
-    }
-    
-    override func viewWillAppear() {
-        super.viewWillAppear()
-        
-//        self.selectAllSearchModel()
-        self.searchDoneAction()
-    }
-    
-    func setup() {
-        self.view.backgroundColor(NSColor.km_init(hex: "#F7F8FA"))
-        
-        //空状态
-        self.emptyView.isHidden = true
-        self.searResultLabel.stringValue = NSLocalizedString("No Search Results", comment: "")
-        self.searResultLabel.font = NSFont.SFProTextRegularFont(14.0)
-        self.searResultLabel.textColor = NSColor.km_init(hex: "#616469")
-        
-        self.tipTitleLabel.font = NSFont.SFProTextRegularFont(12.0)
-        self.tipTitleLabel.textColor = NSColor.km_init(hex: "#94989C")
-        let paragraphStyle = NSMutableParagraphStyle()
-        paragraphStyle.lineHeightMultiple = 1.32
-        paragraphStyle.alignment = .center
-        self.tipTitleLabel.attributedStringValue = NSMutableAttributedString(string: NSLocalizedString("Search text can be entered above", comment: ""), attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle])
-        
-        self.lineView.backgroundColor(NSColor.km_init(hex: "#EDEEF0"))
-        //搜索
-        self.searchCotentView.backgroundColor(NSColor.km_init(hex: "#FFFFFF"))
-        self.searchCotentView.border()
-        
-        self.searchTextField.delegate = self
-        self.searchTextField.border(NSColor.km_init(hex: "#FFFFFF"), 1, 0)
-        self.searchTextField.textColor = NSColor.km_init(hex: "#252629")
-        self.searchTextField.font = NSFont.SFProTextRegularFont(14.0)
-        let search = UserDefaults.standard.object(forKey: "CPDFOfficeSearchIgnoreCaseKey")
-        if search == nil {
-            self.isCase = true
-        } else {
-            self.isCase = UserDefaults.standard.bool(forKey: "CPDFOfficeSearchIgnoreCaseKey")
-        }
-        self.previousCase = self.isCase
-        
-        self.findTipTextField.stringValue = NSLocalizedString("Search", comment: "")
-        self.findTipTextField.font = NSFont.SFProTextSemiboldFont(14.0)
-        self.findTipTextField.textColor = NSColor.km_init(hex: "#252629")
-        
-        self.doneButton.isHidden = true
-        self.doneButton.title = NSLocalizedString("Done", comment: "")
-        self.doneButton.backgroundColor(NSColor.km_init(hex: "#1770F4"))
-        self.doneButton.font = NSFont.SFProTextRegularFont(12.0)
-        self.doneButton.contentTintColor = NSColor.km_init(hex: "#FFFFFF")
-        self.doneButton.border(NSColor.km_init(hex: "#1770F4"), 0, 4)
-        
-        //显示
-        self.allTipTextField.stringValue = NSLocalizedString("All", comment: "")
-        self.allTipTextField.font = NSFont.SFProTextSemiboldFont(11.0)
-        self.allTipTextField.textColor = NSColor.km_init(hex: "#252629")
-        
-        self.resultTextField.stringValue = NSLocalizedString("Results", comment: "") + ":"
-        self.resultTextField.font = NSFont.SFProTextSemiboldFont(11.0)
-        self.resultTextField.textColor = NSColor.km_init(hex: "#94989C")
-        
-        self.outlineView.allowsMultipleSelection = true
-        self.outlineView.indentationPerLevel = 0
-        
-        self.updateSearchMenu()
-        (self.searchTextField.cell! as! NSSearchFieldCell).placeholderString = NSLocalizedString("Search PDF", comment: "")
-        self.reloadData()
-    }
-    
-    private func updateSearchMenu() {
-       searchFieldMenu.removeAllItems()
-       let item = searchFieldMenu.addItem(withTitle: NSLocalizedString("Ignore Case", comment: ""), action: #selector(caseSetAction), target: self)
-       if self.isCase {
-           item?.state = .on
-       } else {
-           item?.state = .off
-       }
-       let searchs : [String] = UserDefaults.standard.object(forKey: CPDFOfficeSearchHistoryKey) as? [String] ?? []
-       if searchs.count > 0 {
-           searchFieldMenu.addItem(NSMenuItem.separator())
-           searchFieldMenu.addItem(withTitle: NSLocalizedString("Search History", comment: ""), action: nil, target: self)
-           for search in searchs {
-               searchFieldMenu.addItem(withTitle: search, action: #selector(searchHistoryAction), target: self)
-           }
-           searchFieldMenu.addItem(NSMenuItem.separator())
-           searchFieldMenu.addItem(withTitle: NSLocalizedString("Clear Search History", comment: ""), action: #selector(clearSearchHistoryAction), target: self)
-           self.searchFieldMenu.font = NSFont.SFProTextRegularFont(13.0)
-       }
-       (self.searchTextField.cell! as! NSSearchFieldCell).searchMenuTemplate = searchFieldMenu
-        
-        
-//        let menus : NSMenu = NSMenu(title: "")
-//        menus.addItem(withTitle: NSLocalizedString("Add Crice", comment: ""), action: #selector(addAnonationStyle), target: self, tag: CAnnotationType.circle.rawValue)
-//        menus.addItem(withTitle: NSLocalizedString("Add Square", comment: ""), action: #selector(addAnonationStyle), target: self, tag: CAnnotationType.square.rawValue)
-//        menus.addItem(withTitle: NSLocalizedString("Add Highlight", comment: ""), action: #selector(addAnonationStyle), target: self, tag: CAnnotationType.highlight.rawValue)
-//        menus.addItem(withTitle: NSLocalizedString("Add Underline", comment: ""), action: #selector(addAnonationStyle), target: self, tag: CAnnotationType.underline.rawValue)
-//        menus.addItem(withTitle: NSLocalizedString("Add Strikeththrough", comment: ""), action: #selector(addAnonationStyle), target: self, tag: CAnnotationType.strikeOut.rawValue)
-//        self.outlineView.menu = menus
-    }
-    
-    func selectedRowIndexs() -> IndexSet {
-        let clickRow = self.outlineView.clickedRow
-        var selectedRowIndexs = self.outlineView.selectedRowIndexes
-        if(clickRow != -1 && !selectedRowIndexs.contains(clickRow)) {
-            selectedRowIndexs = [clickRow]
-        }
-        return selectedRowIndexs
-    }
-    
-    public func reloadData() {
-        self.sortResults = KMSearchMode.sortSearchResult(results: self.searchResults)
-        if self.searchResults.count > 1 {
-            self.resultTextField.stringValue = "Results:\(self.searchResults.count)"
-        } else {
-            self.resultTextField.stringValue = "Result:\(self.searchResults.count)"
-        }
-        self.listView.setHighlightedSelection(nil, animated: true)
-        self.outlineView.reloadData()
-        
-    }
-}
-
-//MARK: Search
-extension KMSearchViewController: NSSearchFieldDelegate {
-    private func searchDoneAction() {
-        var searchs : [String] = UserDefaults.standard.object(forKey: CPDFOfficeSearchHistoryKey) as? [String] ?? []
-        let searchString = self.searchTextField.stringValue
-        
-        if searchString != "" && (self.previousSearchString != searchString || self.isCase != self.previousCase) {
-            //缓存搜索词汇是否重复
-            if searchs.contains(searchString) {
-                searchs.removeObject(searchString)
-            }
-            
-            if searchs.count == 10 {
-                searchs.remove(at: 9)
-            }
-            
-            searchs.insert((self.searchTextField.stringValue), at: 0)
-            UserDefaults.standard.set(searchs, forKey: CPDFOfficeSearchHistoryKey)
-            
-            self.updateSearchMenu()
-            self.delegate?.searchAction?(searchString: self.searchTextField.stringValue,isCase:self.isCase)
-            
-            self.doneButton.isHidden = false
-            for model in self.sortResults {
-                model.select = true
-            }
-            self.outlineView.expandItem(nil, expandChildren: true)
-            self.selectAllSearchModel()
-            
-            self.previousSearchString = searchString
-            self.previousCase = self.isCase
-        }
-        
-        //移除响应
-        NSApplication.shared.mainWindow?.makeFirstResponder(self)
-    }
-    
-    func selectAllSearchModel() {
-        //需要延时2s 不然不会高亮
-//        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.3) { [unowned self] in
-            //高亮所有注释
-            var selections: [CPDFSelection] = []
-            for model in self.sortResults {
-                for item in model.datas {
-                    item.selection.setColor(NSColor.km_init(hex: "#FFE600").withAlphaComponent(0.5))
-                    selections.append(item.selection)
-                }
-            }
-            
-            self.listView.setHighlightedSelections(selections)
-            self.listView.setNeedsDisplayAnnotationViewForVisiblePages()
-//        }
-    }
-    
-    func cancelAllSearchModel() {
-        self.listView.setHighlightedSelections(nil)
-        self.listView.setHighlightedSelection(nil, animated: true)
-        self.listView.setNeedsDisplayAnnotationViewForVisiblePages()
-        self.outlineView.deselectAll(nil)
-        
-        //清空搜索词汇
-        self.previousSearchString = ""
-    }
-}
-
-//MARK: Action
-extension KMSearchViewController {
-    @IBAction func addAnonationStyle(sender: NSMenuItem) {
-        let selectRowIndexs = self.selectedRowIndexs()
-        if selectRowIndexs.count > 0 {
-            var newAnnonations : [CPDFAnnotation] = []
-            for selectRow in selectRowIndexs {
-                let searchModel = self.outlineView.item(atRow: selectRow) as! KMSearchMode
-                if searchModel.datas.count > 0 { //选了到了1页
-                    for search in searchModel.datas {
-                        let selection = search.selection
-                        let annotation = self.listView.addAnnotation(with: CAnnotationType(rawValue: sender.tag) ?? CAnnotationType.unkown, selection: selection, page: selection.page, bounds: selection.bounds)
-                        self.listView.setNeedsDisplayAnnotationViewFor(selection.page)
-                        if annotation != nil {
-                            newAnnonations.append(annotation!)
-                        }
-                    }
-                } else { //选到页码里的条数
-                    let selection = searchModel.selection
-                    let annotation = self.listView.addAnnotation(with: CAnnotationType(rawValue: sender.tag) ?? CAnnotationType.unkown, selection: selection, page: selection.page, bounds: selection.bounds)
-                    self.listView.setNeedsDisplayAnnotationViewFor(selection.page)
-                    if annotation != nil {
-                        newAnnonations.append(annotation!)
-                    }
-                }
-            }
-            self.listView.updateActiveAnnotations(newAnnonations)
-        }
-    }
-    
-    @IBAction func doneSearchAction(_ sender: Any) {
-        self.searchTextField.stringValue = ""
-        self.searchResults = [];
-        self.reloadData()
-        self.delegate?.searchDoneAction?(viewController: self)
-        self.doneButton.isHidden = true
-        
-        //清空搜索词汇
-        self.previousSearchString = ""
-    }
-    
-    @IBAction func searchHistoryAction(sender: NSMenuItem) {
-//        self.delegate?.searchAction?(searchString: sender.title, isCase:self.isCase)
-        self.searchTextField.stringValue = sender.title
-        self.searchDoneAction()
-    }
-    
-    @IBAction func caseSetAction(sender:Any) {
-        self.isCase = !self.isCase
-        UserDefaults.standard.set(self.isCase, forKey: "CPDFOfficeSearchIgnoreCaseKey")
-        self.updateSearchMenu()
-        self.searchDoneAction()
-    }
-    
-    @IBAction func clearSearchHistoryAction(sender:Any) {
-        UserDefaults.standard.removeObject(forKey: CPDFOfficeSearchHistoryKey)
-        self.updateSearchMenu()
-    }
-    
-    @IBAction func escButtonAction(_ sender: Any) {
-        self.cancelSelect()
-    }
-    
-    //MARK: 跳转
-    //跳转到指定位置 若存在多个 则跳转最后一个
-    func previewToSections() {
-        if outlineView.selectedRowIndexes.count != 0 {
-            var rows: [KMSearchMode] = []
-            for index in outlineView.selectedRowIndexes {
-                let model: KMSearchMode = outlineView.item(atRow: index) as! KMSearchMode
-                rows.append(model)
-            }
-            self.toSearchModes(rows)
-        }
-    }
-    
-    func toSearchModes(_ searchModes: [KMSearchMode]) {
-        self.selectAllSearchModel()
-        var selections: [CPDFSelection] = []
-        for model in searchModes {
-            model.selection.setColor(NSColor.km_init(hex: "#FF5C00").withAlphaComponent(0.5))
-            selections.append(model.selection)
-        }
-        self.toSections(selections)
-    }
-    
-    func toSections(_ selections: [CPDFSelection]) {
-        self.listView.go(to: selections.last, animated: true)
-//        if selections.count == 1 {
-//            self.listView.setHighlightedSelection(selections.first, animated: true)
-//        } else {
-//            self.listView.setHighlightedSelections(selections)
-//        }
-        self.listView.setNeedsDisplayAnnotationViewForVisiblePages()
-    }
-    
-    func didSelectItem(view: KMSearchTableRowView, event: NSEvent) {
-        let rowView: KMSearchTableRowView = view
-        if rowView.model.datas.count == 0 {
-            //当选中一个时
-            if self.outlineView.selectedRowIndexes.count == 1 || (!event.modifierFlags.contains(NSEvent.ModifierFlags.command) &&
-                                                                          !event.modifierFlags.contains(NSEvent.ModifierFlags.shift)) {
-                let index = self.outlineView.row(for: rowView)
-                self.outlineView.selectRowIndexes(IndexSet(integer: IndexSet.Element(index)), byExtendingSelection: false)
-            }
-            
-            //原始数据置空
-            for model in self.selectItems {
-                model.select = false
-                self.outlineView.reloadItem(model)
-            }
-            
-            //获取最新数据
-            var items: [KMSearchMode] = []
-            for index in self.outlineView.selectedRowIndexes {
-                let model: KMSearchMode = self.outlineView.item(atRow: index) as! KMSearchMode
-                model.select = true
-                self.outlineView.reloadItem(model)
-                items.append(model)
-            }
-            self.selectItems = items
-            
-            //刷新数据
-            self.previewToSections()
-        } else {
-            let expanded = outlineView.isItemExpanded(outlineView.item(atRow: outlineView.selectedRow))
-            if expanded {
-                outlineView.collapseItem(outlineView.item(atRow: outlineView.selectedRow), collapseChildren: true)
-                rowView.model.select = false
-                outlineView.reloadItem(outlineView.item(atRow: outlineView.selectedRow))
-            } else {
-                outlineView.expandItem(outlineView.item(atRow: outlineView.selectedRow), expandChildren: true)
-                rowView.model.select = true
-                outlineView.reloadItem(outlineView.item(atRow: outlineView.selectedRow))
-            }
-        }
-    }
-    
-    func cancelSelect() {
-        self.outlineView.deselectAll(nil)
-        for model in self.selectItems {
-            model.select = false
-            self.outlineView.reloadItem(model)
-        }
-    }
-}
-
-// MARK - NSOutlineViewDataSource,NSOutlineViewDelegate
-
-extension KMSearchViewController : NSOutlineViewDataSource,NSOutlineViewDelegate {
-    func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: Any?) -> Int {
-        let indexModel = item as? KMSearchMode
-        var count = 0
-        if indexModel == nil {
-            count = self.sortResults.count;
-        } else {
-            count = indexModel?.datas.count ?? 0
-        }
-        if(count == 0) { //无数据时的图
-            self.emptyView.isHidden = false
-        } else {
-            self.emptyView.isHidden = true
-        }
-        return count
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: Any?) -> Any {
-        let indexModel = item as? KMSearchMode
-        var child = KMSearchMode()
-        if indexModel == nil {
-            child = self.sortResults[index];
-        } else {
-            child = indexModel?.datas[index] ?? KMSearchMode()
-        }
-        return child
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool {
-        let newitem = item as? KMSearchMode
-        return newitem?.datas.count ?? 0 > 0
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, viewFor tableColumn: NSTableColumn?, item:Any) -> NSView? {
-        let cell : KMSearchCellView = KMSearchCellView.init()
-        let model : KMSearchMode = item as! KMSearchMode
-        cell.model = model
-        return cell
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, rowViewForItem item: Any) -> NSTableRowView? {
-        let rowView = KMSearchTableRowView()
-        rowView.model = (item as! KMSearchMode)
-        rowView.mouseDownCallback = { [unowned self] view, event in
-            self.didSelectItem(view: view, event: event)
-        }
-        
-        rowView.hoverCallback = { [unowned self] mouseEntered, mouseBox in
-            self.outlineView.enumerateAvailableRowViews { view, row in
-                if view is KMSearchTableRowView {
-                    (view as? KMSearchTableRowView)?.model.hover = false
-                    (view as? KMSearchTableRowView)?.reloadData()
-                }
-            }
-            if mouseEntered {
-                rowView.model.hover = true
-            } else {
-                rowView.model.hover = false
-            }
-        }
-        return rowView
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, heightOfRowByItem item: Any) -> CGFloat {
-        let model : KMSearchMode = item as! KMSearchMode
-        if model.datas.count != 0 {
-            return 40
-        } else {
-            let string: NSString = model.attributedString.string as NSString
-            let text = string
-            let size = CGSize(width: outlineView.frame.width - 32, height: 1000)
-            let options = NSString.DrawingOptions.usesFontLeading.union(.usesLineFragmentOrigin)
-            let paragraphStyle = NSMutableParagraphStyle()
-            paragraphStyle.firstLineHeadIndent = 10.0
-            paragraphStyle.headIndent = 10.0
-            paragraphStyle.lineBreakMode = .byCharWrapping
-            paragraphStyle.lineHeightMultiple = 1.32
-            
-            let estimatedFrame = NSString(string: text).boundingRect(with: size, options: options, attributes: [NSAttributedString.Key.font: NSFont.SFProTextRegularFont(14.0),
-                                                                                                                NSAttributedString.Key.paragraphStyle: paragraphStyle], context: nil)
-            
-            return estimatedFrame.size.height + 16
-        }
-    }
-    
-    
-//    func outlineView(_ outlineView: NSOutlineView, isGroupItem item: Any) -> Bool {
-//        return true
-//    }
-    
-    
-    func outlineView(_ outlineView: NSOutlineView, shouldSelectItem item: Any) -> Bool {
-        return true
-    }
-    
-    func outlineViewSelectionDidChange(_ notification: Notification) {
-        if self.outlineView.selectedRow == -1 {
-            self.cancelSelect()
-        }
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, shouldExpandItem item: Any) -> Bool {
-        if let item = item as? KMSearchMode {
-            if !item.select && item.datas.count > 0 {
-                item.select = true
-                outlineView.animator().expandItem(item, expandChildren: true)
-                return false
-            }
-        }
-        return true
-    }
-
-    func outlineView(_ outlineView: NSOutlineView, shouldCollapseItem item: Any) -> Bool {
-        if let item = item as? KMSearchMode {
-            if item.select && item.datas.count > 0 {
-                item.select = false
-                outlineView.animator().collapseItem(item, collapseChildren: true)
-                return false
-            }
-        }
-        return true
-    }
-    
-//    func outlineView(_ outlineView: NSOutlineView, writeItems items: [Any], to pasteboard: NSPasteboard) -> Bool {
-//        if self.outlineView.selectedRowIndexes.count > 1 {
-//            return false
-//        }
-//
-//        let indexSet = [self.outlineView.clickedRow]
-//        let indexSetData : Data = NSKeyedArchiver.archivedData(withRootObject: indexSet) as Data
-//        pasteboard.declareTypes([NSPasteboard.PasteboardType(rawValue: "kKMPDFViewOutlineDragDataType")], owner: self)
-//        pasteboard.setData(indexSetData, forType: NSPasteboard.PasteboardType(rawValue: NSPasteboard.PasteboardType.RawValue("kKMPDFViewOutlineDragDataType")))
-//        return true
-//    }
-//
-//    func outlineView(_ outlineView: NSOutlineView, validateDrop info: NSDraggingInfo, proposedItem item: Any?, proposedChildIndex index: Int) -> NSDragOperation {
-//        var dragOperation = NSDragOperation.init(rawValue: 0)
-//        if index > 0 {
-//            dragOperation = NSDragOperation.move
-//        }
-//        return dragOperation
-//    }
-//
-//    func outlineView(_ outlineView: NSOutlineView, acceptDrop info: NSDraggingInfo, item: Any?, childIndex index: Int) -> Bool {
-//        if ((index < 0)) {
-//            return false
-//        }
-//        let outline = item as! CPDFOutline
-//        if outline.parent == nil {
-//
-//        } else {
-//
-//        }
-//
-//        return true
-//    }
-}
-
-//MARK: ControlTextDelegate
-extension KMSearchViewController: NSTextFieldDelegate {
-    func controlTextDidEndEditing(_ obj: Notification) {
-        let object = obj.object as! NSTextField
-        if object == self.searchTextField {
-//            self.searchDoneAction()
-//            self.sortResults = []
-//            self.reloadData()
-        }
-    }
-    
-    func controlTextDidChange(_ obj: Notification) {
-        let object = obj.object as! NSTextField
-        if object == self.searchTextField {
-            if self.searchTextField.stringValue == "" {
-                self.doneButton.isHidden = true
-                self.searchResults = []
-                self.reloadData()
-                self.cancelAllSearchModel()
-            }
-        }
-    }
-    
-    func control(_ control: NSControl, textView: NSTextView, doCommandBy commandSelector: Selector) -> Bool {
-        switch commandSelector {
-        case #selector(NSResponder.insertNewline(_:)):
-            if let inputView = control as? NSTextField {
-                //当当前TextField按下enter
-                if inputView == searchTextField {
-                    self.searchDoneAction()
-                }
-            }
-            return true
-        default:
-            return false
-        }
-    }
-}
-
-extension KMSearchViewController: NSMenuDelegate, NSMenuItemValidation {
-    //MARK: NSMenuItemValidation
-    
-    func validateMenuItem(_ menuItem: NSMenuItem) -> Bool {
-        let action = menuItem.action
-        
-        if (action == #selector(addAnonationStyle)) {
-            let model : KMSearchMode = self.outlineView.item(atRow: self.outlineView.clickedRow) as! KMSearchMode
-            return model.datas.count == 0
-        }
-        return true
-    }
-}
-
-
-class FocusAwareSearchTextField: NSSearchField {
-    var onFocus: () -> Void = {}
-    var onUnfocus: () -> Void = {}
-
-    override func becomeFirstResponder() -> Bool {
-        onFocus()
-        let textView = window?.fieldEditor(true, for: nil) as? NSTextView
-        textView?.insertionPointColor = NSColor.km_init(hex: "#252629")
-        return super.becomeFirstResponder()
-    }
-
-    override func resignFirstResponder() -> Bool {
-        onUnfocus()
-        return super.resignFirstResponder()
-    }
-}

+ 0 - 300
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/KMSearchViewController.xib

@@ -1,300 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMSearchViewController" customModule="PDF_Reader_Pro" customModuleProvider="target">
-            <connections>
-                <outlet property="allTipTextField" destination="biW-Ca-hUF" id="YGs-EO-6Jc"/>
-                <outlet property="doneButton" destination="FEc-5K-ivt" id="788-ak-I5p"/>
-                <outlet property="emptyView" destination="jR7-ph-NAv" id="7WZ-Lt-Zlg"/>
-                <outlet property="findTipTextField" destination="xF3-eP-wmn" id="hU0-Lp-sNy"/>
-                <outlet property="lineView" destination="jhi-k2-9nU" id="fVC-R5-MSc"/>
-                <outlet property="outlineView" destination="E7F-4C-rSA" id="xVA-F5-u9v"/>
-                <outlet property="resultTextField" destination="NbD-bn-0xD" id="mII-D4-Ae6"/>
-                <outlet property="searResultLabel" destination="miA-d7-mOY" id="k18-Cz-h1E"/>
-                <outlet property="searchCotentView" destination="Duo-Bj-CPD" id="sA7-xs-USK"/>
-                <outlet property="searchTextField" destination="CoV-2h-BcO" id="TNu-84-ekS"/>
-                <outlet property="tipTitleLabel" destination="BJa-iO-iBR" id="12B-YT-OtM"/>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="222" height="637"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <subviews>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="EEm-dH-8Qq">
-                    <rect key="frame" x="0.0" y="547" width="222" height="90"/>
-                    <subviews>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="Duo-Bj-CPD">
-                            <rect key="frame" x="16" y="14" width="190" height="32"/>
-                            <subviews>
-                                <searchField wantsLayer="YES" focusRingType="none" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CoV-2h-BcO" customClass="FocusAwareSearchTextField" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                                    <rect key="frame" x="8" y="5" width="174" height="22"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="22" id="YYd-Vh-XR1"/>
-                                    </constraints>
-                                    <searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="border" usesSingleLineMode="YES" id="5vn-o5-eWM" customClass="CSearchFieldCustomCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                                        <font key="font" metaFont="system"/>
-                                        <color key="textColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                        <color key="backgroundColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                    </searchFieldCell>
-                                </searchField>
-                            </subviews>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="32" id="5jt-sa-hYd"/>
-                                <constraint firstItem="CoV-2h-BcO" firstAttribute="leading" secondItem="Duo-Bj-CPD" secondAttribute="leading" constant="8" id="SwN-8d-k9S"/>
-                                <constraint firstAttribute="trailing" secondItem="CoV-2h-BcO" secondAttribute="trailing" constant="8" id="WTW-iD-NOv"/>
-                                <constraint firstItem="CoV-2h-BcO" firstAttribute="centerY" secondItem="Duo-Bj-CPD" secondAttribute="centerY" id="b5q-fB-rNU"/>
-                            </constraints>
-                        </customView>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="bdI-Qa-G1g">
-                            <rect key="frame" x="0.0" y="54" width="222" height="24"/>
-                            <subviews>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xF3-eP-wmn">
-                                    <rect key="frame" x="14" y="4" width="30" height="16"/>
-                                    <textFieldCell key="cell" lineBreakMode="clipping" title="Find" id="e1E-il-5Is">
-                                        <font key="font" metaFont="system"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FEc-5K-ivt">
-                                    <rect key="frame" x="160" y="0.0" width="46" height="24"/>
-                                    <buttonCell key="cell" type="bevel" title="Done" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="v7B-f8-LTc">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <color key="bezelColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="24" id="gjG-Lu-al8"/>
-                                        <constraint firstAttribute="width" constant="46" id="n4F-Dh-1tC"/>
-                                    </constraints>
-                                    <connections>
-                                        <action selector="doneSearchAction:" target="-2" id="4ne-Zc-nCm"/>
-                                    </connections>
-                                </button>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sDW-fs-0uG">
-                                    <rect key="frame" x="111" y="12" width="0.0" height="0.0"/>
-                                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="2iK-aQ-Jvr">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <connections>
-                                        <action selector="escButtonAction:" target="-2" id="Mbh-bS-L3c"/>
-                                    </connections>
-                                </button>
-                            </subviews>
-                            <constraints>
-                                <constraint firstAttribute="trailing" secondItem="FEc-5K-ivt" secondAttribute="trailing" constant="16" id="7Qd-5j-06w"/>
-                                <constraint firstItem="xF3-eP-wmn" firstAttribute="centerY" secondItem="bdI-Qa-G1g" secondAttribute="centerY" id="GGZ-OQ-YFS"/>
-                                <constraint firstAttribute="height" constant="24" id="RLb-KV-f9q"/>
-                                <constraint firstItem="xF3-eP-wmn" firstAttribute="leading" secondItem="bdI-Qa-G1g" secondAttribute="leading" constant="16" id="WiB-qF-0NW"/>
-                                <constraint firstItem="sDW-fs-0uG" firstAttribute="centerY" secondItem="bdI-Qa-G1g" secondAttribute="centerY" id="ccU-PW-fN5"/>
-                                <constraint firstItem="sDW-fs-0uG" firstAttribute="centerX" secondItem="bdI-Qa-G1g" secondAttribute="centerX" id="nff-4q-Fdb"/>
-                                <constraint firstItem="FEc-5K-ivt" firstAttribute="centerY" secondItem="bdI-Qa-G1g" secondAttribute="centerY" id="vTg-Wv-iyv"/>
-                            </constraints>
-                        </customView>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="jhi-k2-9nU">
-                            <rect key="frame" x="0.0" y="0.0" width="222" height="1"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="1" id="Ywn-zp-pQQ"/>
-                            </constraints>
-                        </customView>
-                    </subviews>
-                    <constraints>
-                        <constraint firstItem="bdI-Qa-G1g" firstAttribute="leading" secondItem="EEm-dH-8Qq" secondAttribute="leading" id="3MM-Lk-O98"/>
-                        <constraint firstAttribute="trailing" secondItem="Duo-Bj-CPD" secondAttribute="trailing" constant="16" id="86V-1v-joq"/>
-                        <constraint firstAttribute="height" constant="90" id="AD3-bN-9vH"/>
-                        <constraint firstAttribute="trailing" secondItem="jhi-k2-9nU" secondAttribute="trailing" id="DNj-Rk-oLf"/>
-                        <constraint firstItem="Duo-Bj-CPD" firstAttribute="leading" secondItem="EEm-dH-8Qq" secondAttribute="leading" constant="16" id="ElD-7b-vEz"/>
-                        <constraint firstAttribute="trailing" secondItem="bdI-Qa-G1g" secondAttribute="trailing" id="T56-gz-VxB"/>
-                        <constraint firstItem="bdI-Qa-G1g" firstAttribute="top" secondItem="EEm-dH-8Qq" secondAttribute="top" constant="12" id="Ycx-yA-kYQ"/>
-                        <constraint firstAttribute="trailing" secondItem="Duo-Bj-CPD" secondAttribute="trailing" constant="16" id="bHn-xn-yAR"/>
-                        <constraint firstItem="Duo-Bj-CPD" firstAttribute="top" secondItem="bdI-Qa-G1g" secondAttribute="bottom" constant="8" id="hYZ-tW-xfG"/>
-                        <constraint firstItem="Duo-Bj-CPD" firstAttribute="leading" secondItem="EEm-dH-8Qq" secondAttribute="leading" constant="16" id="jFS-B4-qLJ"/>
-                        <constraint firstItem="jhi-k2-9nU" firstAttribute="leading" secondItem="EEm-dH-8Qq" secondAttribute="leading" id="sVT-h1-Hq7"/>
-                        <constraint firstAttribute="bottom" secondItem="jhi-k2-9nU" secondAttribute="bottom" id="zjh-jx-uub"/>
-                    </constraints>
-                </customView>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="6ti-WI-xmu">
-                    <rect key="frame" x="0.0" y="0.0" width="222" height="513"/>
-                    <subviews>
-                        <scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="17" horizontalPageScroll="10" verticalLineScroll="17" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kxu-Gp-VwR">
-                            <rect key="frame" x="0.0" y="0.0" width="222" height="513"/>
-                            <clipView key="contentView" drawsBackground="NO" id="nUp-ZU-rIu">
-                                <rect key="frame" x="0.0" y="0.0" width="222" height="513"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                <subviews>
-                                    <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" tableStyle="plain" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="8in-Rn-CUw" id="E7F-4C-rSA" customClass="KMOutlineView" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                                        <rect key="frame" x="0.0" y="0.0" width="222" height="513"/>
-                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        <size key="intercellSpacing" width="17" height="0.0"/>
-                                        <color key="backgroundColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                        <color key="gridColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                        <tableColumns>
-                                            <tableColumn identifier="AutomaticTableColumnIdentifier.0" width="205" minWidth="40" maxWidth="1000" id="8in-Rn-CUw">
-                                                <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
-                                                    <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
-                                                </tableHeaderCell>
-                                                <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="7E4-ZG-OTD">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
-                                            </tableColumn>
-                                        </tableColumns>
-                                        <connections>
-                                            <outlet property="dataSource" destination="-2" id="rUv-QU-hC0"/>
-                                            <outlet property="delegate" destination="-2" id="xEG-he-Feq"/>
-                                        </connections>
-                                    </outlineView>
-                                </subviews>
-                                <color key="backgroundColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                            </clipView>
-                            <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="fnf-E4-eKE">
-                                <rect key="frame" x="1" y="518" width="242" height="15"/>
-                                <autoresizingMask key="autoresizingMask"/>
-                            </scroller>
-                            <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="3oe-y9-CgL">
-                                <rect key="frame" x="227" y="0.0" width="15" height="517"/>
-                                <autoresizingMask key="autoresizingMask"/>
-                            </scroller>
-                        </scrollView>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="jR7-ph-NAv">
-                            <rect key="frame" x="0.0" y="0.0" width="222" height="513"/>
-                            <subviews>
-                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="oby-fn-AdX">
-                                    <rect key="frame" x="47" y="308" width="128" height="128"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="128" id="8hf-4d-qTs"/>
-                                        <constraint firstAttribute="height" constant="128" id="h8W-mk-OCv"/>
-                                    </constraints>
-                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameSearchEmpty" id="R90-Ea-Zlv"/>
-                                </imageView>
-                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Zlx-ak-aS0">
-                                    <rect key="frame" x="55" y="278" width="113" height="22"/>
-                                    <subviews>
-                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="miA-d7-mOY">
-                                            <rect key="frame" x="-2" y="4" width="117" height="15"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="15" id="c4k-QP-15d"/>
-                                            </constraints>
-                                            <textFieldCell key="cell" lineBreakMode="clipping" title="No search results" id="WK0-2c-JAx">
-                                                <font key="font" metaFont="system" size="14"/>
-                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                    </subviews>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="22" id="FoS-wX-OJO"/>
-                                        <constraint firstItem="miA-d7-mOY" firstAttribute="centerX" secondItem="Zlx-ak-aS0" secondAttribute="centerX" id="JuC-kU-82n"/>
-                                        <constraint firstItem="miA-d7-mOY" firstAttribute="width" secondItem="Zlx-ak-aS0" secondAttribute="width" id="k9X-T0-xeL"/>
-                                        <constraint firstItem="miA-d7-mOY" firstAttribute="centerY" secondItem="Zlx-ak-aS0" secondAttribute="centerY" id="rTW-HT-EuK"/>
-                                    </constraints>
-                                </customView>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="BJa-iO-iBR">
-                                    <rect key="frame" x="25" y="236" width="172" height="40"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="40" id="3l6-5y-7NH"/>
-                                        <constraint firstAttribute="width" constant="168" id="GDg-0g-PFw"/>
-                                    </constraints>
-                                    <textFieldCell key="cell" alignment="center" title="Search requests can be entered above." id="cyF-i1-gh3">
-                                        <font key="font" metaFont="system" size="14"/>
-                                        <color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                    </textFieldCell>
-                                </textField>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="BJa-iO-iBR" firstAttribute="top" secondItem="Zlx-ak-aS0" secondAttribute="bottom" constant="2" id="1BH-bf-TM1"/>
-                                <constraint firstItem="oby-fn-AdX" firstAttribute="top" secondItem="jR7-ph-NAv" secondAttribute="top" constant="77" id="2ke-oY-T5x"/>
-                                <constraint firstItem="Zlx-ak-aS0" firstAttribute="top" secondItem="oby-fn-AdX" secondAttribute="bottom" constant="8" id="9mv-EP-dp6"/>
-                                <constraint firstItem="BJa-iO-iBR" firstAttribute="centerX" secondItem="jR7-ph-NAv" secondAttribute="centerX" id="cgW-hZ-XH1"/>
-                                <constraint firstItem="oby-fn-AdX" firstAttribute="centerX" secondItem="jR7-ph-NAv" secondAttribute="centerX" id="oH6-87-r98"/>
-                                <constraint firstItem="Zlx-ak-aS0" firstAttribute="centerX" secondItem="jR7-ph-NAv" secondAttribute="centerX" id="yxd-fQ-vlL"/>
-                            </constraints>
-                        </customView>
-                    </subviews>
-                    <constraints>
-                        <constraint firstItem="Kxu-Gp-VwR" firstAttribute="leading" secondItem="6ti-WI-xmu" secondAttribute="leading" id="0xP-GT-dGJ"/>
-                        <constraint firstItem="Kxu-Gp-VwR" firstAttribute="top" secondItem="6ti-WI-xmu" secondAttribute="top" id="0yw-pk-e9v"/>
-                        <constraint firstAttribute="trailing" secondItem="Kxu-Gp-VwR" secondAttribute="trailing" id="BP0-m5-kP5"/>
-                        <constraint firstItem="jR7-ph-NAv" firstAttribute="leading" secondItem="6ti-WI-xmu" secondAttribute="leading" id="C0G-8E-ujc"/>
-                        <constraint firstItem="jR7-ph-NAv" firstAttribute="top" secondItem="6ti-WI-xmu" secondAttribute="top" id="Nkd-rP-9Vk"/>
-                        <constraint firstAttribute="bottom" secondItem="jR7-ph-NAv" secondAttribute="bottom" id="cXK-6I-b8a"/>
-                        <constraint firstAttribute="bottom" secondItem="Kxu-Gp-VwR" secondAttribute="bottom" id="pRd-he-KCQ"/>
-                        <constraint firstAttribute="trailing" secondItem="jR7-ph-NAv" secondAttribute="trailing" id="rrZ-Oo-Ol7"/>
-                    </constraints>
-                </customView>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="4rz-2J-CjZ">
-                    <rect key="frame" x="0.0" y="513" width="222" height="34"/>
-                    <subviews>
-                        <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="V4t-El-R0n">
-                            <rect key="frame" x="0.0" y="31" width="222" height="5"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="1" id="TYD-vk-QiC"/>
-                            </constraints>
-                        </box>
-                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NbD-bn-0xD">
-                            <rect key="frame" x="138" y="8" width="70" height="18"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="18" id="1aY-Yt-v79"/>
-                            </constraints>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="Rseult:18" id="X5V-Rn-oqb">
-                                <font key="font" metaFont="system"/>
-                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                            </textFieldCell>
-                        </textField>
-                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="biW-Ca-hUF">
-                            <rect key="frame" x="14" y="8" width="20" height="18"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="18" id="0bf-x7-3hc"/>
-                            </constraints>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="All" id="DaU-lh-8bY">
-                                <font key="font" metaFont="system"/>
-                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                            </textFieldCell>
-                        </textField>
-                    </subviews>
-                    <constraints>
-                        <constraint firstItem="V4t-El-R0n" firstAttribute="top" secondItem="4rz-2J-CjZ" secondAttribute="top" id="FQK-PX-8WK"/>
-                        <constraint firstItem="biW-Ca-hUF" firstAttribute="leading" secondItem="4rz-2J-CjZ" secondAttribute="leading" constant="16" id="MDa-so-wez"/>
-                        <constraint firstItem="V4t-El-R0n" firstAttribute="leading" secondItem="4rz-2J-CjZ" secondAttribute="leading" id="MNE-DV-kuy"/>
-                        <constraint firstItem="NbD-bn-0xD" firstAttribute="centerY" secondItem="4rz-2J-CjZ" secondAttribute="centerY" id="S6r-Ky-nVE"/>
-                        <constraint firstItem="biW-Ca-hUF" firstAttribute="centerY" secondItem="4rz-2J-CjZ" secondAttribute="centerY" id="Vdj-RJ-Yqr"/>
-                        <constraint firstAttribute="trailing" secondItem="NbD-bn-0xD" secondAttribute="trailing" constant="16" id="hEN-OA-0Tv"/>
-                        <constraint firstAttribute="height" constant="34" id="vhl-hw-aIa"/>
-                        <constraint firstAttribute="trailing" secondItem="V4t-El-R0n" secondAttribute="trailing" id="wtP-MO-lbN"/>
-                    </constraints>
-                </customView>
-            </subviews>
-            <constraints>
-                <constraint firstItem="EEm-dH-8Qq" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="1F2-DG-yUH"/>
-                <constraint firstItem="4rz-2J-CjZ" firstAttribute="top" secondItem="EEm-dH-8Qq" secondAttribute="bottom" id="1Mt-ap-8oT"/>
-                <constraint firstAttribute="bottom" secondItem="6ti-WI-xmu" secondAttribute="bottom" id="4Wk-HX-u6t"/>
-                <constraint firstItem="6ti-WI-xmu" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="6sx-Nl-7n5"/>
-                <constraint firstAttribute="trailing" secondItem="6ti-WI-xmu" secondAttribute="trailing" id="86I-JP-car"/>
-                <constraint firstAttribute="trailing" secondItem="4rz-2J-CjZ" secondAttribute="trailing" id="Dok-yl-UFn"/>
-                <constraint firstItem="EEm-dH-8Qq" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="Iyw-rc-Dxr"/>
-                <constraint firstItem="4rz-2J-CjZ" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="Tfv-HN-tL7"/>
-                <constraint firstAttribute="trailing" secondItem="EEm-dH-8Qq" secondAttribute="trailing" id="Uat-RT-z61"/>
-                <constraint firstItem="6ti-WI-xmu" firstAttribute="top" secondItem="4rz-2J-CjZ" secondAttribute="bottom" id="XQT-cI-Pzf"/>
-            </constraints>
-            <point key="canvasLocation" x="179" y="160.5"/>
-        </customView>
-    </objects>
-    <resources>
-        <image name="KMImageNameSearchEmpty" width="128" height="128"/>
-    </resources>
-</document>

+ 0 - 85
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/View/KMSearchCellView.swift

@@ -1,85 +0,0 @@
-//
-//  KMSearchCellView.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/12/8.
-//
-
-import Cocoa
-
-class KMSearchCellView: NSTableCellView {
-    @IBOutlet var contentView: NSView!
-    @IBOutlet weak var contextTextField: NSTextField!
-    @IBOutlet weak var pageIndexTextField: NSTextField!
-    @IBOutlet weak var iconImageView: NSImageView!
-    
-
-    var model: KMSearchMode? {
-        didSet {
-            self.reloadData()
-        }
-    }
-    
-    // MARK: 初始化
-    override init(frame frameRect: NSRect) {
-        super.init(frame: frameRect)
-        initContentView()
-        setup()
-    }
-    
-    required init?(coder decoder: NSCoder) {
-        super.init(coder: decoder)
-        initContentView()
-        setup()
-        fatalError("init(coder:) has not been implemented")
-    }
-    
-    private func initContentView() {
-        //绑定xib
-        let resource = NSNib(nibNamed: String(describing: self.classForCoder.self),
-                             bundle: Bundle(for: self.classForCoder.self))!
-        resource.instantiate(withOwner: self, topLevelObjects: nil)
-        addSubview(contentView)
-        contentView.translatesAutoresizingMaskIntoConstraints = false
-        NSLayoutConstraint.activate([
-            contentView.topAnchor.constraint(equalTo: topAnchor),
-            contentView.leftAnchor.constraint(equalTo: leftAnchor),
-            contentView.rightAnchor.constraint(equalTo: rightAnchor),
-            contentView.bottomAnchor.constraint(equalTo: bottomAnchor)])
-        contentView.updateConstraintsForSubtreeIfNeeded()
-    }
-    
-    func setup() {
-        self.contextTextField.font = NSFont.SFProTextRegularFont(14.0)
-        self.contextTextField.textColor = NSColor.km_init(hex: "#252629")
-        
-        self.pageIndexTextField.font = NSFont.SFProTextRegularFont(14.0)
-        self.pageIndexTextField.textColor = NSColor.km_init(hex: "#94989C")
-    }
-    
-    func reloadData() {
-        if model != nil {
-            if(self.model!.datas.count > 0) {
-                self.contextTextField.stringValue = NSLocalizedString("page", comment: "") + " " + "\(self.model!.selectionPageIndex + 1)"
-                self.pageIndexTextField.stringValue = "\(self.model!.datas.count)"
-                self.pageIndexTextField.isHidden = false
-                
-                if model!.select {
-                    self.iconImageView?.image = NSImage(named: "btn_arrow_gray_down_s_norm_on")
-                } else {
-                    self.iconImageView?.image = NSImage(named: "btn_arrow_gray_right_s_norm_on")
-                }
-            } else {
-                self.contextTextField.attributedStringValue = self.model!.attributedString
-                self.pageIndexTextField.isHidden = true
-                self.iconImageView?.image = nil
-            }
-        }
-    }
-    
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
-
-        // Drawing code here.
-    }
-}

+ 0 - 62
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/View/KMSearchCellView.xib

@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMSearchCellView" customModule="PDF_Master" customModuleProvider="target">
-            <connections>
-                <outlet property="contentView" destination="c22-O7-iKe" id="VyT-mo-u8V"/>
-                <outlet property="contextTextField" destination="rgp-Zq-Quc" id="d3f-NX-Q2g"/>
-                <outlet property="iconImageView" destination="OFX-SX-Ei4" id="OFh-Gc-hcH"/>
-                <outlet property="pageIndexTextField" destination="YZy-dU-Vh3" id="Ckl-1n-7XG"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="c22-O7-iKe">
-            <rect key="frame" x="0.0" y="0.0" width="244" height="34"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <subviews>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rgp-Zq-Quc">
-                    <rect key="frame" x="6" y="9" width="4" height="16"/>
-                    <textFieldCell key="cell" enabled="NO" alignment="left" id="ftr-ky-Lia">
-                        <font key="font" metaFont="system"/>
-                        <color key="textColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                        <color key="backgroundColor" red="1" green="0.99843658089999998" blue="0.99619259260000004" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                    </textFieldCell>
-                </textField>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="YZy-dU-Vh3">
-                    <rect key="frame" x="189" y="10" width="37" height="15"/>
-                    <constraints>
-                        <constraint firstAttribute="height" constant="15" id="NUR-oG-vJi"/>
-                        <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="15" id="yHR-m9-e5B"/>
-                    </constraints>
-                    <textFieldCell key="cell" lineBreakMode="clipping" enabled="NO" alignment="right" title="Label" id="wmZ-Z8-9fQ">
-                        <font key="font" metaFont="system"/>
-                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                    </textFieldCell>
-                </textField>
-                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="OFX-SX-Ei4">
-                    <rect key="frame" x="232" y="11" width="12" height="12"/>
-                    <constraints>
-                        <constraint firstAttribute="width" constant="12" id="8vK-cO-PfR"/>
-                        <constraint firstAttribute="height" constant="12" id="CTE-c8-j9r"/>
-                    </constraints>
-                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="diw-7u-mPI"/>
-                </imageView>
-            </subviews>
-            <constraints>
-                <constraint firstAttribute="trailing" secondItem="OFX-SX-Ei4" secondAttribute="trailing" id="BAo-Sv-mph"/>
-                <constraint firstItem="rgp-Zq-Quc" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="8" id="USt-ze-oNU"/>
-                <constraint firstItem="rgp-Zq-Quc" firstAttribute="centerY" secondItem="c22-O7-iKe" secondAttribute="centerY" id="Uqt-8w-OVS"/>
-                <constraint firstItem="OFX-SX-Ei4" firstAttribute="leading" secondItem="YZy-dU-Vh3" secondAttribute="trailing" constant="8" id="bTE-ZO-qGz"/>
-                <constraint firstItem="OFX-SX-Ei4" firstAttribute="centerY" secondItem="c22-O7-iKe" secondAttribute="centerY" id="o7Y-nL-Qjh"/>
-                <constraint firstItem="YZy-dU-Vh3" firstAttribute="centerY" secondItem="c22-O7-iKe" secondAttribute="centerY" id="t9X-BI-CMs"/>
-            </constraints>
-            <point key="canvasLocation" x="14" y="-191"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 113
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Search/View/KMSearchTableRowView.swift

@@ -1,113 +0,0 @@
-//
-//  KMSearchTableRowView.swift
-//  PDF Reader Pro
-//
-//  Created by lizhe on 2023/2/20.
-//
-
-import Cocoa
-typealias KMSearchTableRowViewHoverCallback = (_ mouseEntered: Bool, _ mouseBox: KMBox) -> Void
-typealias KMSearchTableRowViewRightMouseCallback = (_ view: KMSearchTableRowView, _ event: NSEvent) -> Void
-typealias KMSearchTableRowViewMouseDownCallback = (_ view: KMSearchTableRowView, _ event: NSEvent) -> Void
-
-class KMSearchTableRowView: NSTableRowView {
-    var box: KMBox?
-    var contentBox: KMBox?
-    var model: KMSearchMode! {
-        didSet {
-            self.reloadData()
-        }
-    }
-    
-    var hoverCallback: KMSearchTableRowViewHoverCallback?
-    var rightMouseCallback: KMSearchTableRowViewRightMouseCallback?
-    var mouseDownCallback: KMSearchTableRowViewMouseDownCallback?
-     
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
-        self.addBox()
-        self.drawView()
-    }
-
-    func addBox() {
-        if self.box == nil {
-            let rect = self.bounds
-            self.box?.wantsLayer = true
-            self.box = KMBox(frame: rect)
-            self.box?.borderWidth = 1
-            self.box?.borderColor = NSColor.km_init(hex: "#EDEEF0")
-            self.box?.layer?.cornerRadius = 4
-            self.box?.boxType = .custom
-            self.box?.autoresizingMask = [.width, .height]
-            self.box?.moveCallback = { [unowned self] (mouseEntered, mouseBox) in
-                self.hoverCallback?(mouseEntered, mouseBox)
-                self.reloadData()
-            }
-            self.addSubview(self.box!, positioned: NSWindow.OrderingMode.below, relativeTo: self)
-            
-            self.contentBox?.wantsLayer = true
-            self.contentBox = KMBox(frame: self.bounds)
-            self.contentBox?.borderWidth = 0
-            self.contentBox?.boxType = .custom
-            self.contentBox?.autoresizingMask = [.width, .height]
-        }
-        
-        if self.model.datas.count == 0 {
-            var rect = self.bounds
-            rect.origin.x = self.bounds.origin.x + 8.0
-            rect.origin.y = self.bounds.origin.y + 4.0
-            rect.size.height = self.bounds.size.height - 8.0
-            rect.size.width = self.bounds.size.width - 16.0
-            self.box?.frame = rect
-        } else {
-            var rect = self.bounds
-            rect.origin.x = self.bounds.origin.x
-            rect.origin.y = self.bounds.origin.y + 4.0
-            rect.size.height = self.bounds.size.height - 8.0
-            rect.size.width = self.bounds.size.width
-            self.box?.frame = rect
-        }
-    
-        self.addSubview(self.contentBox!, positioned: NSWindow.OrderingMode.above, relativeTo: self)
-    }
-    
-    override func drawSelection(in dirtyRect: NSRect) {
-//        self.model.select = true
-//        self.reloadData()
-    }
-    
-    override func mouseDown(with event: NSEvent) {
-        super.mouseDown(with: event)
-        guard let callBack = mouseDownCallback else { return }
-        
-        callBack(self, event)
-    }
-}
-
-extension KMSearchTableRowView {
-    func reloadData() {
-        self.drawView()
-    }
-    
-    func drawView(_ color: NSColor = NSColor.km_init(hex: "#EDEEF0")) {
-        if self.model.datas.count == 0 {
-            if self.model.select {
-                self.box?.backgroundColor(NSColor.km_init(hex: "#CED0D4", alpha: 0.6))
-                self.box?.layer?.cornerRadius = 4
-                self.box?.borderColor = NSColor.km_init(hex: "#CED0D4")
-                self.box?.borderWidth = 1
-            } else if self.model.hover {
-                self.box?.backgroundColor(NSColor.km_init(hex: "#EDEEF0"))
-                self.box?.layer?.cornerRadius = 4
-                self.box?.borderWidth = 0
-            } else {
-                self.box?.backgroundColor(NSColor.km_init(hex: "#F7F8FA"))
-                self.box?.borderWidth = 0
-            }
-        } else {
-            self.box?.backgroundColor(NSColor.km_init(hex:"#FFFFFF"))
-            self.box?.borderWidth = 0
-        }
-    }
-}
-

+ 0 - 20
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Signature/KMSignatureCellView.swift

@@ -1,20 +0,0 @@
-//
-//  KMSignatureCellView.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/12/13.
-//
-
-import Cocoa
-
-class KMSignatureCellView: NSTableCellView {
-    @IBOutlet weak var signatureImageView: NSImageView!
-    @IBOutlet weak var contenLabel: NSTextField!
-    @IBOutlet weak var leftOffset: NSLayoutConstraint!
-    override func draw(_ dirtyRect: NSRect) {
-        super.draw(dirtyRect)
-
-        
-    }
-    
-}

+ 0 - 335
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Signature/KMSignatureViewController.swift

@@ -1,335 +0,0 @@
-//
-//  KMSignatureViewController.swift
-//  PDF Reader Pro
-//
-//  Created by lxy on 2022/11/17.
-//
-
-import Cocoa
-
-@objc protocol KMSignatureViewControllerDelegate {
-    @objc optional func removeDocumentSignatues(signatures:[CPDFSignature])
-}
-
-
-class KMSignatureViewController: NSViewController {
-    @IBOutlet weak var sigOutlineView: KMOutlineView!
-    
-    @IBOutlet weak var deleteButton: NSButton!
-    @IBOutlet weak var validationButton: NSButton!
-    @IBOutlet weak var tipTextField: NSTextField!
-    @IBOutlet weak var emptyLabel: NSTextField!
-    @IBOutlet weak var emptyView: NSView!
-    var listView : CPDFListView!
-    var signatures : [CPDFSignature] = []
-    open weak var delete: KMSignatureViewControllerDelegate?
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do view setup here.
-        self.view.wantsLayer = true
-        self.view.layer?.backgroundColor = NSColor.yellow.cgColor
-        self.tipTextField.stringValue = NSLocalizedString("Digitally Sign", comment: "");
-        self.deleteButton.toolTip = NSLocalizedString("Delete", comment: "");
-        self.validationButton.toolTip = NSLocalizedString("Validate All Signatures", comment: "");
-        self.emptyLabel.stringValue = NSLocalizedString("No digital signature was added", comment: "");
-
-        let signatures : [CPDFSignature] = self.listView.document.signatures() ?? []
-        var mSignatures : [CPDFSignature] = []
-        for sign in signatures {
-            if sign.signers.count > 0 {
-                mSignatures.append(sign)
-            }
-        }
-        self.signatures = mSignatures
-        
-        self.sigOutlineView.delegate = self
-        self.sigOutlineView.dataSource = self
-        let menu = NSMenu()
-        menu.delegate = self
-        self.sigOutlineView.menu = menu
-        
-        self.sigOutlineView.doubleAction = #selector(tableViewAction)
-    }
-        
-    //MAAK: Accessors
-    public func reloadData() {
-        self.sigOutlineView.reloadData()
-    }
-    
-    private func outlineForItem(item:Any) -> [Any] {
-        var itemChildren : [Any] = []
-        if  (item is String) && ((item as! String) == "") {
-            if self.signatures.count > 0 {
-                let lastSignates : CPDFSignature = self.signatures.last ?? CPDFSignature()
-                if (lastSignates.permissions > 0) {
-                    var mutableArr : [Any] = self.signatures
-                    mutableArr.append("      \(NSLocalizedString("Already locked by", comment: ""))\(String(describing: lastSignates.fieldName))")
-                    itemChildren = mutableArr
-                } else {
-                    itemChildren = self.signatures
-                }
-            } else {
-                itemChildren = self.signatures
-            }
-        } else if (item is CPDFSignature) {
-            itemChildren = (item as! CPDFSignature).numberOfChildren(document: self.listView.document)
-        } else if (item is [String:Any]) {
-            let key = (item as! [String:Any]).keys.first ?? ""
-            itemChildren = (item as! [String:Any])[key] as! [Any]
-        }
-        return itemChildren
-    }
-    
-    @IBAction func deleteButtonAction(_ sender: Any) {
-        let alert = NSAlert()
-        alert.alertStyle = .critical
-        alert.messageText = NSLocalizedString("Are you sure you want to clear all signature fields in this document?", comment: "")
-        alert.informativeText = NSLocalizedString("You cannot undo this operation.", comment: "")
-        alert.addButton(withTitle: NSLocalizedString("Yes", comment: ""))
-        alert.addButton(withTitle: NSLocalizedString("No", comment: ""))
-        alert.beginSheetModal(for: self.view.window!, completionHandler: { result in
-            if result != .OK {
-              
-            }
-        })
-    }
-    
-    @IBAction func validationButtonAction(_ sender: Any) {
-        
-    }
-    
-    @IBAction func jumpItemAction(item: NSMenuItem) {
-        let indexSet : NSIndexSet = item.representedObject as! NSIndexSet
-        let outlineItem  = self.sigOutlineView.item(atRow: indexSet.firstIndex)
-        if outlineItem is CPDFSignature {
-            let index: Int = Int((outlineItem as! CPDFSignature).pageIndex(with: listView.document))
-            if self.listView.currentPageIndex != index {
-                self.listView.go(toPageIndex: index, animated: true)
-            }
-        }
-    }
-    
-    @IBAction func removeItemAction(item:NSMenuItem) {
-        let index : NSIndexSet = item.representedObject as! NSIndexSet
-        let outlineItem  = self.sigOutlineView.item(atRow: index.firstIndex)
-        if outlineItem is CPDFSignature {
-            let index: Int = Int((outlineItem as! CPDFSignature).pageIndex(with: listView.document))
-            if self.listView.currentPageIndex != index {
-                self.delete?.removeDocumentSignatues?(signatures: [outlineItem as! CPDFSignature])
-            }
-        }
-
-    }
-    
-    @IBAction func validateItemAction(item:NSMenuItem) {
-        let index : NSIndexSet = item.representedObject as! NSIndexSet
-        let outlineItem  = self.sigOutlineView.item(atRow: index.firstIndex)
-        if outlineItem is CPDFSignature {
-         
-        }
-
-    }
-
-    @IBAction func showItemAction(item:NSMenuItem) {
-        let index : NSIndexSet = item.representedObject as! NSIndexSet
-        let outlineItem  = self.sigOutlineView.item(atRow: index.firstIndex)
-        if outlineItem is CPDFSignature {
-            let index: Int = Int((outlineItem as! CPDFSignature).pageIndex(with: listView.document))
-            if self.listView.currentPageIndex != index {
-                
-            }
-        }
-
-    }
-    
-    @IBAction func tableViewAction(sender:Any) {
-        let row = self.sigOutlineView.clickedRow
-        if (row >= 0) && (row < self.signatures.count) {
-            let outlineItem : CPDFSignature = self.sigOutlineView.item(atRow: row) as! CPDFSignature
-            let index: Int = Int((outlineItem).pageIndex(with: listView.document))
-            if self.listView.currentPageIndex != index {
-                
-                if self.listView.currentPageIndex != index {
-                    self.listView.go(toPageIndex: index, animated: true)
-                }
-            }
-        }
-    }
-    
-}
-
-extension KMSignatureViewController : NSOutlineViewDelegate,NSOutlineViewDataSource {
-    func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: Any?) -> Int {
-        var count = self.outlineForItem(item: item ?? "").count
-        if case Optional<Any>.none = item {
-            if count > 0 {
-                self.emptyView.isHidden = true
-                self.deleteButton.isEnabled = true
-                self.validationButton.isEnabled = true
-            } else {
-                self.emptyView.isHidden = false
-                self.deleteButton.isEnabled = false
-                self.validationButton.isEnabled = false
-            }
-        } else if item is [String:Any] {
-            count = 1
-        }
-        return count
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: Any?) -> Any {
-        return self.outlineForItem(item: item ?? "")[index]
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool {
-        return self.outlineForItem(item: item).count > 0
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, shouldShowOutlineCellForItem item: Any) -> Bool {
-        return true
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, viewFor tableColumn: NSTableColumn?, item: Any) -> NSView? {
-        let cell : KMSignatureCellView = outlineView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMSignatureCellView"), owner: self) as! KMSignatureCellView
-        var contentString = ""
-        if item is CPDFSignature {
-            let signer : CPDFSigner = (item as! CPDFSignature).signers.first ?? CPDFSigner()
-            contentString = "\(NSLocalizedString("Signature by", comment: ""))\(signer.timestampSignature.name ?? "")"
-            if signer.isSignVerified && signer.isCertTrusted {
-                cell.signatureImageView.image = NSImage(named: "KMImageNameSigntureVerifySuccess")
-            } else if signer.isSignVerified && !signer.isCertTrusted {
-                cell.signatureImageView.image = NSImage(named: "KMImageNameSigntureVerifySuccess")
-            } else {
-                cell.signatureImageView.image = NSImage(named: "KMImageNameSigntureVerifySuccess")
-            }
-            cell.signatureImageView.isHidden = false
-            cell.leftOffset.constant = 36
-            cell.contenLabel.font = NSFont.systemFont(ofSize: 13)
-        } else if item is String {
-            cell.signatureImageView.isHidden = true
-            cell.leftOffset.constant = 4
-            cell.contenLabel.font = NSFont.systemFont(ofSize: 12)
-            contentString = item as! String
-        } else if item is [String:Any] {
-            cell.signatureImageView.isHidden = true
-            cell.leftOffset.constant = 4
-            cell.contenLabel.font = NSFont.systemFont(ofSize: 12)
-            contentString = (item as! [String:Any]).keys.first ?? ""
-        }
-        cell.contenLabel.stringValue = contentString
-        return cell
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, rowViewForItem item: Any) -> NSTableRowView? {
-        let rowView = KMCustomTableRowView()
-        return rowView
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, heightOfRowByItem item: Any) -> CGFloat {
-        var contentString = ""
-        var font = NSFont.systemFont(ofSize: 12)
-        if item is CPDFSignature {
-            let signer = (item as! CPDFSignature).signers.first
-            contentString = "\(NSLocalizedString("Signature by", comment: ""))\(String(describing: signer?.timestampSignature.name))"
-            font = NSFont.systemFont(ofSize: 13)
-        } else if (item is String){
-            contentString = item as! String
-        } else if (item is [String : Any]) {
-            contentString = (item as! [String:Any]).keys.first ?? ""
-        }
-        
-        let paragraphStyle = NSMutableParagraphStyle()
-        paragraphStyle.lineBreakMode = .byWordWrapping
-        var attribute = [NSAttributedString.Key.font : font, NSAttributedString.Key.paragraphStyle : paragraphStyle]
-        let rect = NSString(string: contentString).boundingRect(with: NSSize(width: outlineView.frame.size.width-20, height:CGFloat(MAXFLOAT)),options: NSString.DrawingOptions(rawValue: 3), attributes: attribute).size
-        if(rect.height < 40) {
-            return 40
-        } else {
-            return rect.height
-        }
-    }
-    
-    func outlineView(_ outlineView: NSOutlineView, shouldSelect tableColumn: NSTableColumn?) -> Bool {
-        
-        return true
-    }
-}
-
-//MARK: NSMenuDelegate
-
-extension KMSignatureViewController : NSMenuDelegate {
-    func menuNeedsUpdate(_ menu: NSMenu) {
-        menu.removeAllItems()
-        let clickedRow = self.sigOutlineView.clickedRow
-        let item = self.sigOutlineView.item(atRow: clickedRow)
-        if clickedRow > 0 && (item is CPDFSignature) {
-            var item = NSMenuItem()
-            item = menu.addItem(withTitle: NSLocalizedString("Jump To The Signature Field", comment: ""), action: #selector(jumpItemAction), target: self)!
-            item.representedObject = NSIndexSet(index: clickedRow)
-            menu.addItem(NSMenuItem.separator())
-            item = menu.addItem(withTitle: NSLocalizedString("Remove Signature", comment: ""), action: #selector(removeItemAction), target: self)!
-            item.representedObject = NSIndexSet(index: clickedRow)
-            item = menu.addItem(withTitle: NSLocalizedString("Remove Signature", comment: ""), action: #selector(validateItemAction), target: self)!
-            item.representedObject = NSIndexSet(index: clickedRow)
-            menu.addItem(NSMenuItem.separator())
-            item = menu.addItem(withTitle: NSLocalizedString("Show Signature Properties…", comment: ""), action: #selector(showItemAction), target: self)!
-            item.representedObject = NSIndexSet(index: clickedRow)
-        }
-    }
-}
-
-//MARK: CPDFSignature
-
-extension CPDFSignature {
-    func numberOfChildren(document:CPDFDocument) -> [Any] {
-        var datas : [Any] = []
-        let signer  = self.signers.first
-        
-        var validString = ""
-        if signer?.isSignVerified != nil {
-            validString = NSLocalizedString("Signature is valid", comment: "")
-        } else {
-            validString = NSLocalizedString("Signature is invalid", comment: "")
-        }
-        
-        var certTrusted = ""
-        if signer?.isCertTrusted != nil {
-            certTrusted = NSLocalizedString("Signer's identity is valid", comment: "")
-        } else {
-            certTrusted = NSLocalizedString("Signer's identity is invalid", comment: "")
-        }
-        
-        var timestampSigners = ""
-        if signer?.timestampSignature.signers != nil {
-            let tSign = signer?.timestampSignature.signers.first
-            if tSign?.isSignVerified != nil && tSign?.isSignVerified != nil {
-                timestampSigners = NSLocalizedString("The signature includes an embedded timestamp.", comment: "")
-            } else {
-                timestampSigners = NSLocalizedString("The signature includes an embedded timestamp but it could not be verified.", comment: "")
-            }
-        }
-        
-        var str3 = "\(validString)\n\n    \(certTrusted)"
-        if timestampSigners.lengthOfBytes(using: String.Encoding(rawValue: String.Encoding.utf16.rawValue)) > 0 {
-            str3 = "\(str3)\n\n    \(timestampSigners)"
-        }
-        datas.append(str3)
-        
-        var dic : [String:Any] = [:]
-        let array = [NSLocalizedString("Certificate Details...", comment: ""),signer ?? CPDFSigner()] as [Any]
-        dic[NSLocalizedString("Signature Details...", comment: "")] = array
-        datas.append(dic)
-        if signer?.timestampSignature.signers != nil && signer?.timestampSignature.signers.first?.authenDate != nil{
-            var dateFormatter = DateFormatter()
-            dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
-            let strDate = dateFormatter.string(from: signer?.timestampSignature.signers.first?.authenDate ?? Date())
-            datas.append("\(NSLocalizedString("Last Checked:", comment: ""))\(strDate)")
-        } else {
-            datas.append("\(NSLocalizedString("Last Checked:", comment: ""))\(NSLocalizedString("Never", comment: ""))")
-        }
-        let pageIndex = self.pageIndex(with: document)
-        datas.append("\(NSLocalizedString("Field:", comment: ""))\(self.fieldName.description)\(NSLocalizedString("on Page", comment: ""))\(pageIndex+1)")
-        return datas
-    }
-}

+ 0 - 203
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Signature/KMSignatureViewController.xib

@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMSignatureViewController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="deleteButton" destination="xjC-Nf-2GS" id="RMS-Rf-Dye"/>
-                <outlet property="emptyLabel" destination="8Qz-OH-3II" id="Nc6-cE-9lN"/>
-                <outlet property="emptyView" destination="tZO-Hq-S3D" id="D11-Ym-gUw"/>
-                <outlet property="sigOutlineView" destination="elC-Oa-N3Z" id="y4x-Vr-jYY"/>
-                <outlet property="tipTextField" destination="YXK-ba-z0q" id="Ou1-cq-2G1"/>
-                <outlet property="validationButton" destination="7mb-ge-mS2" id="RSd-UL-Nua"/>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="361" height="479"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <subviews>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Yy5-ur-Thh">
-                    <rect key="frame" x="0.0" y="439" width="361" height="40"/>
-                    <subviews>
-                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="YXK-ba-z0q">
-                            <rect key="frame" x="14" y="12" width="40" height="17"/>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="bp1-iO-jCh">
-                                <font key="font" metaFont="system" size="14"/>
-                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                            </textFieldCell>
-                        </textField>
-                        <button verticalHuggingPriority="750" tag="6" translatesAutoresizingMaskIntoConstraints="NO" id="xjC-Nf-2GS">
-                            <rect key="frame" x="329" y="12" width="16" height="16"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="16" id="b9M-xi-1xR"/>
-                                <constraint firstAttribute="width" constant="16" id="bJ0-HK-eVC"/>
-                            </constraints>
-                            <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" image="KMImageNameSidebarDeleteNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="k48-GK-Xcm">
-                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                <font key="font" metaFont="system"/>
-                            </buttonCell>
-                            <connections>
-                                <action selector="deleteButtonAction:" target="-2" id="GhL-qv-7j9"/>
-                            </connections>
-                        </button>
-                        <button verticalHuggingPriority="750" tag="7" translatesAutoresizingMaskIntoConstraints="NO" id="7mb-ge-mS2">
-                            <rect key="frame" x="305" y="12" width="16" height="16"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="16" id="6ig-Up-iIu"/>
-                                <constraint firstAttribute="height" constant="16" id="jn6-RK-eVV"/>
-                            </constraints>
-                            <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" image="KMImageNameSidebarValidationNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="cUZ-Qc-ft4">
-                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                <font key="font" metaFont="system"/>
-                            </buttonCell>
-                            <connections>
-                                <action selector="validationButtonAction:" target="-2" id="O55-fm-XoL"/>
-                            </connections>
-                        </button>
-                    </subviews>
-                    <constraints>
-                        <constraint firstAttribute="trailing" secondItem="xjC-Nf-2GS" secondAttribute="trailing" constant="16" id="DT8-0R-jfA"/>
-                        <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="Hgr-pU-g6O"/>
-                        <constraint firstItem="YXK-ba-z0q" firstAttribute="leading" secondItem="Yy5-ur-Thh" secondAttribute="leading" constant="16" id="bIF-xU-BxE"/>
-                        <constraint firstItem="7mb-ge-mS2" firstAttribute="centerY" secondItem="Yy5-ur-Thh" secondAttribute="centerY" id="bsI-3c-Ksm"/>
-                        <constraint firstAttribute="height" constant="40" id="eK7-FN-397"/>
-                        <constraint firstItem="xjC-Nf-2GS" firstAttribute="centerY" secondItem="Yy5-ur-Thh" secondAttribute="centerY" id="eUs-lv-q1r"/>
-                        <constraint firstItem="YXK-ba-z0q" firstAttribute="centerY" secondItem="Yy5-ur-Thh" secondAttribute="centerY" id="k9X-Lj-wXS"/>
-                        <constraint firstItem="xjC-Nf-2GS" firstAttribute="leading" secondItem="7mb-ge-mS2" secondAttribute="trailing" constant="8" id="zdc-Ce-mYh"/>
-                    </constraints>
-                </customView>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="tZO-Hq-S3D">
-                    <rect key="frame" x="59" y="153" width="244" height="173"/>
-                    <subviews>
-                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Fbx-ED-uzg">
-                            <rect key="frame" x="52" y="33" width="140" height="140"/>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="140" id="Kwl-oI-mok"/>
-                                <constraint firstAttribute="height" constant="140" id="QEp-bm-8dU"/>
-                            </constraints>
-                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameEmptySignature" id="3di-Cx-LFP"/>
-                        </imageView>
-                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8Qz-OH-3II">
-                            <rect key="frame" x="18" y="0.0" width="208" height="17"/>
-                            <textFieldCell key="cell" alignment="center" title="No digital signature was added" id="j3G-I8-SQK">
-                                <font key="font" metaFont="system" size="14"/>
-                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                            </textFieldCell>
-                        </textField>
-                    </subviews>
-                    <constraints>
-                        <constraint firstItem="Fbx-ED-uzg" firstAttribute="top" secondItem="tZO-Hq-S3D" secondAttribute="top" id="9p0-3D-r0X"/>
-                        <constraint firstItem="Fbx-ED-uzg" firstAttribute="centerX" secondItem="tZO-Hq-S3D" secondAttribute="centerX" id="ca0-xt-JTA"/>
-                        <constraint firstItem="8Qz-OH-3II" firstAttribute="centerX" secondItem="tZO-Hq-S3D" secondAttribute="centerX" id="kQn-qM-HVL"/>
-                        <constraint firstItem="8Qz-OH-3II" firstAttribute="top" secondItem="Fbx-ED-uzg" secondAttribute="bottom" constant="16" id="otH-Iw-thJ"/>
-                        <constraint firstAttribute="bottom" secondItem="8Qz-OH-3II" secondAttribute="bottom" id="p1J-wZ-tEI"/>
-                        <constraint firstAttribute="trailing" secondItem="8Qz-OH-3II" secondAttribute="trailing" constant="20" id="s64-bd-3h1"/>
-                        <constraint firstItem="8Qz-OH-3II" firstAttribute="leading" secondItem="tZO-Hq-S3D" secondAttribute="leading" constant="20" id="vfG-yk-30X"/>
-                    </constraints>
-                </customView>
-                <scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="24" horizontalPageScroll="10" verticalLineScroll="24" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eyd-vk-V3X">
-                    <rect key="frame" x="0.0" y="0.0" width="361" height="439"/>
-                    <clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="T1r-sF-va5">
-                        <rect key="frame" x="0.0" y="0.0" width="361" height="439"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" tableStyle="fullWidth" columnReordering="NO" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="14" outlineTableColumn="rXd-b0-DXq" id="elC-Oa-N3Z" customClass="KMOutlineView">
-                                <rect key="frame" x="0.0" y="0.0" width="361" height="439"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                <size key="intercellSpacing" width="17" height="0.0"/>
-                                <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                <color key="gridColor" white="1" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                <tableColumns>
-                                    <tableColumn width="349" minWidth="16" maxWidth="1000" id="rXd-b0-DXq">
-                                        <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
-                                            <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
-                                            <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
-                                        </tableHeaderCell>
-                                        <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" id="RBt-Cj-ata">
-                                            <font key="font" metaFont="system"/>
-                                            <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                            <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                        </textFieldCell>
-                                        <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
-                                        <prototypeCellViews>
-                                            <tableCellView identifier="KMSignatureCellView" id="p3o-nh-yOK" customClass="KMSignatureCellView" customModule="PDF_Office" customModuleProvider="target">
-                                                <rect key="frame" x="8" y="0.0" width="344" height="24"/>
-                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                                <subviews>
-                                                    <imageView wantsLayer="YES" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="h9E-eT-q33">
-                                                        <rect key="frame" x="0.0" y="-4" width="32" height="32"/>
-                                                        <constraints>
-                                                            <constraint firstAttribute="height" constant="32" id="Kzy-V7-eC0"/>
-                                                            <constraint firstAttribute="width" constant="32" id="V4I-K3-rji"/>
-                                                        </constraints>
-                                                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameSigntureVerifySuccess" id="gCT-L9-eDs"/>
-                                                    </imageView>
-                                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RIX-89-X8K">
-                                                        <rect key="frame" x="34" y="4" width="312" height="16"/>
-                                                        <textFieldCell key="cell" lineBreakMode="truncatingTail" alignment="left" title="1000" id="iy4-mz-XED">
-                                                            <font key="font" usesAppearanceFont="YES"/>
-                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                            <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                        </textFieldCell>
-                                                    </textField>
-                                                </subviews>
-                                                <constraints>
-                                                    <constraint firstAttribute="trailing" secondItem="RIX-89-X8K" secondAttribute="trailing" id="2aH-rs-8kF"/>
-                                                    <constraint firstItem="RIX-89-X8K" firstAttribute="leading" secondItem="p3o-nh-yOK" secondAttribute="leading" constant="36" id="ApF-zg-iKn"/>
-                                                    <constraint firstItem="h9E-eT-q33" firstAttribute="leading" secondItem="p3o-nh-yOK" secondAttribute="leading" id="Bvp-fC-uSq"/>
-                                                    <constraint firstItem="h9E-eT-q33" firstAttribute="centerY" secondItem="p3o-nh-yOK" secondAttribute="centerY" id="Of0-K4-Wfl"/>
-                                                    <constraint firstItem="RIX-89-X8K" firstAttribute="centerY" secondItem="p3o-nh-yOK" secondAttribute="centerY" id="gq4-Bh-OxQ"/>
-                                                </constraints>
-                                                <connections>
-                                                    <outlet property="contenLabel" destination="RIX-89-X8K" id="8TY-PK-PVY"/>
-                                                    <outlet property="leftOffset" destination="ApF-zg-iKn" id="gmy-UX-y7n"/>
-                                                    <outlet property="signatureImageView" destination="h9E-eT-q33" id="W8m-K4-2mC"/>
-                                                </connections>
-                                            </tableCellView>
-                                        </prototypeCellViews>
-                                    </tableColumn>
-                                </tableColumns>
-                            </outlineView>
-                        </subviews>
-                        <nil key="backgroundColor"/>
-                    </clipView>
-                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" controlSize="mini" horizontal="YES" id="arj-M1-dO0">
-                        <rect key="frame" x="-100" y="-100" width="238" height="11"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                    <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" controlSize="mini" horizontal="NO" id="N7X-EG-cMS">
-                        <rect key="frame" x="224" y="17" width="11" height="102"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                </scrollView>
-            </subviews>
-            <constraints>
-                <constraint firstItem="Yy5-ur-Thh" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="3R7-Do-dsQ"/>
-                <constraint firstItem="tZO-Hq-S3D" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="57U-0Q-da0"/>
-                <constraint firstItem="eyd-vk-V3X" firstAttribute="top" secondItem="Yy5-ur-Thh" secondAttribute="bottom" id="8lh-n5-3B2"/>
-                <constraint firstItem="tZO-Hq-S3D" firstAttribute="centerY" secondItem="Hz6-mo-xeY" secondAttribute="centerY" id="AcC-NC-lSh"/>
-                <constraint firstAttribute="trailing" secondItem="Yy5-ur-Thh" secondAttribute="trailing" id="IF7-8b-ozi"/>
-                <constraint firstAttribute="trailing" secondItem="eyd-vk-V3X" secondAttribute="trailing" id="Pd1-c7-Fne"/>
-                <constraint firstAttribute="bottom" secondItem="eyd-vk-V3X" secondAttribute="bottom" id="dlc-YB-ApE"/>
-                <constraint firstItem="Yy5-ur-Thh" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="ouu-wm-PvC"/>
-                <constraint firstItem="eyd-vk-V3X" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="yfe-MO-cu8"/>
-            </constraints>
-            <point key="canvasLocation" x="-58.5" y="151.5"/>
-        </customView>
-    </objects>
-    <resources>
-        <image name="KMImageNameEmptySignature" width="140" height="140"/>
-        <image name="KMImageNameSidebarDeleteNor" width="16" height="16"/>
-        <image name="KMImageNameSidebarValidationNor" width="16" height="16"/>
-        <image name="KMImageNameSigntureVerifySuccess" width="32" height="32"/>
-    </resources>
-</document>

File diff suppressed because it is too large
+ 0 - 1069
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/KMThumbnailViewController.swift


+ 0 - 100
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/KMThumbnailViewController.xib

@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMThumbnailViewController" customModule="PDF_Master" customModuleProvider="target">
-            <connections>
-                <outlet property="doublePageBtn" destination="y7O-T9-4pt" id="PlC-YF-qgf"/>
-                <outlet property="headerView" destination="ByL-P0-CBo" id="eV2-UI-ZCZ"/>
-                <outlet property="lineView" destination="TTY-aB-eBP" id="2vZ-ey-XLI"/>
-                <outlet property="thumbnailView" destination="0Ot-Gw-V0A" id="rUP-Aa-y2r"/>
-                <outlet property="titleLabel" destination="xyA-oR-kpO" id="4lw-mK-gCO"/>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="280" height="444"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <subviews>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="ByL-P0-CBo">
-                    <rect key="frame" x="0.0" y="396" width="280" height="48"/>
-                    <subviews>
-                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xyA-oR-kpO">
-                            <rect key="frame" x="14" y="16" width="220" height="17"/>
-                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="lOy-md-kxo">
-                                <font key="font" metaFont="system" size="14"/>
-                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                            </textFieldCell>
-                        </textField>
-                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="y7O-T9-4pt">
-                            <rect key="frame" x="240" y="8" width="32" height="32"/>
-                            <buttonCell key="cell" type="smallSquare" bezelStyle="smallSquare" image="KMImageNameThumbnailDoublePage" imagePosition="overlaps" alignment="center" lineBreakMode="truncatingTail" state="on" imageScaling="proportionallyDown" inset="2" id="Kh1-u8-bUw">
-                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                <font key="font" metaFont="system"/>
-                            </buttonCell>
-                            <constraints>
-                                <constraint firstAttribute="width" constant="32" id="Rhj-E6-2zo"/>
-                                <constraint firstAttribute="height" constant="32" id="gFh-BW-G5V"/>
-                            </constraints>
-                            <connections>
-                                <action selector="doublePageAction:" target="-2" id="dCI-g4-Gkm"/>
-                            </connections>
-                        </button>
-                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="78q-yY-AEA">
-                            <rect key="frame" x="140" y="24" width="0.0" height="0.0"/>
-                            <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="s09-io-xhL">
-                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                <font key="font" metaFont="system"/>
-                            </buttonCell>
-                            <connections>
-                                <action selector="escButtonAction:" target="-2" id="lcr-dF-51N"/>
-                            </connections>
-                        </button>
-                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="TTY-aB-eBP">
-                            <rect key="frame" x="0.0" y="0.0" width="280" height="1"/>
-                            <constraints>
-                                <constraint firstAttribute="height" constant="1" id="3zP-V1-xK4"/>
-                            </constraints>
-                        </customView>
-                    </subviews>
-                    <constraints>
-                        <constraint firstAttribute="trailing" secondItem="TTY-aB-eBP" secondAttribute="trailing" id="EnH-eE-TVR"/>
-                        <constraint firstItem="xyA-oR-kpO" firstAttribute="centerY" secondItem="ByL-P0-CBo" secondAttribute="centerY" id="HyG-hF-nPM"/>
-                        <constraint firstAttribute="bottom" secondItem="TTY-aB-eBP" secondAttribute="bottom" id="IZE-u3-zhJ"/>
-                        <constraint firstItem="TTY-aB-eBP" firstAttribute="leading" secondItem="ByL-P0-CBo" secondAttribute="leading" id="O8z-LK-bSW"/>
-                        <constraint firstAttribute="height" constant="48" id="REe-oB-HuG"/>
-                        <constraint firstAttribute="trailing" secondItem="y7O-T9-4pt" secondAttribute="trailing" constant="8" id="cbX-c7-OqW"/>
-                        <constraint firstItem="y7O-T9-4pt" firstAttribute="leading" secondItem="xyA-oR-kpO" secondAttribute="trailing" constant="8" id="cq0-Jp-biI"/>
-                        <constraint firstItem="xyA-oR-kpO" firstAttribute="leading" secondItem="ByL-P0-CBo" secondAttribute="leading" constant="16" id="n2U-HC-cFj"/>
-                        <constraint firstItem="78q-yY-AEA" firstAttribute="centerY" secondItem="ByL-P0-CBo" secondAttribute="centerY" id="ofz-tG-oEe"/>
-                        <constraint firstItem="78q-yY-AEA" firstAttribute="centerX" secondItem="ByL-P0-CBo" secondAttribute="centerX" id="uRO-2i-Ujk"/>
-                        <constraint firstItem="y7O-T9-4pt" firstAttribute="centerY" secondItem="ByL-P0-CBo" secondAttribute="centerY" id="wjz-OJ-KhO"/>
-                    </constraints>
-                </customView>
-                <customView translatesAutoresizingMaskIntoConstraints="NO" id="0Ot-Gw-V0A" customClass="KMPageEditThumbnailView" customModule="PDF_Master" customModuleProvider="target">
-                    <rect key="frame" x="0.0" y="0.0" width="280" height="396"/>
-                </customView>
-            </subviews>
-            <constraints>
-                <constraint firstItem="0Ot-Gw-V0A" firstAttribute="top" secondItem="ByL-P0-CBo" secondAttribute="bottom" id="15t-eY-oQQ"/>
-                <constraint firstItem="ByL-P0-CBo" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="QQn-OZ-9yl"/>
-                <constraint firstItem="ByL-P0-CBo" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="Qsq-9i-iyq"/>
-                <constraint firstAttribute="bottom" secondItem="0Ot-Gw-V0A" secondAttribute="bottom" id="cJ9-5d-ec4"/>
-                <constraint firstItem="0Ot-Gw-V0A" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="doS-Sl-FSB"/>
-                <constraint firstAttribute="trailing" secondItem="0Ot-Gw-V0A" secondAttribute="trailing" id="lOH-mF-Lad"/>
-                <constraint firstAttribute="trailing" secondItem="ByL-P0-CBo" secondAttribute="trailing" id="olg-rT-rLG"/>
-            </constraints>
-            <point key="canvasLocation" x="-5" y="186"/>
-        </customView>
-    </objects>
-    <resources>
-        <image name="KMImageNameThumbnailDoublePage" width="32" height="32"/>
-    </resources>
-</document>

+ 9 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/Manager/KMThumbnailManager.swift

@@ -73,3 +73,12 @@ class KMThumbnailManager: NSObject {
         return false // 默认情况下,文件不为空
     }
 }
+
+struct KMThumbnailPageItem {
+    var page: CPDFPage
+    var index: Int = 0
+    var oldIndex: Int = 0
+    var rotate: Int = 0
+    var oldRotate: Int = 0
+    var bookMark: CPDFBookmark?
+}

+ 0 - 14
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/model/KMPDFThumbnailModel.swift

@@ -1,14 +0,0 @@
-//
-//  KMPDFThumbnailModel.swift
-//  PDF Reader Pro
-//
-//  Created by lizhe on 2023/4/25.
-//
-
-import Cocoa
-
-class KMPDFThumbnailModel: NSObject {
-    var page: CPDFPage = CPDFPage()
-    var select: Bool = false
-    var hover: Bool = false
-}

+ 42 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Tools/KMBotaTools.swift

@@ -7,6 +7,48 @@
 
 import Cocoa
 
+
+enum KMNoteSortType: Int {
+    case none = 0
+    case time
+    case page
+}
+
+enum KMLeftSidePaneState: Int {
+    case thumbnail = 1
+    case outline
+    case noteList
+    case snapshotList
+    case find
+}
+
+enum KMFindPaneState: Int {
+    case singular = 1
+    case grouped
+}
+
+enum KMFindState: Int {
+    case none
+    case content = 1
+    case note
+    case snapshot
+}
+
+enum KMSelectedSegmentType: Int {
+    case thumbnail = 0
+    case outline
+    case annotation
+    case snapshot
+    case search
+}
+
+enum KMFoldType: Int {
+    case none = 0 //混合
+    case unfold //展开
+    case fold //折叠
+}
+
+
 class KMBotaTools: NSObject {
 
 }

+ 0 - 5
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift

@@ -699,11 +699,6 @@ extension KMMainViewController: KMLeftSideViewControllerDelegate {
         }
     }
     
-    func controller(controller: KMLeftSideViewController, bookMarkDidChange bookMarks: [KMBookMarkItem]) {
-        self.needSave = true
-        self.recordIsPDFDocumentEdited()
-    }
-    
     func controller(controller: KMLeftSideViewController, rotateType: KMRotateType) {
         if rotateType == .clockwise {
             self.menuItemAction_rotateRight((Any).self)

+ 0 - 1
PDF Office/PDF Master/PDF_Reader_Pro DMG-Bridging-Header.h

@@ -38,7 +38,6 @@
 
 #import "CStringConstants.h"
 
-#import "KMCellEmptyView.h"
 #import "GBDeviceInfo.h"
 #import "KMEmailSubWindowController.h"
 #import "SKKeychain.h"

+ 0 - 1
PDF Office/PDF Master/PDF_Reader_Pro Edition-Bridging-Header.h

@@ -37,7 +37,6 @@
 
 #import "CStringConstants.h"
 
-#import "KMCellEmptyView.h"
 #import "GBDeviceInfo.h"
 #import "KMEmailSubWindowController.h"
 #import "SKKeychain.h"

+ 0 - 1
PDF Office/PDF Master/PDF_Reader_Pro-Bridging-Header.h

@@ -37,7 +37,6 @@
 
 #import "CStringConstants.h"
 
-#import "KMCellEmptyView.h"
 #import "GBDeviceInfo.h"
 #import "KMEmailSubWindowController.h"
 #import "SKKeychain.h"

+ 6 - 240
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -16,21 +16,6 @@
 		89316855296E45CA0073EA59 /* KMImageAccessoryController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89316851296E45CA0073EA59 /* KMImageAccessoryController.xib */; };
 		89316856296E45CA0073EA59 /* KMImageAccessoryController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89316851296E45CA0073EA59 /* KMImageAccessoryController.xib */; };
 		89316857296E45CA0073EA59 /* KMImageAccessoryController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89316851296E45CA0073EA59 /* KMImageAccessoryController.xib */; };
-		8942F7BB29222C7E00389627 /* KMBookCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7BA29222C7E00389627 /* KMBookCellView.swift */; };
-		8942F7BC29222C7E00389627 /* KMBookCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7BA29222C7E00389627 /* KMBookCellView.swift */; };
-		8942F7BD29222C7E00389627 /* KMBookCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7BA29222C7E00389627 /* KMBookCellView.swift */; };
-		8942F7F02926087200389627 /* KMSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7EE2926087200389627 /* KMSearchViewController.swift */; };
-		8942F7F12926087200389627 /* KMSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7EE2926087200389627 /* KMSearchViewController.swift */; };
-		8942F7F22926087200389627 /* KMSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7EE2926087200389627 /* KMSearchViewController.swift */; };
-		8942F7F32926087200389627 /* KMSearchViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8942F7EF2926087200389627 /* KMSearchViewController.xib */; };
-		8942F7F42926087200389627 /* KMSearchViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8942F7EF2926087200389627 /* KMSearchViewController.xib */; };
-		8942F7F52926087200389627 /* KMSearchViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8942F7EF2926087200389627 /* KMSearchViewController.xib */; };
-		8942F7F82926089200389627 /* KMSignatureViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7F62926089200389627 /* KMSignatureViewController.swift */; };
-		8942F7F92926089200389627 /* KMSignatureViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7F62926089200389627 /* KMSignatureViewController.swift */; };
-		8942F7FA2926089200389627 /* KMSignatureViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F7F62926089200389627 /* KMSignatureViewController.swift */; };
-		8942F7FB2926089200389627 /* KMSignatureViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8942F7F72926089200389627 /* KMSignatureViewController.xib */; };
-		8942F7FC2926089200389627 /* KMSignatureViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8942F7F72926089200389627 /* KMSignatureViewController.xib */; };
-		8942F7FD2926089200389627 /* KMSignatureViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8942F7F72926089200389627 /* KMSignatureViewController.xib */; };
 		8942F80329262B2E00389627 /* KMSideViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F80229262B2E00389627 /* KMSideViewController.swift */; };
 		8942F80429262B2E00389627 /* KMSideViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F80229262B2E00389627 /* KMSideViewController.swift */; };
 		8942F80529262B2E00389627 /* KMSideViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8942F80229262B2E00389627 /* KMSideViewController.swift */; };
@@ -67,9 +52,6 @@
 		89752E072939DB42003FF08E /* KMToolbarViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89752E032939DB42003FF08E /* KMToolbarViewController.xib */; };
 		89752E082939DB42003FF08E /* KMToolbarViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89752E032939DB42003FF08E /* KMToolbarViewController.xib */; };
 		89752E092939DB42003FF08E /* KMToolbarViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89752E032939DB42003FF08E /* KMToolbarViewController.xib */; };
-		89752E192941FD48003FF08E /* KMSearchCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89752E182941FD48003FF08E /* KMSearchCellView.swift */; };
-		89752E1A2941FD48003FF08E /* KMSearchCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89752E182941FD48003FF08E /* KMSearchCellView.swift */; };
-		89752E1B2941FD48003FF08E /* KMSearchCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89752E182941FD48003FF08E /* KMSearchCellView.swift */; };
 		89752E1D2942CB03003FF08E /* KMSearchMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89752E1C2942CB03003FF08E /* KMSearchMode.swift */; };
 		89752E1E2942CB04003FF08E /* KMSearchMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89752E1C2942CB03003FF08E /* KMSearchMode.swift */; };
 		89752E1F2942CB04003FF08E /* KMSearchMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89752E1C2942CB03003FF08E /* KMSearchMode.swift */; };
@@ -91,43 +73,16 @@
 		899700F928F4051B009AF911 /* KMAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 899700F528F4051B009AF911 /* KMAnnotationViewController.xib */; };
 		899700FA28F4051B009AF911 /* KMAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 899700F528F4051B009AF911 /* KMAnnotationViewController.xib */; };
 		899700FB28F4051B009AF911 /* KMAnnotationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 899700F528F4051B009AF911 /* KMAnnotationViewController.xib */; };
-		899700FE28F40710009AF911 /* KMBookMarkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899700FC28F40710009AF911 /* KMBookMarkViewController.swift */; };
-		899700FF28F40710009AF911 /* KMBookMarkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899700FC28F40710009AF911 /* KMBookMarkViewController.swift */; };
-		8997010028F40710009AF911 /* KMBookMarkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899700FC28F40710009AF911 /* KMBookMarkViewController.swift */; };
-		8997010128F40710009AF911 /* KMBookMarkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 899700FD28F40710009AF911 /* KMBookMarkViewController.xib */; };
-		8997010228F40710009AF911 /* KMBookMarkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 899700FD28F40710009AF911 /* KMBookMarkViewController.xib */; };
-		8997010328F40710009AF911 /* KMBookMarkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 899700FD28F40710009AF911 /* KMBookMarkViewController.xib */; };
-		8997010628F4082C009AF911 /* KMFromViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997010428F4082C009AF911 /* KMFromViewController.swift */; };
-		8997010728F4082C009AF911 /* KMFromViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997010428F4082C009AF911 /* KMFromViewController.swift */; };
-		8997010828F4082C009AF911 /* KMFromViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997010428F4082C009AF911 /* KMFromViewController.swift */; };
-		8997010928F4082C009AF911 /* KMFromViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997010528F4082C009AF911 /* KMFromViewController.xib */; };
-		8997010A28F4082C009AF911 /* KMFromViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997010528F4082C009AF911 /* KMFromViewController.xib */; };
-		8997010B28F4082C009AF911 /* KMFromViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997010528F4082C009AF911 /* KMFromViewController.xib */; };
 		8997010E28F40842009AF911 /* KMOutlineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997010C28F40842009AF911 /* KMOutlineViewController.swift */; };
 		8997010F28F40842009AF911 /* KMOutlineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997010C28F40842009AF911 /* KMOutlineViewController.swift */; };
 		8997011028F40842009AF911 /* KMOutlineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997010C28F40842009AF911 /* KMOutlineViewController.swift */; };
 		8997011128F40842009AF911 /* KMOutlineViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997010D28F40842009AF911 /* KMOutlineViewController.xib */; };
 		8997011228F40842009AF911 /* KMOutlineViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997010D28F40842009AF911 /* KMOutlineViewController.xib */; };
 		8997011328F40842009AF911 /* KMOutlineViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997010D28F40842009AF911 /* KMOutlineViewController.xib */; };
-		8997011928F40898009AF911 /* KMThumbnailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997011528F40898009AF911 /* KMThumbnailViewController.xib */; };
-		8997011A28F40898009AF911 /* KMThumbnailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997011528F40898009AF911 /* KMThumbnailViewController.xib */; };
-		8997011B28F40898009AF911 /* KMThumbnailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8997011528F40898009AF911 /* KMThumbnailViewController.xib */; };
 		8997011F28F41AB8009AF911 /* KMLeftSideViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997011D28F41AB8009AF911 /* KMLeftSideViewController.swift */; };
 		8997012028F41AB8009AF911 /* KMLeftSideViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997011D28F41AB8009AF911 /* KMLeftSideViewController.swift */; };
 		8997012128F41AB8009AF911 /* KMLeftSideViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8997011D28F41AB8009AF911 /* KMLeftSideViewController.swift */; };
 		899E0B092919244500B13D34 /* KMCustomTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 899E0B082919244500B13D34 /* KMCustomTableRowView.swift */; };
-		89D2D2BD29486D2400BFF5FE /* KMSignatureCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2BC29486D2400BFF5FE /* KMSignatureCellView.swift */; };
-		89D2D2BE29486D2400BFF5FE /* KMSignatureCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2BC29486D2400BFF5FE /* KMSignatureCellView.swift */; };
-		89D2D2BF29486D2400BFF5FE /* KMSignatureCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2BC29486D2400BFF5FE /* KMSignatureCellView.swift */; };
-		89D2D2C129495D2100BFF5FE /* KMFormModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2C029495D2100BFF5FE /* KMFormModel.swift */; };
-		89D2D2C229495D2100BFF5FE /* KMFormModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2C029495D2100BFF5FE /* KMFormModel.swift */; };
-		89D2D2C329495D2100BFF5FE /* KMFormModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2C029495D2100BFF5FE /* KMFormModel.swift */; };
-		89D2D2C5294972B900BFF5FE /* KMFormCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2C4294972B900BFF5FE /* KMFormCellView.swift */; };
-		89D2D2C6294972B900BFF5FE /* KMFormCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2C4294972B900BFF5FE /* KMFormCellView.swift */; };
-		89D2D2C7294972B900BFF5FE /* KMFormCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2C4294972B900BFF5FE /* KMFormCellView.swift */; };
-		89D2D2DE294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2DA294C451400BFF5FE /* KMThumbnailViewController.swift */; };
-		89D2D2DF294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2DA294C451400BFF5FE /* KMThumbnailViewController.swift */; };
-		89D2D2E0294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2DA294C451400BFF5FE /* KMThumbnailViewController.swift */; };
 		89D2D2E2294C452B00BFF5FE /* KMPDFThumbnailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2E1294C452B00BFF5FE /* KMPDFThumbnailView.swift */; };
 		89D2D2E3294C452B00BFF5FE /* KMPDFThumbnailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2E1294C452B00BFF5FE /* KMPDFThumbnailView.swift */; };
 		89D2D2E4294C452B00BFF5FE /* KMPDFThumbnailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89D2D2E1294C452B00BFF5FE /* KMPDFThumbnailView.swift */; };
@@ -2094,9 +2049,6 @@
 		ADC63E4B2A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E472A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib */; };
 		ADC63E4C2A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E472A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib */; };
 		ADC63E4D2A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC63E472A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib */; };
-		ADCFFC0229C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADCFFC0129C004AD007D3657 /* KMBookMarkTableRowView.swift */; };
-		ADCFFC0329C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADCFFC0129C004AD007D3657 /* KMBookMarkTableRowView.swift */; };
-		ADCFFC0429C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADCFFC0129C004AD007D3657 /* KMBookMarkTableRowView.swift */; };
 		ADCFFC0629C04617007D3657 /* BOTA.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADCFFC0529C04617007D3657 /* BOTA.xcassets */; };
 		ADCFFC0729C04617007D3657 /* BOTA.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADCFFC0529C04617007D3657 /* BOTA.xcassets */; };
 		ADCFFC0829C04617007D3657 /* BOTA.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADCFFC0529C04617007D3657 /* BOTA.xcassets */; };
@@ -2379,9 +2331,6 @@
 		ADDF83B02B391A5D00A81A4E /* KMDSignatureManager.m in Sources */ = {isa = PBXBuildFile; fileRef = ADDF831F2B391A5C00A81A4E /* KMDSignatureManager.m */; };
 		ADDF83B12B391A5D00A81A4E /* KMDSignatureManager.m in Sources */ = {isa = PBXBuildFile; fileRef = ADDF831F2B391A5C00A81A4E /* KMDSignatureManager.m */; };
 		ADDF83B22B391A5D00A81A4E /* KMDSignatureManager.m in Sources */ = {isa = PBXBuildFile; fileRef = ADDF831F2B391A5C00A81A4E /* KMDSignatureManager.m */; };
-		ADE3C19F29A3894900793B13 /* KMSearchTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */; };
-		ADE3C1A029A3894900793B13 /* KMSearchTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */; };
-		ADE3C1A129A3894900793B13 /* KMSearchTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */; };
 		ADE3C1AB29A4779E00793B13 /* KMPrintAccessoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C1A929A4779E00793B13 /* KMPrintAccessoryController.swift */; };
 		ADE3C1AC29A4779E00793B13 /* KMPrintAccessoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C1A929A4779E00793B13 /* KMPrintAccessoryController.swift */; };
 		ADE3C1AD29A4779E00793B13 /* KMPrintAccessoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE3C1A929A4779E00793B13 /* KMPrintAccessoryController.swift */; };
@@ -2528,12 +2477,6 @@
 		ADE8BC2A29F7CDB000570F89 /* KMPageNumberDisplayView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADE8BC2929F7CDB000570F89 /* KMPageNumberDisplayView.xib */; };
 		ADE8BC2B29F7CDB000570F89 /* KMPageNumberDisplayView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADE8BC2929F7CDB000570F89 /* KMPageNumberDisplayView.xib */; };
 		ADE8BC2C29F7CDB000570F89 /* KMPageNumberDisplayView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADE8BC2929F7CDB000570F89 /* KMPageNumberDisplayView.xib */; };
-		ADE8BC2F29F8CD7200570F89 /* KMPDFThumbnailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE8BC2E29F8CD7200570F89 /* KMPDFThumbnailModel.swift */; };
-		ADE8BC3029F8CD7200570F89 /* KMPDFThumbnailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE8BC2E29F8CD7200570F89 /* KMPDFThumbnailModel.swift */; };
-		ADE8BC3129F8CD7200570F89 /* KMPDFThumbnailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE8BC2E29F8CD7200570F89 /* KMPDFThumbnailModel.swift */; };
-		ADE8BC3329F9261900570F89 /* KMSearchCellView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADE8BC3229F9261900570F89 /* KMSearchCellView.xib */; };
-		ADE8BC3429F9261900570F89 /* KMSearchCellView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADE8BC3229F9261900570F89 /* KMSearchCellView.xib */; };
-		ADE8BC3529F9261900570F89 /* KMSearchCellView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADE8BC3229F9261900570F89 /* KMSearchCellView.xib */; };
 		ADE8BC3E29F9458700570F89 /* KMRecommondInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = ADE8BC3929F9458700570F89 /* KMRecommondInfo.m */; };
 		ADE8BC3F29F9458700570F89 /* KMRecommondInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = ADE8BC3929F9458700570F89 /* KMRecommondInfo.m */; };
 		ADE8BC4029F9458700570F89 /* KMRecommondInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = ADE8BC3929F9458700570F89 /* KMRecommondInfo.m */; };
@@ -3356,9 +3299,6 @@
 		BB3A429E2B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */; };
 		BB3A429F2B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */; };
 		BB3A42A02B4BF03A006D0642 /* KMSystemPDFMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */; };
-		BB3A668C2B06FD0100575343 /* KMBotaEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */; };
-		BB3A668D2B06FD0100575343 /* KMBotaEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */; };
-		BB3A668E2B06FD0100575343 /* KMBotaEnum.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */; };
 		BB3A66902B07099F00575343 /* KMFindTableviewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668F2B07099F00575343 /* KMFindTableviewCell.swift */; };
 		BB3A66912B07099F00575343 /* KMFindTableviewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668F2B07099F00575343 /* KMFindTableviewCell.swift */; };
 		BB3A66922B07099F00575343 /* KMFindTableviewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB3A668F2B07099F00575343 /* KMFindTableviewCell.swift */; };
@@ -3855,9 +3795,6 @@
 		BB8115FF2992682F0008F536 /* KMSecureLimitAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8115FE2992682F0008F536 /* KMSecureLimitAlertView.swift */; };
 		BB8116002992682F0008F536 /* KMSecureLimitAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8115FE2992682F0008F536 /* KMSecureLimitAlertView.swift */; };
 		BB8116012992682F0008F536 /* KMSecureLimitAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8115FE2992682F0008F536 /* KMSecureLimitAlertView.swift */; };
-		BB83639A2C199C20002CE43A /* KMBotaModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8363992C199C20002CE43A /* KMBotaModel.swift */; };
-		BB83639B2C199C20002CE43A /* KMBotaModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8363992C199C20002CE43A /* KMBotaModel.swift */; };
-		BB83639C2C199C20002CE43A /* KMBotaModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB8363992C199C20002CE43A /* KMBotaModel.swift */; };
 		BB83B8EC2BA8415A00EFF584 /* KMPageEditExtractWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB83B8EB2BA8415900EFF584 /* KMPageEditExtractWindowController.swift */; };
 		BB83B8ED2BA8415A00EFF584 /* KMPageEditExtractWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB83B8EB2BA8415900EFF584 /* KMPageEditExtractWindowController.swift */; };
 		BB83B8EE2BA8415A00EFF584 /* KMPageEditExtractWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB83B8EB2BA8415900EFF584 /* KMPageEditExtractWindowController.swift */; };
@@ -4269,12 +4206,6 @@
 		BBA19F3629ADACC5001A285A /* signPicture_nor.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBA19F3529ADACC5001A285A /* signPicture_nor.pdf */; };
 		BBA19F3729ADACC5001A285A /* signPicture_nor.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBA19F3529ADACC5001A285A /* signPicture_nor.pdf */; };
 		BBA19F3829ADACC5001A285A /* signPicture_nor.pdf in Resources */ = {isa = PBXBuildFile; fileRef = BBA19F3529ADACC5001A285A /* signPicture_nor.pdf */; };
-		BBA19F3F29ADE40A001A285A /* KMCellEmptyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F3E29ADE40A001A285A /* KMCellEmptyView.m */; };
-		BBA19F4029ADE40A001A285A /* KMCellEmptyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F3E29ADE40A001A285A /* KMCellEmptyView.m */; };
-		BBA19F4129ADE40A001A285A /* KMCellEmptyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F3E29ADE40A001A285A /* KMCellEmptyView.m */; };
-		BBA19F4329ADE6A3001A285A /* KMBookMarkRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F4229ADE6A2001A285A /* KMBookMarkRowView.swift */; };
-		BBA19F4429ADE6A3001A285A /* KMBookMarkRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F4229ADE6A2001A285A /* KMBookMarkRowView.swift */; };
-		BBA19F4529ADE6A3001A285A /* KMBookMarkRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F4229ADE6A2001A285A /* KMBookMarkRowView.swift */; };
 		BBA19F4729AE27DA001A285A /* KMAnnotationTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F4629AE27DA001A285A /* KMAnnotationTableRowView.swift */; };
 		BBA19F4829AE27DA001A285A /* KMAnnotationTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F4629AE27DA001A285A /* KMAnnotationTableRowView.swift */; };
 		BBA19F4929AE27DB001A285A /* KMAnnotationTableRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA19F4629AE27DA001A285A /* KMAnnotationTableRowView.swift */; };
@@ -5332,11 +5263,6 @@
 		89316820296D73CC0073EA59 /* KMSignatureAnnotationViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KMSignatureAnnotationViewController.m; sourceTree = "<group>"; };
 		89316821296D73CC0073EA59 /* KMSignatureAnnotationViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSignatureAnnotationViewController.xib; sourceTree = "<group>"; };
 		89316851296E45CA0073EA59 /* KMImageAccessoryController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMImageAccessoryController.xib; sourceTree = "<group>"; };
-		8942F7BA29222C7E00389627 /* KMBookCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBookCellView.swift; sourceTree = "<group>"; };
-		8942F7EE2926087200389627 /* KMSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSearchViewController.swift; sourceTree = "<group>"; };
-		8942F7EF2926087200389627 /* KMSearchViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSearchViewController.xib; sourceTree = "<group>"; };
-		8942F7F62926089200389627 /* KMSignatureViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSignatureViewController.swift; sourceTree = "<group>"; };
-		8942F7F72926089200389627 /* KMSignatureViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSignatureViewController.xib; sourceTree = "<group>"; };
 		8942F80229262B2E00389627 /* KMSideViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSideViewController.swift; sourceTree = "<group>"; };
 		8942F816292B678100389627 /* KMAnnotationTableCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAnnotationTableCellView.swift; sourceTree = "<group>"; };
 		896933D329AEEE3D0055327F /* PageSheet.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PageSheet.xib; sourceTree = "<group>"; };
@@ -5349,7 +5275,6 @@
 		89752DF52938A236003FF08E /* PublicKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicKey.swift; sourceTree = "<group>"; };
 		89752E022939DB42003FF08E /* KMToolbarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMToolbarViewController.swift; sourceTree = "<group>"; };
 		89752E032939DB42003FF08E /* KMToolbarViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMToolbarViewController.xib; sourceTree = "<group>"; };
-		89752E182941FD48003FF08E /* KMSearchCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSearchCellView.swift; sourceTree = "<group>"; };
 		89752E1C2942CB03003FF08E /* KMSearchMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSearchMode.swift; sourceTree = "<group>"; };
 		899700DD28F3A9F2009AF911 /* KMHomeWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHomeWindowController.swift; sourceTree = "<group>"; };
 		899700DE28F3A9F2009AF911 /* KMHomeWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMHomeWindowController.xib; sourceTree = "<group>"; };
@@ -5357,19 +5282,10 @@
 		899700E728F3E4D3009AF911 /* MainWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindowController.xib; sourceTree = "<group>"; };
 		899700F428F4051B009AF911 /* KMAnnotationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAnnotationViewController.swift; sourceTree = "<group>"; };
 		899700F528F4051B009AF911 /* KMAnnotationViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMAnnotationViewController.xib; sourceTree = "<group>"; };
-		899700FC28F40710009AF911 /* KMBookMarkViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBookMarkViewController.swift; sourceTree = "<group>"; };
-		899700FD28F40710009AF911 /* KMBookMarkViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBookMarkViewController.xib; sourceTree = "<group>"; };
-		8997010428F4082C009AF911 /* KMFromViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMFromViewController.swift; sourceTree = "<group>"; };
-		8997010528F4082C009AF911 /* KMFromViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMFromViewController.xib; sourceTree = "<group>"; };
 		8997010C28F40842009AF911 /* KMOutlineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMOutlineViewController.swift; sourceTree = "<group>"; };
 		8997010D28F40842009AF911 /* KMOutlineViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMOutlineViewController.xib; sourceTree = "<group>"; };
-		8997011528F40898009AF911 /* KMThumbnailViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMThumbnailViewController.xib; sourceTree = "<group>"; };
 		8997011D28F41AB8009AF911 /* KMLeftSideViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMLeftSideViewController.swift; sourceTree = "<group>"; };
 		899E0B082919244500B13D34 /* KMCustomTableRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCustomTableRowView.swift; sourceTree = "<group>"; };
-		89D2D2BC29486D2400BFF5FE /* KMSignatureCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSignatureCellView.swift; sourceTree = "<group>"; };
-		89D2D2C029495D2100BFF5FE /* KMFormModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMFormModel.swift; sourceTree = "<group>"; };
-		89D2D2C4294972B900BFF5FE /* KMFormCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMFormCellView.swift; sourceTree = "<group>"; };
-		89D2D2DA294C451400BFF5FE /* KMThumbnailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMThumbnailViewController.swift; sourceTree = "<group>"; };
 		89D2D2E1294C452B00BFF5FE /* KMPDFThumbnailView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPDFThumbnailView.swift; sourceTree = "<group>"; };
 		89D2D2F9294C806000BFF5FE /* KMPDFThumbnailItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPDFThumbnailItem.swift; sourceTree = "<group>"; };
 		89D2D2FA294C806000BFF5FE /* KMPDFThumbnailItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPDFThumbnailItem.xib; sourceTree = "<group>"; };
@@ -6124,7 +6040,6 @@
 		ADC63E422A49817400854E02 /* KMSubscribeSuccessView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSubscribeSuccessView.xib; sourceTree = "<group>"; };
 		ADC63E462A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSubscribeWaterMarkCollectionItem.swift; sourceTree = "<group>"; };
 		ADC63E472A49BEDD00854E02 /* KMSubscribeWaterMarkCollectionItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSubscribeWaterMarkCollectionItem.xib; sourceTree = "<group>"; };
-		ADCFFC0129C004AD007D3657 /* KMBookMarkTableRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBookMarkTableRowView.swift; sourceTree = "<group>"; };
 		ADCFFC0529C04617007D3657 /* BOTA.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = BOTA.xcassets; sourceTree = "<group>"; };
 		ADD1B6A92941E97F00C3FFF7 /* KMPrintWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintWindowController.swift; sourceTree = "<group>"; };
 		ADD1B6AA2941E97F00C3FFF7 /* KMPrintWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPrintWindowController.xib; sourceTree = "<group>"; };
@@ -6233,7 +6148,6 @@
 		ADDF831D2B391A5C00A81A4E /* DSignatureModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DSignatureModel.swift; sourceTree = "<group>"; };
 		ADDF831E2B391A5C00A81A4E /* DSignatureConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DSignatureConfig.swift; sourceTree = "<group>"; };
 		ADDF831F2B391A5C00A81A4E /* KMDSignatureManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMDSignatureManager.m; sourceTree = "<group>"; };
-		ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSearchTableRowView.swift; sourceTree = "<group>"; };
 		ADE3C1A929A4779E00793B13 /* KMPrintAccessoryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintAccessoryController.swift; sourceTree = "<group>"; };
 		ADE3C1AA29A4779E00793B13 /* KMPrintAccessoryController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPrintAccessoryController.xib; sourceTree = "<group>"; };
 		ADE3C1BE29A4C13700793B13 /* KMPrintAccessoryController_OC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KMPrintAccessoryController_OC.h; sourceTree = "<group>"; };
@@ -6284,8 +6198,6 @@
 		ADE86AFA2B0AF5A400414DFA /* KMCompareContentSettingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCompareContentSettingView.xib; sourceTree = "<group>"; };
 		ADE8BC2429F7CCA600570F89 /* KMPageNumberDisplayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPageNumberDisplayView.swift; sourceTree = "<group>"; };
 		ADE8BC2929F7CDB000570F89 /* KMPageNumberDisplayView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPageNumberDisplayView.xib; sourceTree = "<group>"; };
-		ADE8BC2E29F8CD7200570F89 /* KMPDFThumbnailModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPDFThumbnailModel.swift; sourceTree = "<group>"; };
-		ADE8BC3229F9261900570F89 /* KMSearchCellView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSearchCellView.xib; sourceTree = "<group>"; };
 		ADE8BC3929F9458700570F89 /* KMRecommondInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMRecommondInfo.m; sourceTree = "<group>"; };
 		ADE8BC3A29F9458700570F89 /* KMRecommondInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMRecommondInfo.h; sourceTree = "<group>"; };
 		ADEC7A7B299397F8009A8256 /* NSFont+SFProText.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSFont+SFProText.swift"; sourceTree = "<group>"; };
@@ -6630,7 +6542,6 @@
 		BB3A42952B4BC72C006D0642 /* KMNotesPanelController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMNotesPanelController.swift; sourceTree = "<group>"; };
 		BB3A42992B4BC75C006D0642 /* NotesPanel.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NotesPanel.xib; sourceTree = "<group>"; };
 		BB3A429D2B4BF03A006D0642 /* KMSystemPDFMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSystemPDFMenu.swift; sourceTree = "<group>"; };
-		BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBotaEnum.swift; sourceTree = "<group>"; };
 		BB3A668F2B07099F00575343 /* KMFindTableviewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMFindTableviewCell.swift; sourceTree = "<group>"; };
 		BB3A66952B071B0300575343 /* KMSnapshotTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSnapshotTableViewCell.swift; sourceTree = "<group>"; };
 		BB3A66992B07520800575343 /* KMCustomOutlineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCustomOutlineView.swift; sourceTree = "<group>"; };
@@ -6837,7 +6748,6 @@
 		BB7FF5062A60E84400901C2D /* KMEnumExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMEnumExtensions.swift; sourceTree = "<group>"; };
 		BB8115FA29924A5F0008F536 /* KMSecureEncryptCheckCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSecureEncryptCheckCellView.swift; sourceTree = "<group>"; };
 		BB8115FE2992682F0008F536 /* KMSecureLimitAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSecureLimitAlertView.swift; sourceTree = "<group>"; };
-		BB8363992C199C20002CE43A /* KMBotaModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBotaModel.swift; sourceTree = "<group>"; };
 		BB83B8EB2BA8415900EFF584 /* KMPageEditExtractWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPageEditExtractWindowController.swift; sourceTree = "<group>"; };
 		BB853C622AF87425009C20C1 /* KMBatchOperateRemoveWatermarkViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchOperateRemoveWatermarkViewController.swift; sourceTree = "<group>"; };
 		BB853C662AF87502009C20C1 /* KMBatchOperateRemoveWatermarkViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMBatchOperateRemoveWatermarkViewController.xib; sourceTree = "<group>"; };
@@ -7016,9 +6926,6 @@
 		BBA00AC32B157C880043D903 /* KMToolbarZoomItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMToolbarZoomItemView.swift; sourceTree = "<group>"; };
 		BBA19F3129ADAC81001A285A /* signPicture_hover.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = signPicture_hover.pdf; sourceTree = "<group>"; };
 		BBA19F3529ADACC5001A285A /* signPicture_nor.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = signPicture_nor.pdf; sourceTree = "<group>"; };
-		BBA19F3D29ADE40A001A285A /* KMCellEmptyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KMCellEmptyView.h; sourceTree = "<group>"; };
-		BBA19F3E29ADE40A001A285A /* KMCellEmptyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KMCellEmptyView.m; sourceTree = "<group>"; };
-		BBA19F4229ADE6A2001A285A /* KMBookMarkRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBookMarkRowView.swift; sourceTree = "<group>"; };
 		BBA19F4629AE27DA001A285A /* KMAnnotationTableRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAnnotationTableRowView.swift; sourceTree = "<group>"; };
 		BBA2108F29ACBFDA00E6B346 /* nosign.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = nosign.pdf; sourceTree = "<group>"; };
 		BBA2109329ACC10F00E6B346 /* signlist_add.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = signlist_add.pdf; sourceTree = "<group>"; };
@@ -7581,41 +7488,17 @@
 			path = Signature;
 			sourceTree = "<group>";
 		};
-		8942F7B52922148E00389627 /* View */ = {
-			isa = PBXGroup;
-			children = (
-				8942F7BA29222C7E00389627 /* KMBookCellView.swift */,
-				BBA19F4229ADE6A2001A285A /* KMBookMarkRowView.swift */,
-				BBA19F3D29ADE40A001A285A /* KMCellEmptyView.h */,
-				BBA19F3E29ADE40A001A285A /* KMCellEmptyView.m */,
-				ADCFFC0129C004AD007D3657 /* KMBookMarkTableRowView.swift */,
-			);
-			path = View;
-			sourceTree = "<group>";
-		};
 		8942F7EC2926084400389627 /* Search */ = {
 			isa = PBXGroup;
 			children = (
-				ADE3C1A729A3A05400793B13 /* View */,
-				8942F7EE2926087200389627 /* KMSearchViewController.swift */,
 				BBC8A7702B06408600FA9377 /* KMBotaSearchViewController.swift */,
 				BBC8A7742B0640C200FA9377 /* KMBotaSearchViewController.xib */,
-				8942F7EF2926087200389627 /* KMSearchViewController.xib */,
 				89752E1C2942CB03003FF08E /* KMSearchMode.swift */,
+				ADE3C1A729A3A05400793B13 /* View */,
 			);
 			path = Search;
 			sourceTree = "<group>";
 		};
-		8942F7ED2926084400389627 /* Signature */ = {
-			isa = PBXGroup;
-			children = (
-				8942F7F62926089200389627 /* KMSignatureViewController.swift */,
-				8942F7F72926089200389627 /* KMSignatureViewController.xib */,
-				89D2D2BC29486D2400BFF5FE /* KMSignatureCellView.swift */,
-			);
-			path = Signature;
-			sourceTree = "<group>";
-		};
 		8942F80629275C7A00389627 /* OC_Tool */ = {
 			isa = PBXGroup;
 			children = (
@@ -7726,9 +7609,10 @@
 			children = (
 				BB2C84822BAE74DE00AF6142 /* Tools */,
 				BB2C845D2BAE70C400AF6142 /* View */,
-				BB3A66932B071AD400575343 /* Snapshot */,
 				BBC8A76B2B05EDC800FA9377 /* Model */,
 				ADCFFC0529C04617007D3657 /* BOTA.xcassets */,
+				8942F80229262B2E00389627 /* KMSideViewController.swift */,
+				BB0B2CD72B04AE560088FFD8 /* LeftSideView.xib */,
 				8997011D28F41AB8009AF911 /* KMLeftSideViewController.swift */,
 				BB8B99FC2B355E7600A066EC /* KMLeftSideViewController+Action.swift */,
 				BB8B9A002B355EFB00A066EC /* KMLeftSideViewController+Outline.swift */,
@@ -7736,21 +7620,16 @@
 				BBE78F1E2B3875B50071AC1A /* KMLeftSideViewController+Search.swift */,
 				BB570ADA2B512C90005E7E4A /* KMLeftSideViewController+Thumbnail.swift */,
 				BB570ADE2B513A66005E7E4A /* KMLeftSideViewController+Snapshot.swift */,
-				BB0B2CD72B04AE560088FFD8 /* LeftSideView.xib */,
-				8942F80229262B2E00389627 /* KMSideViewController.swift */,
-				BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */,
 				BBC28F452B0F352000D73206 /* KMImageToolTipContext.swift */,
 				BBC28F492B0F509B00D73206 /* KMAnimatedBorderlessWindow.swift */,
 				BBC28F4D2B0F58DD00D73206 /* KMImageToolTipWindow.swift */,
 				BB6BA4C32B0B4A0F00462CAE /* KMLeftSideEmptyFileViewController.swift */,
 				BB6BA4C72B0B4A4100462CAE /* KMLeftSideEmptyFileViewController.xib */,
+				BB3A66932B071AD400575343 /* Snapshot */,
 				899700F128F40308009AF911 /* Annotation */,
-				899700F228F40308009AF911 /* BookMarks */,
-				899700F028F40308009AF911 /* From */,
 				899700F328F40308009AF911 /* Outline */,
 				899700EF28F40308009AF911 /* Thumbnail */,
 				8942F7EC2926084400389627 /* Search */,
-				8942F7ED2926084400389627 /* Signature */,
 			);
 			path = LeftSide;
 			sourceTree = "<group>";
@@ -7760,51 +7639,27 @@
 			children = (
 				AD8DD2A12A9C358F007CC9D0 /* Manager */,
 				BB6B43692A04927300E02B54 /* Base */,
-				ADE8BC2D29F8CD7200570F89 /* model */,
 				89D2D2E1294C452B00BFF5FE /* KMPDFThumbnailView.swift */,
 				89D2D2F9294C806000BFF5FE /* KMPDFThumbnailItem.swift */,
 				89D2D2FA294C806000BFF5FE /* KMPDFThumbnailItem.xib */,
-				89D2D2DA294C451400BFF5FE /* KMThumbnailViewController.swift */,
-				8997011528F40898009AF911 /* KMThumbnailViewController.xib */,
 			);
 			path = Thumbnail;
 			sourceTree = "<group>";
 		};
-		899700F028F40308009AF911 /* From */ = {
-			isa = PBXGroup;
-			children = (
-				8997010428F4082C009AF911 /* KMFromViewController.swift */,
-				8997010528F4082C009AF911 /* KMFromViewController.xib */,
-				89D2D2C029495D2100BFF5FE /* KMFormModel.swift */,
-				89D2D2C4294972B900BFF5FE /* KMFormCellView.swift */,
-			);
-			path = From;
-			sourceTree = "<group>";
-		};
 		899700F128F40308009AF911 /* Annotation */ = {
 			isa = PBXGroup;
 			children = (
+				899700F428F4051B009AF911 /* KMAnnotationViewController.swift */,
+				899700F528F4051B009AF911 /* KMAnnotationViewController.xib */,
 				BB4F7E772B0C45A60077EC8C /* Controller */,
 				AD1CA3F42A05FC6A0070541F /* KMScreenViewController */,
 				AD867FA429DFB27C00F00440 /* KMAnnotationView */,
 				AD867F9F29DEB48A00F00440 /* KMAnnotationTool */,
-				899700F428F4051B009AF911 /* KMAnnotationViewController.swift */,
-				899700F528F4051B009AF911 /* KMAnnotationViewController.xib */,
 				89D9895428FD21E6003A3E87 /* View */,
 			);
 			path = Annotation;
 			sourceTree = "<group>";
 		};
-		899700F228F40308009AF911 /* BookMarks */ = {
-			isa = PBXGroup;
-			children = (
-				899700FC28F40710009AF911 /* KMBookMarkViewController.swift */,
-				899700FD28F40710009AF911 /* KMBookMarkViewController.xib */,
-				8942F7B52922148E00389627 /* View */,
-			);
-			path = BookMarks;
-			sourceTree = "<group>";
-		};
 		899700F328F40308009AF911 /* Outline */ = {
 			isa = PBXGroup;
 			children = (
@@ -9504,7 +9359,6 @@
 		AD867FAD29DFBAEE00F00440 /* Views */ = {
 			isa = PBXGroup;
 			children = (
-				AD867FBE29DFBEC500F00440 /* CellView */,
 				AD867FAE29DFBB1200F00440 /* KMAnnotationOutlineCellView.swift */,
 				AD867FB629DFBB3200F00440 /* KMAnnotationOutlineCellView.xib */,
 				AD867FB229DFBB2700F00440 /* KMAnnotationOutlineSectionView.swift */,
@@ -9514,13 +9368,6 @@
 			path = Views;
 			sourceTree = "<group>";
 		};
-		AD867FBE29DFBEC500F00440 /* CellView */ = {
-			isa = PBXGroup;
-			children = (
-			);
-			path = CellView;
-			sourceTree = "<group>";
-		};
 		AD867FBF29DFC37700F00440 /* Model */ = {
 			isa = PBXGroup;
 			children = (
@@ -10325,9 +10172,6 @@
 		ADE3C1A729A3A05400793B13 /* View */ = {
 			isa = PBXGroup;
 			children = (
-				89752E182941FD48003FF08E /* KMSearchCellView.swift */,
-				ADE8BC3229F9261900570F89 /* KMSearchCellView.xib */,
-				ADE3C19E29A3894900793B13 /* KMSearchTableRowView.swift */,
 				BB3A668F2B07099F00575343 /* KMFindTableviewCell.swift */,
 				BBC28F402B0EE7D600D73206 /* KMGroupFindTableRowView.swift */,
 			);
@@ -10614,14 +10458,6 @@
 			path = KMPageNumberDisplayView;
 			sourceTree = "<group>";
 		};
-		ADE8BC2D29F8CD7200570F89 /* model */ = {
-			isa = PBXGroup;
-			children = (
-				ADE8BC2E29F8CD7200570F89 /* KMPDFThumbnailModel.swift */,
-			);
-			path = model;
-			sourceTree = "<group>";
-		};
 		ADE8BC3629F9453A00570F89 /* KMAdvertisement */ = {
 			isa = PBXGroup;
 			children = (
@@ -13168,7 +13004,6 @@
 				BB2C84592BAE6DC100AF6142 /* KMLeftMethodMode.swift */,
 				BBC8A76C2B05EDDE00FA9377 /* KMThumbnail.swift */,
 				BBED0C2B2BBD569300511FAE /* KMAnnotationModel.swift */,
-				BB8363992C199C20002CE43A /* KMBotaModel.swift */,
 			);
 			path = Model;
 			sourceTree = "<group>";
@@ -14221,7 +14056,6 @@
 				9FE0BBF32B0F2FB000CD1CAC /* KMAnnotationLineWindowController.xib in Resources */,
 				ADDF83712B391A5C00A81A4E /* DSignatureCreateViewController.xib in Resources */,
 				9F1F82CD292F6CF90092C4B4 /* KMPDFInsertPageWindow.xib in Resources */,
-				8997011928F40898009AF911 /* KMThumbnailViewController.xib in Resources */,
 				BBAFC83F2985194800D0648E /* KMPDFEditAppendWindow.xib in Resources */,
 				9FE0BBE72B0EFBA300CD1CAC /* KMAnnotationFontWindowController.xib in Resources */,
 				BB4F7E852B0C4E820077EC8C /* KMNoteFilterCollevtionViewItem.xib in Resources */,
@@ -14286,7 +14120,6 @@
 				AD055E902B88304E0035F824 /* BookmarksWindow.xib in Resources */,
 				BB99ACC5292DE22E0048AFD9 /* KMMergeViewController.xib in Resources */,
 				BB6347B82AF224E200F5438E /* KMConvertCollectionViewHeader.xib in Resources */,
-				8942F7F32926087200389627 /* KMSearchViewController.xib in Resources */,
 				BB072D612C05AC8F00779B45 /* KMToolbarConfigViewItem.xib in Resources */,
 				ADF9ED3329A850D200C4A943 /* KMAccountInfoView.xib in Resources */,
 				ADAAC1672BD645DB001F2DA6 /* KMRecommondPopWindow.xib in Resources */,
@@ -14331,7 +14164,6 @@
 				BB853C672AF87502009C20C1 /* KMBatchOperateRemoveWatermarkViewController.xib in Resources */,
 				BB1BFF6D2AEA030F003EB179 /* KMBatchOperateSplitViewController.xib in Resources */,
 				ADE86A8D2B02269400414DFA /* KMRemovePasswordWindowController.xib in Resources */,
-				8942F7FB2926089200389627 /* KMSignatureViewController.xib in Resources */,
 				BB183DE62B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */,
 				AD1D48522AFB8510007AC1F0 /* KMMergeTableViewCell.xib in Resources */,
 				ADBC374C29CAD65D00D93208 /* KMComparativeOutlineCell.xib in Resources */,
@@ -14469,13 +14301,11 @@
 				ADBC2CF5299C7B3E006280C8 /* Print.xcassets in Resources */,
 				AD88109A29A78AEC00178CA1 /* KMVerificationCodeView.xib in Resources */,
 				9F72D20B2994BDAF00DCACF1 /* KMNotificationVC.xib in Resources */,
-				8997010928F4082C009AF911 /* KMFromViewController.xib in Resources */,
 				BB2F615B2966B69D001CB369 /* KMWatermarkPropertyHomeController.xib in Resources */,
 				BBFE6E782930E53000142C01 /* KMMergePopoverViewController.xib in Resources */,
 				AD58F41A2B1DAC1500299EE0 /* KMPrintSettingView.xib in Resources */,
 				9F8539DA294318D600DF644E /* TabsImage.xcassets in Resources */,
 				BBA8B7B3293635D80097D183 /* KMPasswordInputWindow.xib in Resources */,
-				8997010128F40710009AF911 /* KMBookMarkViewController.xib in Resources */,
 				89E4E7382964148E002DBA6F /* KMAnnotationPropertiesViewController.xib in Resources */,
 				BB897231294B08DE0045787C /* KMWatermarkViewController.xib in Resources */,
 				9F56648A2988B16F00020985 /* KMTextfieldVC.xib in Resources */,
@@ -14505,7 +14335,6 @@
 				ADD1B6DB2946BE1700C3FFF7 /* KMPrintChoosePageSizeView.xib in Resources */,
 				9F69DBB52B512614003D4C45 /* KMAnnotationTextWidgetOptionsViewController.xib in Resources */,
 				9F0CB4AA296CF19600007028 /* KMPropertiesPanelListMenuSubVC.xib in Resources */,
-				ADE8BC3329F9261900570F89 /* KMSearchCellView.xib in Resources */,
 				AD3AAD492B0B7B8900DE5FE7 /* KMCompareToolbar.xib in Resources */,
 				AD055E4E2B7234810035F824 /* KMBookmarkSheetView.xib in Resources */,
 				9F0CB4C02977C06300007028 /* KMPropertiesPanelColorSubVC.xib in Resources */,
@@ -14710,7 +14539,6 @@
 				BBC70EAA2AEA6EF800AC1585 /* KMToolbarCustomWindowController.xib in Resources */,
 				AD0FA51729A9FA8F00EDEB50 /* KMResetPasswordView.xib in Resources */,
 				F3A9DC82294309D80074E5D2 /* CPDFListEditAnnotationViewController.xib in Resources */,
-				8942F7F42926087200389627 /* KMSearchViewController.xib in Resources */,
 				9FAAA336290BD0A20046FFCE /* KMHistoryFileCollectionViewItem.xib in Resources */,
 				BBAFC8402985194800D0648E /* KMPDFEditAppendWindow.xib in Resources */,
 				BBFDFAA32AF3815C00E08AA2 /* KMTextHintWindowController.xib in Resources */,
@@ -14736,12 +14564,10 @@
 				BB99ACD3292E2AEF0048AFD9 /* KMMergeCollectionViewItem.xib in Resources */,
 				9F94748029FA24200042F949 /* Credits.rtf in Resources */,
 				AD1CA4352A0640FC0070541F /* KMAnnotationScreenHeadView.xib in Resources */,
-				8997011A28F40898009AF911 /* KMThumbnailViewController.xib in Resources */,
 				AD199DF42B23121D00D56FEE /* KMPrintPamphletView.xib in Resources */,
 				AD3AAD942B1034C000DE5FE7 /* KMHeaderFooterView.xib in Resources */,
 				AD1D481D2AFB6B96007AC1F0 /* KMMergeWindowController.xib in Resources */,
 				ADFCEB652B4FBFC50001EBAF /* ad_cancel_button00@2x.png in Resources */,
-				8997010228F40710009AF911 /* KMBookMarkViewController.xib in Resources */,
 				BBFE6E69293097A600142C01 /* KMPageRangePickerWindowController.xib in Resources */,
 				89752DB12936F505003FF08E /* KMCustomButtonPopMenuViewController.xib in Resources */,
 				9F705F7A291A3A84005199AD /* KMHistoryFileDeleteWindowController.xib in Resources */,
@@ -14805,7 +14631,6 @@
 				BB8810622B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib in Resources */,
 				AD0FA4FF29A8DD8700EDEB50 /* KMRegisterSuccessView.xib in Resources */,
 				BBFBE74D28DD7DE8008B2335 /* Assets.xcassets in Resources */,
-				8997010A28F4082C009AF911 /* KMFromViewController.xib in Resources */,
 				AD7D5CE02B957693006562CD /* KMBookmarkOutlineFileCellView.xib in Resources */,
 				BBB789BB2BE8BF2400F7E09C /* AIChatStringResultItem.xib in Resources */,
 				BBEDC2232B980A8300970C54 /* KMOutlineEditViewController.xib in Resources */,
@@ -14820,7 +14645,6 @@
 				89D2D2FF294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */,
 				BBA9223C2B4E97540061057A /* KMPurchaseLimitWindowController.xib in Resources */,
 				BB0FE0352B734DD1001E0F88 /* AIConfigWindowController.xib in Resources */,
-				ADE8BC3429F9261900570F89 /* KMSearchCellView.xib in Resources */,
 				AD1FE8392BD7C98300AA4A9B /* KMPDFPrintManageWindowController.xib in Resources */,
 				ADFCEB4C2B4FBA440001EBAF /* ProRemoteConfigDefaults.plist in Resources */,
 				AD58F4062B14954B00299EE0 /* KMCompareTextHeaderView.xib in Resources */,
@@ -14991,7 +14815,6 @@
 				BB69C95D299116FD0001A9B1 /* five_line_score.pdf in Resources */,
 				BB9EA1542B1ECD0F00EAFD9B /* KMBatchOperateImageToPDFViewController.xib in Resources */,
 				ADE86ABB2B0343F100414DFA /* KMWatermarkView.xib in Resources */,
-				8942F7FC2926089200389627 /* KMSignatureViewController.xib in Resources */,
 				BBA922392B4E97540061057A /* KMPurchaseFirstTrialWindowController.xib in Resources */,
 				9F080B18298CFDB300FC27DA /* KMTextImageButtonVC.xib in Resources */,
 				9F02019A2A1F352100C9B673 /* KMAITranslationConfirmWindowController.xib in Resources */,
@@ -15260,7 +15083,6 @@
 				BBBAECFA2B57672C00266BD3 /* TransitionSheet.xib in Resources */,
 				BBFDFAA42AF3815C00E08AA2 /* KMTextHintWindowController.xib in Resources */,
 				9FF94F1629A7476000B1EF69 /* KMDesignPropertySelector.xib in Resources */,
-				ADE8BC3529F9261900570F89 /* KMSearchCellView.xib in Resources */,
 				ADE787A72AA5A833002EC85A /* KMAccountExceptionWindowController.xib in Resources */,
 				ADFCEB532B4FBA440001EBAF /* DMGRemoteConfigDefaults.plist in Resources */,
 				ADDF836A2B391A5C00A81A4E /* DSignatureSaveFolderViewController.xib in Resources */,
@@ -15299,7 +15121,6 @@
 				9F8810A22B5762BD00F69815 /* KMAnnotationButtonOptionsViewController.xib in Resources */,
 				BB03D6922B01C7AB008C9976 /* KMPDFEditInsertBlankPageWindow.xib in Resources */,
 				9FB220DC2B0F4ED400A5B208 /* KMAnnotationSelectLinkViewController.xib in Resources */,
-				8997011B28F40898009AF911 /* KMThumbnailViewController.xib in Resources */,
 				BB89721D294AED6C0045787C /* KMWatermarkAdjectivePreViewBaseController.xib in Resources */,
 				BB0B2CDA2B04AE560088FFD8 /* LeftSideView.xib in Resources */,
 				AD7D5CC82B9566E9006562CD /* KMBookmarkOutlineView.xib in Resources */,
@@ -15463,7 +15284,6 @@
 				9FBA0EF328FFC716001117AF /* KMHomeFastToolViewController.xib in Resources */,
 				BB10FAEB2AFE03CD00F18D65 /* KMPDFEditPageRangeWindowController.xib in Resources */,
 				9FE0BBF52B0F2FB000CD1CAC /* KMAnnotationLineWindowController.xib in Resources */,
-				8942F7F52926087200389627 /* KMSearchViewController.xib in Resources */,
 				BBFE6E7A2930E53000142C01 /* KMMergePopoverViewController.xib in Resources */,
 				89D9897128FD50EF003A3E87 /* KMAnnotationCollectionViewItem.xib in Resources */,
 				9F1FE4E929406E4700E952CA /* COPYING in Resources */,
@@ -15471,7 +15291,6 @@
 				BB5F8A1B29BB15AD00365ADB /* pic_mail.pdf in Resources */,
 				AD3AAD952B1034C000DE5FE7 /* KMHeaderFooterView.xib in Resources */,
 				BBEC00B4295C2AF300A26C98 /* KMBatesPreviewController.xib in Resources */,
-				8997010328F40710009AF911 /* KMBookMarkViewController.xib in Resources */,
 				9F00CCEF2A309E8E00AC462E /* KMEditImagePropertyViewController.xib in Resources */,
 				BB1B0B0C2B4FC6E900889528 /* KMGuideInfoWindow.xib in Resources */,
 				BB1B0AC42B4FC6E900889528 /* KMFunctionGuideWindowController.xib in Resources */,
@@ -15535,7 +15354,6 @@
 				AD8810A529A8459000178CA1 /* KMComparativeTableViewController.xib in Resources */,
 				BB3D97102B2FEAF9007094C8 /* KMPDFRedactViewController.xib in Resources */,
 				ADBC376829CD86A000D93208 /* KMReadModelView.xcassets in Resources */,
-				8942F7FD2926089200389627 /* KMSignatureViewController.xib in Resources */,
 				AD1CA4262A061D190070541F /* KMAnnotationScreenAuthorViewItem.xib in Resources */,
 				BB4F7E9B2B0C858D0077EC8C /* KMNoteTypeCollectionViewItem.xib in Resources */,
 				BBB3769D2B10A7FD009539CC /* a_2a.png in Resources */,
@@ -15557,7 +15375,6 @@
 				BBC8A7772B0640C200FA9377 /* KMBotaSearchViewController.xib in Resources */,
 				BB86C2A42BC8C39600326A6B /* ExportAccessoryView.xib in Resources */,
 				BB1B0B002B4FC6E900889528 /* KMOpenFileFunctionView.xib in Resources */,
-				8997010B28F4082C009AF911 /* KMFromViewController.xib in Resources */,
 				BB328B622B55512F00B382C6 /* KMVerificationMessageViewController.xib in Resources */,
 				9F0CB4642966C9E200007028 /* KMFormPropertPanelViewController.xib in Resources */,
 				BBB789B62BE8BF2400F7E09C /* AIChatStringUploadItem.xib in Resources */,
@@ -15725,7 +15542,6 @@
 				BB7BC4D82AD3D6B700D6BEE6 /* PDFListView+KMExtensions.swift in Sources */,
 				ADBC2CFA299CA6B9006280C8 /* KMPrintDuplexPrintingSetView.swift in Sources */,
 				AD3AAD382B0B7B1900DE5FE7 /* KMCompareToolbar.swift in Sources */,
-				BBA19F4329ADE6A3001A285A /* KMBookMarkRowView.swift in Sources */,
 				ADFA8F092B579945002595A4 /* KMSearchFindView.swift in Sources */,
 				9F1FE51129407B4000E952CA /* KMFileSearchView.swift in Sources */,
 				BB897279294DFD1E0045787C /* KMWatermarkTextView.swift in Sources */,
@@ -15736,7 +15552,6 @@
 				AD867F9C29D9853200F00440 /* KMBOTAOutlineRowView.swift in Sources */,
 				9FD0D2AB2AD5143D00DA3FF8 /* KMTableRowView.swift in Sources */,
 				BB146FDB299DC0D100784A6A /* GTLRDriveService.m in Sources */,
-				BB83639A2C199C20002CE43A /* KMBotaModel.swift in Sources */,
 				BBEFD0282AFA285A003FABD8 /* KMHeaderFooterTableCellView.swift in Sources */,
 				F37322E7292DF9410013862C /* CPDFAnnotationModel.m in Sources */,
 				9FBA0EF92900188F001117AF /* KMFastToolCollectionView.swift in Sources */,
@@ -15770,7 +15585,6 @@
 				BB986AEB2AD53AE800ADF172 /* KMInfoWindowController.swift in Sources */,
 				9F080B23298FCB0D00FC27DA /* KMDesignToken+Action.swift in Sources */,
 				9F1FE4B429406E4700E952CA /* CTBrowser.m in Sources */,
-				8942F7BB29222C7E00389627 /* KMBookCellView.swift in Sources */,
 				BBF98C342C0EE46200436CC7 /* KMToolbarCustomItemView.swift in Sources */,
 				BB8F4547295A9CDC0037EA22 /* KMHeaderFooterListController.swift in Sources */,
 				9F0CB5012986560D00007028 /* KMDesignToken+BorderTop.swift in Sources */,
@@ -15957,7 +15771,6 @@
 				AD055E6C2B8732680035F824 /* SKTextWithIconCell.m in Sources */,
 				9F53D5572AD6908600CCF9D8 /* KMAnnotationLinkViewController.swift in Sources */,
 				BBB5C80729F4CEE40054F261 /* KMLinkAnnotationPropertyEmptyController.swift in Sources */,
-				8997010628F4082C009AF911 /* KMFromViewController.swift in Sources */,
 				BBD1F78B296FACA300343885 /* KMPageEditExtractSettingView.swift in Sources */,
 				AD7D5CD32B957442006562CD /* KMBookmarkOutlineFileCellView.swift in Sources */,
 				BB8810762B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */,
@@ -16003,11 +15816,9 @@
 				ADDEEA862AD7805200EF675D /* KMGeneralButton.swift in Sources */,
 				BB49ED19293F4D4E00C82CA2 /* KMConvertCSVSettingView.swift in Sources */,
 				AD9527BA295291F20039D2BC /* KMPrintPage.swift in Sources */,
-				89752E192941FD48003FF08E /* KMSearchCellView.swift in Sources */,
 				BB49ED0E293F462E00C82CA2 /* KMConvertImageWindowController.swift in Sources */,
 				ADE3C1C129A4C13700793B13 /* KMPrintAccessoryController_OC.m in Sources */,
 				BB183DE32B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m in Sources */,
-				8942F7F82926089200389627 /* KMSignatureViewController.swift in Sources */,
 				ADAFDA392AE8EEFF00F084BC /* KMAdvertisementRequestServer.swift in Sources */,
 				BB493F952B3E9805003E6175 /* KMBatchQuickActionManager.swift in Sources */,
 				AD3AAD532B0D87E500DE5FE7 /* KMCompareThumbItem.swift in Sources */,
@@ -16071,7 +15882,6 @@
 				BB147014299DC0D100784A6A /* OIDAuthState.m in Sources */,
 				BB3AAB9029878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.swift in Sources */,
 				BB147038299DC0D200784A6A /* OIDAuthorizationResponse.m in Sources */,
-				899700FE28F40710009AF911 /* KMBookMarkViewController.swift in Sources */,
 				BB2EDF6D296ECE17003BCF58 /* KMPageEditInsertDirectionItemView.swift in Sources */,
 				BB570ADF2B513A66005E7E4A /* KMLeftSideViewController+Snapshot.swift in Sources */,
 				BBB789AB2BE8BF2400F7E09C /* AIChatDefaultTIpItem.swift in Sources */,
@@ -16193,7 +16003,6 @@
 				BBBE208B2B21649100509C4E /* KMPDFEditWindowController.swift in Sources */,
 				AD0FA51229A9FA8600EDEB50 /* KMResetPasswordView.swift in Sources */,
 				AD3AAD632B0DA3F600DE5FE7 /* KMCompareTextHeaderView.swift in Sources */,
-				BB3A668C2B06FD0100575343 /* KMBotaEnum.swift in Sources */,
 				BBFEF7172B3A77E700C28AC0 /* KMSystemFileMenu.swift in Sources */,
 				9FDD0F882952FCC6000C4DAD /* KMCompLightParser.swift in Sources */,
 				9F1FE4C629406E4700E952CA /* CTUtil.m in Sources */,
@@ -16235,7 +16044,6 @@
 				BB14702F299DC0D100784A6A /* OIDTokenUtilities.m in Sources */,
 				89752E042939DB42003FF08E /* KMToolbarViewController.swift in Sources */,
 				BB146FD5299DC0D100784A6A /* GTLRObject.m in Sources */,
-				8942F7F02926087200389627 /* KMSearchViewController.swift in Sources */,
 				BB32BF232A5EA05900D11348 /* KMAnalytics.swift in Sources */,
 				ADE787A22AA5A833002EC85A /* KMAccountExceptionWindowController.swift in Sources */,
 				9F1FE4AE29406E4700E952CA /* CTPresentationModeController.m in Sources */,
@@ -16262,7 +16070,6 @@
 				AD055E4A2B72346E0035F824 /* KMBookmarkSheetView.swift in Sources */,
 				9F0CB4F9298655E500007028 /* KMDesignToken+Border.swift in Sources */,
 				9F0CB45F2966C9E200007028 /* KMFormPropertPanelViewController.swift in Sources */,
-				ADCFFC0229C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */,
 				ADF6B86C2A480C5F0090CB78 /* KMComparativeView.swift in Sources */,
 				BB1B0AF52B4FC6E900889528 /* KMConvertGuideView.swift in Sources */,
 				9FAAA339290F72CC0046FFCE /* KMHistoryFileCollectionView.swift in Sources */,
@@ -16301,7 +16108,6 @@
 				AD9527BE295294E20039D2BC /* KMPrintPageModel.swift in Sources */,
 				BBC348022955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift in Sources */,
 				AD0FA4F029A8580D00EDEB50 /* KMComparativeTableView.swift in Sources */,
-				89D2D2DE294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */,
 				BB2C84692BAE716600AF6142 /* KMSegmentedControl.swift in Sources */,
 				ADB2D6ED2947415E0029D2B3 /* KMPrintPaperSetView.swift in Sources */,
 				BB1B0A9D2B4FB88100889528 /* IAPProductsManager.m in Sources */,
@@ -16338,7 +16144,6 @@
 				BB4A94912B04926700940F8B /* KMGOCROperation.swift in Sources */,
 				BBEFD0242AFA065F003FABD8 /* KMBatchAddHeaderFooterOperation.swift in Sources */,
 				BB135C2A29B6CD9A00FD5965 /* KMTools.swift in Sources */,
-				89D2D2BD29486D2400BFF5FE /* KMSignatureCellView.swift in Sources */,
 				BB8B9A012B355EFB00A066EC /* KMLeftSideViewController+Outline.swift in Sources */,
 				9F1FE49629406E4700E952CA /* common.c in Sources */,
 				BBD1F79C296FF7A600343885 /* KMPageEditSplitSettingModel.swift in Sources */,
@@ -16426,7 +16231,6 @@
 				9FF0D0532B6A3EE40018A732 /* CPDFListView+Form.swift in Sources */,
 				BBCE57182A72723600508EFC /* NSResponder+KMExtension.swift in Sources */,
 				BB2C84882BAE753F00AF6142 /* KMBotaTools.swift in Sources */,
-				ADE3C19F29A3894900793B13 /* KMSearchTableRowView.swift in Sources */,
 				AD7D5C852B8ECD83006562CD /* KMPDFSyncRecord.swift in Sources */,
 				9F1F82C3292F113A0092C4B4 /* KMHomeDragView.swift in Sources */,
 				9F080B14298CFDB300FC27DA /* KMTextImageButtonVC.swift in Sources */,
@@ -16503,8 +16307,6 @@
 				ADD1B7062946CBB600C3FFF7 /* KMBaseTextFormatter.swift in Sources */,
 				BB853C822AF8BAF0009C20C1 /* KMSetPasswordObject.swift in Sources */,
 				ADE86A8A2B02269400414DFA /* KMRemovePasswordWindowController.swift in Sources */,
-				89D2D2C129495D2100BFF5FE /* KMFormModel.swift in Sources */,
-				BBA19F3F29ADE40A001A285A /* KMCellEmptyView.m in Sources */,
 				89316822296D73CC0073EA59 /* KMSignatureAnnotationViewController.m in Sources */,
 				BB89723A294B3C840045787C /* KMWatermarkPropertyController.swift in Sources */,
 				BBB14A6329792D6900936EDB /* KMRedactPageRangeContentView.swift in Sources */,
@@ -16582,7 +16384,6 @@
 				BB49ECFE293F459500C82CA2 /* KMConvertPPTsWindowController.swift in Sources */,
 				BB9E2F732A495BCD000DC68D /* KMConvertSettingLimitTipView.swift in Sources */,
 				9F1F82E32934D5240092C4B4 /* KMHomeExtractActionViewController.swift in Sources */,
-				89D2D2C5294972B900BFF5FE /* KMFormCellView.swift in Sources */,
 				AD7D5CA92B906E36006562CD /* CPDFListView+Sync.swift in Sources */,
 				BB6BA4C42B0B4A0F00462CAE /* KMLeftSideEmptyFileViewController.swift in Sources */,
 				BB897224294B07960045787C /* KMWatermarkAdjectiveTopBarItemView.swift in Sources */,
@@ -16733,7 +16534,6 @@
 				BBBAECF42B57672200266BD3 /* SKPresentationOptionsSheetController.swift in Sources */,
 				BBFA1CD62B60A0670053AD4A /* KMScreenShotMaskView.swift in Sources */,
 				AD055E1F2B70B3840035F824 /* KMBookmark.swift in Sources */,
-				ADE8BC2F29F8CD7200570F89 /* KMPDFThumbnailModel.swift in Sources */,
 				BBBAECFC2B57713F00266BD3 /* KMTransitionInfo.swift in Sources */,
 				BB4EEF4029764FCC003A3537 /* KMWatermarkColorView.swift in Sources */,
 				BBBBB49F2B6F743700C7205E /* SKAttachmentEmailer.m in Sources */,
@@ -16954,7 +16754,6 @@
 				AD0257402A8601CD00EAD5D5 /* KMAppleLoginManager.swift in Sources */,
 				BB4F7E8E2B0C7FE70077EC8C /* KMNoteColorCollectionViewItem.swift in Sources */,
 				ADBC2CFB299CA6B9006280C8 /* KMPrintDuplexPrintingSetView.swift in Sources */,
-				BBA19F4429ADE6A3001A285A /* KMBookMarkRowView.swift in Sources */,
 				BB32BF242A5EA05900D11348 /* KMAnalytics.swift in Sources */,
 				9FCFEC812AD0E74C00EAD2CB /* KMPopMenuButtonCell.swift in Sources */,
 				BB89723B294B3C840045787C /* KMWatermarkPropertyController.swift in Sources */,
@@ -17087,7 +16886,6 @@
 				BB2CC5652AF123A300D7A796 /* KMBatchHeader.swift in Sources */,
 				9FAAA333290BD0A20046FFCE /* KMHistoryFileCollectionViewItem.swift in Sources */,
 				BB7648ED29ECEEF400931039 /* KMAppearance.swift in Sources */,
-				8997010728F4082C009AF911 /* KMFromViewController.swift in Sources */,
 				BB4F7E8A2B0C55E70077EC8C /* KMFilterAuthorLabel.swift in Sources */,
 				AD5999372AD7D9C200412F8B /* KMPropertiesViewPopController.swift in Sources */,
 				AD3AAD392B0B7B1900DE5FE7 /* KMCompareToolbar.swift in Sources */,
@@ -17113,7 +16911,6 @@
 				BB03D6952B021124008C9976 /* NSSegmentedControl+KMExtension.swift in Sources */,
 				ADFCEB332B4F78150001EBAF /* KMFileManager.swift in Sources */,
 				ADAFDA832AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift in Sources */,
-				89D2D2DF294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */,
 				AD3AAD6E2B0DCC6800DE5FE7 /* KMCompareSaveWindow.swift in Sources */,
 				89752DF72938A236003FF08E /* PublicKey.swift in Sources */,
 				9F1FE4D329406E4700E952CA /* CTTabView.m in Sources */,
@@ -17226,7 +17023,6 @@
 				AD7D5C862B8ECD83006562CD /* KMPDFSyncRecord.swift in Sources */,
 				AD1D48092AFB18DA007AC1F0 /* KMCompressWIndowControllerNew.swift in Sources */,
 				ADE3C1C229A4C13700793B13 /* KMPrintAccessoryController_OC.m in Sources */,
-				89752E1A2941FD48003FF08E /* KMSearchCellView.swift in Sources */,
 				AD3AAD1C2B0B5B4400DE5FE7 /* KMCompareCoveringWindowController.swift in Sources */,
 				BB0FE0612B7351AA001E0F88 /* AIInfoManager.m in Sources */,
 				9F0CB50A2986563300007028 /* KMDesignToken+BorderBottom.swift in Sources */,
@@ -17358,7 +17154,6 @@
 				BB146FE2299DC0D100784A6A /* GTLRDriveQuery.m in Sources */,
 				AD5999432AD8DC2000412F8B /* KMDynamicStampViewController.swift in Sources */,
 				BBD1F794296FE92500343885 /* KMPageEditSplitSettingView.swift in Sources */,
-				899700FF28F40710009AF911 /* KMBookMarkViewController.swift in Sources */,
 				BB072D5F2C05AC8F00779B45 /* KMToolbarConfigViewItem.swift in Sources */,
 				9F3D818F29A22AD90087B5AD /* Date+KMExtensions.swift in Sources */,
 				89E4E756296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */,
@@ -17429,7 +17224,6 @@
 				AD8F06182999DB5900D93CBC /* KMPrintDrawPage.swift in Sources */,
 				BB147030299DC0D200784A6A /* OIDTokenUtilities.m in Sources */,
 				BB146FD6299DC0D100784A6A /* GTLRObject.m in Sources */,
-				8942F7F92926089200389627 /* KMSignatureViewController.swift in Sources */,
 				89752E052939DB42003FF08E /* KMToolbarViewController.swift in Sources */,
 				9FAAA33A290F72CC0046FFCE /* KMHistoryFileCollectionView.swift in Sources */,
 				BBCE57192A72723600508EFC /* NSResponder+KMExtension.swift in Sources */,
@@ -17456,7 +17250,6 @@
 				AD85D1AE2AF09C79000F4D28 /* KMHomeQuickToolsWindowCollectionViewItem.swift in Sources */,
 				BB3A669F2B0752A800575343 /* KMTocOutlineView.swift in Sources */,
 				BB6719F62AD2C949003D44D5 /* CPDFRedactAnnotation+PDFListView.swift in Sources */,
-				ADCFFC0329C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */,
 				AD055E892B882E7F0035F824 /* SKBookmark.m in Sources */,
 				ADDEEA872AD7805200EF675D /* KMGeneralButton.swift in Sources */,
 				BB5BE4EE2B060E2F00D51BF2 /* KMLanguageViewController.swift in Sources */,
@@ -17466,7 +17259,6 @@
 				BB2F18472A0C7E250003F65E /* KMConvertBaseView.swift in Sources */,
 				9FBA0EE228FEC253001117AF /* KMProductPromotionViewController.swift in Sources */,
 				BB4DD044299B291A00E80DF6 /* KMCloudNoNetworkView.swift in Sources */,
-				8942F7F12926087200389627 /* KMSearchViewController.swift in Sources */,
 				9F0CB4A029683E2600007028 /* KMPropertiesPanelSizeSubVC.swift in Sources */,
 				ADE86AEF2B0AF56200414DFA /* KMCompareCoveringSettingView.swift in Sources */,
 				9F39B9452A661ED500930ACA /* KMHomeScrollView.swift in Sources */,
@@ -17553,7 +17345,6 @@
 				BBD1F788296FAC7C00343885 /* KMPageEditSettingBaseView.swift in Sources */,
 				AD1CA4002A0603EE0070541F /* KMAnnotationScreenCollectionView.swift in Sources */,
 				9F53D54C2AD6696B00CCF9D8 /* ComPDFUIConfig.swift in Sources */,
-				89D2D2BE29486D2400BFF5FE /* KMSignatureCellView.swift in Sources */,
 				BB147033299DC0D200784A6A /* OIDTokenResponse.m in Sources */,
 				BB146FF4299DC0D100784A6A /* OIDLoopbackHTTPServer.m in Sources */,
 				9F1FE49729406E4700E952CA /* common.c in Sources */,
@@ -17618,7 +17409,6 @@
 				BBC3482F29559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
 				BB24FFDE2B28578C00A59054 /* KMTTSWindowController.swift in Sources */,
 				BB9E2F742A495BCD000DC68D /* KMConvertSettingLimitTipView.swift in Sources */,
-				ADE3C1A029A3894900793B13 /* KMSearchTableRowView.swift in Sources */,
 				BBF8A4042AE8E10100788BAC /* KMBatchConvertParameter.swift in Sources */,
 				AD3AAD642B0DA3F600DE5FE7 /* KMCompareTextHeaderView.swift in Sources */,
 				ADE86AC92B034CB200414DFA /* KMAddBackgroundView.swift in Sources */,
@@ -17638,7 +17428,6 @@
 				9F1FE4CD29406E4700E952CA /* CTTabContentsController.m in Sources */,
 				AD7D5CE52B96B394006562CD /* KMBookmarkOutlineSeparatorCellView.swift in Sources */,
 				ADDF83332B391A5C00A81A4E /* CPDFAnnotation+PDFListView.m in Sources */,
-				8942F7BC29222C7E00389627 /* KMBookCellView.swift in Sources */,
 				9F0201872A1DA28B00C9B673 /* KMAILanguagePopVC.swift in Sources */,
 				BB853C8B2AF8BC7D009C20C1 /* KMBatchAddPasswordOperation.swift in Sources */,
 				9FCFECA12AD17B8A00EAD2CB /* SKProgressController.swift in Sources */,
@@ -17711,9 +17500,7 @@
 				BBD54ED52A1CBD720012A230 /* NSView+KMExtension.swift in Sources */,
 				BB003010298CA383002DD1A0 /* KMPreferenceSegementControl.swift in Sources */,
 				BB8810772B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */,
-				89D2D2C229495D2100BFF5FE /* KMFormModel.swift in Sources */,
 				BB6DD815293486FA001F0544 /* KMSecureEncryptPasswordCellView.swift in Sources */,
-				BBA19F4029ADE40A001A285A /* KMCellEmptyView.m in Sources */,
 				89316823296D73CC0073EA59 /* KMSignatureAnnotationViewController.m in Sources */,
 				ADDF83422B391A5C00A81A4E /* DSignatureConfigWindowController.swift in Sources */,
 				AD055E7F2B88294F0035F824 /* SKBookmarkSheetController.m in Sources */,
@@ -17809,7 +17596,6 @@
 				BB89726E294DB67D0045787C /* KMWatermarkAdjectiveBaseView.swift in Sources */,
 				ADDDCE282B43A32A005B4AB5 /* AppSandboxFileAccessOpenSavePanelDelegate.m in Sources */,
 				BB853C9A2AF8E39D009C20C1 /* KMRemovePasswordOperationQueue.swift in Sources */,
-				89D2D2C6294972B900BFF5FE /* KMFormCellView.swift in Sources */,
 				ADAFDA432AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift in Sources */,
 				BB146FFD299DC0D100784A6A /* OIDAuthState+Mac.m in Sources */,
 				BB2C84672BAE716600AF6142 /* KMPopupMenuObject.swift in Sources */,
@@ -17821,7 +17607,6 @@
 				BBFE6E802930EBD400142C01 /* KMCompressWindowController.swift in Sources */,
 				ADAFDA572AEB451600F084BC /* KMHomeContentView.swift in Sources */,
 				BBFE6E66293097A600142C01 /* KMPageRangePickerWindowController.swift in Sources */,
-				BB83639B2C199C20002CE43A /* KMBotaModel.swift in Sources */,
 				BBEC00E6295C4D3C00A26C98 /* KMBatesPageInfoView.swift in Sources */,
 				9F88108E2B56614600F69815 /* KMAnnotationChoiceWidgetAppearanceViewController.swift in Sources */,
 				BB2C84762BAE71E400AF6142 /* KMThumbnailTableviewCell.swift in Sources */,
@@ -17924,7 +17709,6 @@
 				BB6719FA2AD2CC05003D44D5 /* CPDFSignatureWidgetAnnotation+PDFListView.swift in Sources */,
 				BB1E7F312B511079002D9785 /* SKInspectPublicTool.swift in Sources */,
 				BB2EDF71296ECE17003BCF58 /* KMPageEditThumbnailView.swift in Sources */,
-				BB3A668D2B06FD0100575343 /* KMBotaEnum.swift in Sources */,
 				9FD0FA2A29CD3ED400F2AB0D /* KMRightSideEmptyVC.swift in Sources */,
 				BB65A0792AF8E2F2003A27A0 /* KMSyncPreferences.swift in Sources */,
 				9F78EFC328F7E395001E66F4 /* KMHomeViewController+Action.swift in Sources */,
@@ -17952,7 +17736,6 @@
 				ADAFDA652AEB46D600F084BC /* KMQucikToolsView.swift in Sources */,
 				9F8DDF2729237910006CDC73 /* Array+KMExtensions.swift in Sources */,
 				BBFEF7202B3A787900C28AC0 /* KMSystemAnnotationMenu.swift in Sources */,
-				ADE8BC3029F8CD7200570F89 /* KMPDFThumbnailModel.swift in Sources */,
 				BB90E4EF2AF3546500B04B9F /* NSUserDefaultsController+KMExtension.swift in Sources */,
 				ADDEEA7F2AD3FB1D00EF675D /* KMImageAccessoryController.swift in Sources */,
 				9FDCD8172B6CC88000E22166 /* KMFormActionButtonPopWindowController.swift in Sources */,
@@ -18146,7 +17929,6 @@
 				BB2F18482A0C7E250003F65E /* KMConvertBaseView.swift in Sources */,
 				AD867FC729DFFBC400F00440 /* KMAnnotationOutlineRowView.swift in Sources */,
 				9FA607E028FD4C9F00B46586 /* KMHomePopViewController.swift in Sources */,
-				BB83639C2C199C20002CE43A /* KMBotaModel.swift in Sources */,
 				BBB612B32AF4C388000F3724 /* KMBatchOperateAddWatermarkViewController.swift in Sources */,
 				BB5726F22B20707D0089D283 /* CPDFMarkupAnnotation+PDFListView.swift in Sources */,
 				9F0CB49929683E1000007028 /* KMPropertiesPanelTextSubVC.swift in Sources */,
@@ -18167,7 +17949,6 @@
 				AD055E272B70B3C10035F824 /* KMBookmarkController.swift in Sources */,
 				ADAFDA2A2AE8DE1B00F084BC /* KMAdvertisementModelTransition.swift in Sources */,
 				ADC63E412A49816900854E02 /* KMSubscribeSuccessView.swift in Sources */,
-				BBA19F4529ADE6A3001A285A /* KMBookMarkRowView.swift in Sources */,
 				9F0201982A1F352100C9B673 /* KMAITranslationConfirmWindowController.swift in Sources */,
 				9FDD0FAC29534FCC000C4DAD /* KMAliasLight.swift in Sources */,
 				BBF811E22B07178F0074874F /* KMExtractImageWindowController.swift in Sources */,
@@ -18210,7 +17991,6 @@
 				ADE86AE82B0AF50B00414DFA /* KMCompareCoveringSettingWindowController.swift in Sources */,
 				BB8B17342907B63D001C5EA5 /* CipherTextView.swift in Sources */,
 				ADBC375229CAE27900D93208 /* KMComparativeOutlineRowView.swift in Sources */,
-				ADE8BC3129F8CD7200570F89 /* KMPDFThumbnailModel.swift in Sources */,
 				BB853C6D2AF8782A009C20C1 /* KMRemoveWatermarkOperationQueue.swift in Sources */,
 				BB1A91752AFB8D95005E5FD8 /* KMBookletMaskView.swift in Sources */,
 				BB89DD802953F863007C3FFA /* KMWatermarkFileOutsideView.swift in Sources */,
@@ -18265,7 +18045,6 @@
 				ADE86AF02B0AF56200414DFA /* KMCompareCoveringSettingView.swift in Sources */,
 				BB35732F2AF50068004CDA92 /* KMBatchOperateConvertViewController.swift in Sources */,
 				BB072D602C05AC8F00779B45 /* KMToolbarConfigViewItem.swift in Sources */,
-				89D2D2E0294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */,
 				BB0FE0622B7351AA001E0F88 /* AIInfoManager.m in Sources */,
 				ADDEEA642AD3A6E700EF675D /* KMPDFSignatureTextView.swift in Sources */,
 				BB072D582C057BD600779B45 /* KMToolbarConfigWindowController.swift in Sources */,
@@ -18275,7 +18054,6 @@
 				9F1FE4D429406E4700E952CA /* CTTabView.m in Sources */,
 				9FDD0F66294AB645000C4DAD /* KMMainViewController.swift in Sources */,
 				BBA8B7A52935CD740097D183 /* KMRemovePasswordAlertWindowController.swift in Sources */,
-				8997010828F4082C009AF911 /* KMFromViewController.swift in Sources */,
 				9FDD0FA829533494000C4DAD /* KMJSONParser.swift in Sources */,
 				BBEC00C9295C319400A26C98 /* KMBatesManager.swift in Sources */,
 				AD88108529A719D400178CA1 /* KMRegisterView.swift in Sources */,
@@ -18420,7 +18198,6 @@
 				AD1CA4322A0640F20070541F /* KMAnnotationScreenHeadView.swift in Sources */,
 				BB49ED1B293F4D4E00C82CA2 /* KMConvertCSVSettingView.swift in Sources */,
 				BB8810782B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */,
-				89752E1B2941FD48003FF08E /* KMSearchCellView.swift in Sources */,
 				BB146FC8299DC0D100784A6A /* GTMSessionFetcherService.m in Sources */,
 				ADE86AD82B05A52B00414DFA /* KMCompareFilesConfig.swift in Sources */,
 				BB6DD81E29348F31001F0544 /* KMSecureTextFiled.swift in Sources */,
@@ -18644,7 +18421,6 @@
 				9F1FE49529406E4700E952CA /* common.m in Sources */,
 				BB90E4F82AF3B71800B04B9F /* KMPDFWatermarkData.swift in Sources */,
 				ADC31FA82A0E0C1A00ED44A2 /* KMEditPropertyAlignmentView.swift in Sources */,
-				8997010028F40710009AF911 /* KMBookMarkViewController.swift in Sources */,
 				9F53D5512AD677A000CCF9D8 /* CPDFListViewConfig.swift in Sources */,
 				9FDD0F822952FC36000C4DAD /* KMDesignToken.swift in Sources */,
 				BB1BFF6B2AEA02F8003EB179 /* KMBatchOperateSplitViewController.swift in Sources */,
@@ -18715,7 +18491,6 @@
 				BB2C846B2BAE716600AF6142 /* KMSegmentedControl.swift in Sources */,
 				9F0CB4612966C9E200007028 /* KMFormPropertPanelViewController.swift in Sources */,
 				9F1FE4EF29406E4700E952CA /* ThrobberView.m in Sources */,
-				BB3A668E2B06FD0100575343 /* KMBotaEnum.swift in Sources */,
 				AD867F9229D9554F00F00440 /* KMBOTAOutlineItem.swift in Sources */,
 				BBB9B327299A5D6D004F3235 /* GTMKeychain_macOS.m in Sources */,
 				9F0CB5072986561E00007028 /* KMDesignToken+BorderRight.swift in Sources */,
@@ -18724,7 +18499,6 @@
 				BB4EEF2F29763EE7003A3537 /* KMRedactBaseWindowController.swift in Sources */,
 				BB00301F298CB799002DD1A0 /* KMPreferenceManager.swift in Sources */,
 				BB89727B294DFD1E0045787C /* KMWatermarkTextView.swift in Sources */,
-				BBA19F4129ADE40A001A285A /* KMCellEmptyView.m in Sources */,
 				BB981E572AD4F638001988CA /* KMPageIndicator.swift in Sources */,
 				BB2A98542B270B3300647AF3 /* KMBatchAddBackgroundOperation.swift in Sources */,
 				BBBF68862A3C3AF10058E14E /* NSDocumentController+KMExtension.swift in Sources */,
@@ -18732,7 +18506,6 @@
 				BBEC00AA295BDECF00A26C98 /* KMHeaderFooterContentInfoView.swift in Sources */,
 				BB570ADD2B512C90005E7E4A /* KMLeftSideViewController+Thumbnail.swift in Sources */,
 				BBB14A552978DD5400936EDB /* KMRedactTools.swift in Sources */,
-				ADCFFC0429C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */,
 				BBEC00CE295C31F900A26C98 /* KMBatesModel.swift in Sources */,
 				BBF729B92B19632C00576AC5 /* KMRemoveBatesOperationQueue.swift in Sources */,
 				ADBC373429CA95AA00D93208 /* KMComparativeModel.swift in Sources */,
@@ -18777,7 +18550,6 @@
 				AD7D5CA22B8F34EC006562CD /* SKPDFSynchronizer.m in Sources */,
 				BB146FBC299DC0D100784A6A /* GTLRBase64.m in Sources */,
 				F34BF928295303E8002C25A2 /* NSCursor+PDFListView.m in Sources */,
-				8942F7FA2926089200389627 /* KMSignatureViewController.swift in Sources */,
 				9FAAA33B290F72CC0046FFCE /* KMHistoryFileCollectionView.swift in Sources */,
 				ADDF833A2B391A5C00A81A4E /* CPDFSignatureAnnotation+PDFListView.m in Sources */,
 				9F3D819529A33A290087B5AD /* KMDesignDropdown.swift in Sources */,
@@ -18796,7 +18568,6 @@
 				BBB9B31E299A5D6D004F3235 /* KMCloudOperation.m in Sources */,
 				BB8F4588295B19AC0037EA22 /* KMHeaderFooterDateInfoView.swift in Sources */,
 				ADDF839D2B391A5D00A81A4E /* PDFCertExportAccessoryView.swift in Sources */,
-				89D2D2BF29486D2400BFF5FE /* KMSignatureCellView.swift in Sources */,
 				BB2EDF56296E815E003BCF58 /* KMPageEditBaseItemView.swift in Sources */,
 				BBA922372B4E97540061057A /* KMPurchaseFirstTrialWindowController.swift in Sources */,
 				AD1D483C2AFB81ED007AC1F0 /* KMMergeBlankView.swift in Sources */,
@@ -18819,7 +18590,6 @@
 				BB6347C62AF24F6300F5438E /* KMBatchoperateConvertCollectionViewItem.swift in Sources */,
 				BB4DD045299B291A00E80DF6 /* KMCloudNoNetworkView.swift in Sources */,
 				9FBA0EE328FEC253001117AF /* KMProductPromotionViewController.swift in Sources */,
-				8942F7F22926087200389627 /* KMSearchViewController.swift in Sources */,
 				BB853C882AF8BC12009C20C1 /* KMAddPasswordOperationQueue.swift in Sources */,
 				BB10FAE72AFE039E00F18D65 /* KMPDFEditPageRangeWindowController.swift in Sources */,
 				9FDD0F79294FEF64000C4DAD /* KMConvertPDFManager.swift in Sources */,
@@ -18923,7 +18693,6 @@
 				BB8F4574295ACE380037EA22 /* KMHeaderFooterAdjectiveListCell.swift in Sources */,
 				9F8810972B56877C00F69815 /* KMAnnotationChoiceWidgetOptionsViewController.swift in Sources */,
 				ADD1B7082946CBB600C3FFF7 /* KMBaseTextFormatter.swift in Sources */,
-				89D2D2C329495D2100BFF5FE /* KMFormModel.swift in Sources */,
 				BBFE6E67293097A600142C01 /* KMPageRangePickerWindowController.swift in Sources */,
 				BBFEF7292B3A78EC00C28AC0 /* KMSystemToolMenu.swift in Sources */,
 				BB88E43D294023CB002B3655 /* KMDocumentModel.swift in Sources */,
@@ -18956,7 +18725,6 @@
 				BBCE57122A72712200508EFC /* NSWindowController+KMExtension.swift in Sources */,
 				BB10FAF02AFE233C00F18D65 /* KMLineInspector.swift in Sources */,
 				BB04FD0E2B206F3600D80F7B /* KMPlanViewController.swift in Sources */,
-				ADE3C1A129A3894900793B13 /* KMSearchTableRowView.swift in Sources */,
 				BB2C845C2BAE6DC100AF6142 /* KMLeftMethodMode.swift in Sources */,
 				AD1CA41B2A061CE10070541F /* KMAnnotationScreenTypeViewItem.swift in Sources */,
 				BB276A4E2B03760000AB5578 /* KMOperationQueue.swift in Sources */,
@@ -19025,7 +18793,6 @@
 				BB10F1E62B736F11008EAF7E /* FMTrackEventManager.swift in Sources */,
 				9F0CB51B2986568000007028 /* KMDesignToken+BorderRadiusTopRight.swift in Sources */,
 				BB1B0ACD2B4FC6E900889528 /* KMFunctionGuideWindowController.swift in Sources */,
-				8942F7BD29222C7E00389627 /* KMBookCellView.swift in Sources */,
 				9F1FE4C229406E4700E952CA /* NSWindow+CTThemed.m in Sources */,
 				BB147001299DC0D100784A6A /* OIDRedirectHTTPHandler.m in Sources */,
 				AD7D5C9D2B8F20FE006562CD /* synctex_parser.m in Sources */,
@@ -19062,7 +18829,6 @@
 				BBE9D0942AF0A85C002E83CE /* KMBatchOperation.swift in Sources */,
 				9FBA0EF728FFC8A0001117AF /* KMCollectionView.swift in Sources */,
 				BB897226294B07960045787C /* KMWatermarkAdjectiveTopBarItemView.swift in Sources */,
-				89D2D2C7294972B900BFF5FE /* KMFormCellView.swift in Sources */,
 				9F080B16298CFDB300FC27DA /* KMTextImageButtonVC.swift in Sources */,
 				BBFBE74828DD7DB8008B2335 /* AppDelegate.swift in Sources */,
 				AD055EBB2B8843FD0035F824 /* SKToolbarItem.m in Sources */,

+ 17 - 1
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -541,7 +541,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "1948"
             endingLineNumber = "1948"
-            landmarkName = "showSnapshots(setups:)"
+            landmarkName = "clearSecureOptions()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -1065,5 +1065,21 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "8D336205-6DF5-4580-A180-A1642B9A4784"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/PDFWindowController/Side/LeftSide/Search/KMBotaSearchViewController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "45"
+            endingLineNumber = "45"
+            landmarkName = "loadView()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>