Browse Source

【书签】document 数据存储

lizhe 1 year ago
parent
commit
4904e6e357

+ 29 - 4
PDF Office/PDF Master/Class/Document/KMMainDocument.swift

@@ -36,6 +36,27 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
     private var _saveAsing = false
     var fileUpdateChecker: SKFileUpdateChecker?
     var mdFlags: MDFlags?
+    var currentDocumentSetup: [String: Any] {
+        get {
+            var tempSetup: [String: Any] = [:]
+            var tempMainSetup: [String: Any] = mainViewController?.currentSetup() ?? [:]
+            let data = (fileURL != nil) ? SKAlias.init(url: fileURL).data : nil
+            let filePath = fileURL?.path ?? ""
+            
+            tempSetup.updateValue(filePath, forKey: KMDocumentSetupFileNameKey)
+            if data != nil {
+                tempSetup.updateValue(data!, forKey: KMDocumentSetupAliasKey)
+            }
+            
+            if tempSetup.count != 0 {
+                tempSetup.merge(tempMainSetup) { (_, new) in new }
+            }
+            return tempSetup
+        }
+        set {
+            
+        }
+    }
     
     private var _saveToURL: URL?
     var saveToURL: URL? {
@@ -727,10 +748,9 @@ typealias KMMainDocumentCloudUploadHanddler = (@escaping(Bool, String)->()) -> (
                     let index: UInt = page.pageIndex()
                     bookmark = KMBookmark.bookmark(url: self.fileURL!, pageIndex: index, label: label)
                 }
-//            case .setup:
-//                if let setup = currentDocumentSetup {
-//                    bookmark = SKBookmark.bookmark(withSetup: setup, label: label)
-//                }
+            case .setup: break
+                let setup = currentDocumentSetup
+                bookmark = KMBookmark.bookmark(setup: setup, label: label)
             case .session:
                 let setups = NSApp.orderedDocuments.compactMap { $0.value(forKey:"currentDocumentSetup") }
                 bookmark = KMSessionBookmark.bookmarkSession(setups: setups as NSArray, label: label)
@@ -1150,3 +1170,8 @@ extension KMMainDocument: SKPDFSynchronizerDelegate {
         }
     }
 }
+
+extension KMMainDocument {
+    
+    
+}

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/KMBookmark/Controller/KMBookmarkController.xib

@@ -26,14 +26,14 @@
                     <view translatesAutoresizingMaskIntoConstraints="NO" id="8va-Ju-ebM">
                         <rect key="frame" x="0.0" y="0.0" width="663" height="307"/>
                         <subviews>
-                            <scrollView fixedFrame="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="18" horizontalPageScroll="10" verticalLineScroll="18" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3xo-BF-qal">
+                            <scrollView fixedFrame="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3xo-BF-qal">
                                 <rect key="frame" x="0.0" y="22" width="663" height="286"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <clipView key="contentView" id="one-Qw-MTE">
                                     <rect key="frame" x="0.0" y="0.0" width="663" height="286"/>
                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                     <subviews>
-                                        <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="firstColumnOnly" alternatingRowBackgroundColors="YES" columnReordering="NO" typeSelect="NO" autosaveName="SKBookmarksTable" rowHeight="16" headerView="DUP-Q2-ASL" indentationPerLevel="13" outlineTableColumn="qcP-Ly-Zi3" id="O1w-IL-33b">
+                                        <outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="firstColumnOnly" alternatingRowBackgroundColors="YES" columnReordering="NO" typeSelect="NO" autosaveName="SKBookmarksTable" headerView="DUP-Q2-ASL" indentationPerLevel="13" outlineTableColumn="qcP-Ly-Zi3" id="O1w-IL-33b">
                                             <rect key="frame" x="0.0" y="0.0" width="663" height="258"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <size key="intercellSpacing" width="3" height="2"/>
@@ -45,7 +45,7 @@
                                                         <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
                                                     </tableHeaderCell>
-                                                    <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" id="FJd-fo-cum" customClass="SKTextWithIconCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                                                    <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" id="FJd-fo-cum" customClass="KMTextWithIconCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <font key="font" metaFont="cellTitle"/>
                                                         <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>

+ 1 - 0
PDF Office/PDF Master/Class/PDFTools/KMBookmark/Model/KMBookmark.swift

@@ -17,6 +17,7 @@ enum KMBookmarkType: String {
     case bookmark = "bookmark"
     case folder = "folder"
     case session = "session"
+    case setup = "setup"
     case separator = "separator"
     case file = "file"
 }

+ 12 - 0
PDF Office/PDF Master/Class/PDFTools/KMBookmark/View/KMBookmarkOutlineTitleCell.swift

@@ -0,0 +1,12 @@
+//
+//  KMBookmarkOutlineTitleCell.swift
+//  PDF Reader Pro
+//
+//  Created by lizhe on 2024/3/1.
+//
+
+import Cocoa
+
+class KMBookmarkOutlineTitleCell: NSTextFieldCell {
+
+}

+ 11 - 0
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFListViewExtension/CPDFListView+Sync.swift

@@ -78,3 +78,14 @@ extension CPDFListView {
         }
     }
 }
+
+extension CPDFListView {
+    open override var autoScales: Bool {
+        didSet {
+//            let setups = NSApp.orderedDocuments.compactMap { $0.value(forKey:"currentDocumentSetup") }
+            let documentSetups = NSApp.orderedDocuments.map { $0.value(forKey: "currentDocumentSetup") }
+            UserDefaults.standard.setValue(documentSetups, forKey: SKLastOpenFileNamesKey)
+            UserDefaults.standard.synchronize()
+        }
+    }
+}

+ 2 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayPropertiesViewController.swift

@@ -114,6 +114,8 @@ class KMPageDisplayPropertiesButton: NSButton {
         super.viewDidLoad()
         // Do view setup here.
         
+//        contentView.backgroundColor(NSColor.red)
+        
         themeCollectionView.register(KMPageDisplayThemeCollectionViewItem.self, forItemWithIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMPageDisplayThemeCollectionViewItem"))
         themeCollectionView.register(KMPageDisplayCustomThemesCollectionViewItem.self, forItemWithIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMPageDisplayCustomThemesCollectionViewItem"))
 

+ 13 - 13
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayPropertiesViewController.xib

@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22154" 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="22154"/>
+        <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="KMPageDisplayPropertiesViewController" customModule="PDF_Master" customModuleProvider="target">
+        <customObject id="-2" userLabel="File's Owner" customClass="KMPageDisplayPropertiesViewController" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
                 <outlet property="buttonHeightConstraint2" destination="nfc-c7-dTF" id="kV9-K2-rDa"/>
                 <outlet property="clockwiseRotationBox" destination="cvQ-nx-cJC" id="Get-vG-jZd"/>
@@ -87,7 +87,7 @@
                                             <rect key="frame" x="-100" y="-100" width="233" height="15"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                         </scroller>
-                                        <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="pDf-y3-zct" customClass="KMToolSetScroller" customModule="PDF_Master" customModuleProvider="target">
+                                        <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="pDf-y3-zct" customClass="KMToolSetScroller" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                             <rect key="frame" x="-100" y="-100" width="15" height="101"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                         </scroller>
@@ -117,7 +117,7 @@
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                         </textFieldCell>
                                     </textField>
-                                    <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xwl-No-Yw0" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xwl-No-Yw0" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="0.0" y="52" width="50" height="56"/>
                                         <buttonCell key="cell" type="square" title="Title" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarViewSplitscreensingleNor" imagePosition="above" alignment="center" imageScaling="proportionallyDown" inset="2" id="WZw-v3-3dO">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -144,7 +144,7 @@
                                             <font key="font" metaFont="smallSystem"/>
                                         </buttonCell>
                                     </button>
-                                    <button tag="2" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="w7h-TO-8Yp" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <button tag="2" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="w7h-TO-8Yp" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="266" y="52" width="50" height="56"/>
                                         <buttonCell key="cell" type="square" title="Title" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarViewSplitscreenhorNor" imagePosition="above" alignment="center" imageScaling="proportionallyDown" inset="2" id="NTU-XQ-DJt">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -160,7 +160,7 @@
                                             <constraint firstAttribute="height" constant="56" id="L9k-ZA-6Sw"/>
                                         </constraints>
                                     </customView>
-                                    <button tag="1" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="A1N-XA-yOH" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <button tag="1" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="A1N-XA-yOH" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="133" y="52" width="50" height="56"/>
                                         <buttonCell key="cell" type="square" title="Title" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarViewSplitscreenverNor" imagePosition="above" alignment="center" imageScaling="proportionallyDown" inset="2" id="Glv-3q-e1k">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -269,7 +269,7 @@
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                         </textFieldCell>
                                     </textField>
-                                    <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9oz-7L-80L" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9oz-7L-80L" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="0.0" y="77" width="50" height="56"/>
                                         <buttonCell key="cell" type="square" title="Title" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarViewPagesingleNor" imagePosition="above" alignment="center" imageScaling="proportionallyDown" inset="2" id="TVe-q8-kd4">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -283,7 +283,7 @@
                                             <action selector="displayModeButtonAction:" target="-2" id="epG-sy-s7A"/>
                                         </connections>
                                     </button>
-                                    <button tag="1" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5ex-Cg-9BL" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <button tag="1" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5ex-Cg-9BL" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="133" y="77" width="50" height="56"/>
                                         <buttonCell key="cell" type="square" title="Title" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarViewPagedoubleNor" imagePosition="above" alignment="center" imageScaling="proportionallyDown" inset="2" id="QOU-JK-ugq">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -293,7 +293,7 @@
                                             <action selector="displayModeButtonAction:" target="-2" id="Any-jA-lga"/>
                                         </connections>
                                     </button>
-                                    <button tag="2" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7Wg-kN-fA5" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <button tag="2" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7Wg-kN-fA5" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="266" y="77" width="50" height="56"/>
                                         <buttonCell key="cell" type="square" title="Title" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarViewPagecoverNor" imagePosition="above" alignment="center" imageScaling="proportionallyDown" inset="2" id="2kr-Hd-OgG">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -303,7 +303,7 @@
                                             <action selector="displayModeButtonAction:" target="-2" id="5Sj-Er-bJK"/>
                                         </connections>
                                     </button>
-                                    <button tag="3" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Nz2-JE-kfR" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <button tag="3" imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Nz2-JE-kfR" customClass="KMPageDisplayPropertiesButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="399" y="77" width="50" height="56"/>
                                         <buttonCell key="cell" type="square" title="Title" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarViewPagereadingNor" imagePosition="above" alignment="center" imageScaling="proportionallyDown" inset="2" id="CXv-oK-Kdz">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -409,7 +409,7 @@
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                         </textFieldCell>
                                     </textField>
-                                    <box boxType="custom" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="cvQ-nx-cJC" customClass="KMBox" customModule="PDF_Master" customModuleProvider="target">
+                                    <box boxType="custom" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="cvQ-nx-cJC" customClass="KMBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="0.0" y="0.0" width="69" height="24"/>
                                         <view key="contentView" id="saP-cx-R4h">
                                             <rect key="frame" x="1" y="1" width="67" height="22"/>
@@ -432,7 +432,7 @@
                                             <constraint firstAttribute="height" constant="24" id="iTE-0X-eyC"/>
                                         </constraints>
                                     </box>
-                                    <box boxType="custom" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="mj6-VU-qEY" customClass="KMBox" customModule="PDF_Master" customModuleProvider="target">
+                                    <box boxType="custom" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="mj6-VU-qEY" customClass="KMBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="78" y="0.0" width="69" height="24"/>
                                         <view key="contentView" id="n08-Js-i6L">
                                             <rect key="frame" x="1" y="1" width="67" height="22"/>

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

@@ -6,6 +6,10 @@
 //
 
 import Cocoa
+let MAINWINDOWFRAME_KEY        = "windowFrame"
+let LEFTSIDEPANEWIDTH_KEY      = "leftSidePaneWidth"
+let RIGHTSIDEPANEWIDTH_KEY     = "rightSidePaneWidth"
+let SNAPSHOTS_KEY              = "snapshots"
 
 let DISPLAYSPAGEBREAKS_KEY = "displaysPageBreaks"
 let DISPLAYSASBOOK_KEY = "displaysAsBook"
@@ -3383,3 +3387,31 @@ extension KMMainViewController: KMSnapshotWindowControllerDelegate {
     }
 }
 
+//MARK: document数据保存
+extension KMMainViewController {
+    func currentSetup() -> [String: Any] {
+        var setup: [String: Any] = [:]
+        var point = NSZeroPoint
+//        var rotated = listView.currentPage().rotation
+        let pageIndex = listView.currentPageIndexAndPoint(&point, rotated: nil)
+        
+        setup[MAINWINDOWFRAME_KEY] = NSStringFromRect(mainWindow?.frame ?? NSZeroRect)
+        setup[LEFTSIDEPANEWIDTH_KEY] = lastLeftPanWidth
+        setup[RIGHTSIDEPANEWIDTH_KEY] = lastRightPanWidth
+        setup[PAGEINDEX_KEY] = pageIndex
+//        if rotated != 0 {
+//            setup[SCROLLPOINT_KEY] = NSStringFromPoint(point)
+//        }
+//        if !snapshots.isEmpty {
+//            setup[SNAPSHOTS_KEY] = snapshots.map { $0[SKSnapshotCurrentSetupKey] }
+//        }
+//        if interactionMode == SKNormalMode {
+//            setup.merge(currentPDFSettings(), uniquingKeysWith: { $1 })
+//        } else {
+//            setup.merge(savedNormalSetup, uniquingKeysWith: { $1 })
+//            ["HASHORIZONTALSCROLLER_KEY", "HASVERTICALSCROLLER_KEY", "AUTOHIDESSCROLLERS_KEY", "LOCKED_KEY"].forEach { setup.removeValue(forKey: $0) }
+//        }
+        
+        return setup
+    }
+}

+ 8 - 0
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -1632,6 +1632,9 @@
 		AD7D5CB32B9070AF006562CD /* KMSyncDot.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7D5CB22B9070AF006562CD /* KMSyncDot.swift */; };
 		AD7D5CB42B9070AF006562CD /* KMSyncDot.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7D5CB22B9070AF006562CD /* KMSyncDot.swift */; };
 		AD7D5CB52B9070AF006562CD /* KMSyncDot.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7D5CB22B9070AF006562CD /* KMSyncDot.swift */; };
+		AD7D5CBC2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7D5CBB2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift */; };
+		AD7D5CBD2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7D5CBB2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift */; };
+		AD7D5CBE2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD7D5CBB2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift */; };
 		AD85D1822AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */; };
 		AD85D1832AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */; };
 		AD85D1842AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */; };
@@ -5809,6 +5812,7 @@
 		AD7D5CA42B8F35D1006562CD /* SKPDFSyncRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SKPDFSyncRecord.h; sourceTree = "<group>"; };
 		AD7D5CA82B906E36006562CD /* CPDFListView+Sync.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CPDFListView+Sync.swift"; sourceTree = "<group>"; };
 		AD7D5CB22B9070AF006562CD /* KMSyncDot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSyncDot.swift; sourceTree = "<group>"; };
+		AD7D5CBB2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBookmarkOutlineTitleCell.swift; sourceTree = "<group>"; };
 		AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHomeNOFileView.swift; sourceTree = "<group>"; };
 		AD85D1862AEF46DF000F4D28 /* KMHomeNOFileView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMHomeNOFileView.xib; sourceTree = "<group>"; };
 		AD85D19D2AEF927D000F4D28 /* KMQucikToolsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMQucikToolsModel.swift; sourceTree = "<group>"; };
@@ -8502,6 +8506,7 @@
 				AD055E4D2B7234810035F824 /* KMBookmarkSheetView.xib */,
 				AD055E5B2B85C9A70035F824 /* KMSeparatorCell.swift */,
 				AD055E5F2B85E04C0035F824 /* KMTextWithIconCell.swift */,
+				AD7D5CBB2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -15300,6 +15305,7 @@
 				BB3AAB992987BEA900992A5A /* KMWatermarkPDFView_OC.m in Sources */,
 				9FB220F12B1863C800A5B208 /* KMAnnotationFromSignature.swift in Sources */,
 				BB7FF5072A60E84400901C2D /* KMEnumExtensions.swift in Sources */,
+				AD7D5CBC2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift in Sources */,
 				9FB221072B19BD8B00A5B208 /* KMGeneralAnnotationViewController.swift in Sources */,
 				F3F0B27329B8ACD000722957 /* CPDFListViewDragObject.m in Sources */,
 				BB0FE0462B734DD1001E0F88 /* AIInfoConfig.swift in Sources */,
@@ -16927,6 +16933,7 @@
 				BB0FE0442B734DD1001E0F88 /* AITypeChooseView.swift in Sources */,
 				BBC8DC712B57854800270C98 /* KMSecondaryPDFView.swift in Sources */,
 				9F0CB5162986566D00007028 /* KMDesignToken+BorderRadiusTopLeft.swift in Sources */,
+				AD7D5CBD2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift in Sources */,
 				AD867F8729D94F5100F00440 /* KMBOTAOutlineView.swift in Sources */,
 				ADAFDA292AE8DE1B00F084BC /* KMAdvertisementModelTransition.swift in Sources */,
 				BBD8EE942B8EC86A00EB05FE /* AutoSaveFileItem.m in Sources */,
@@ -17805,6 +17812,7 @@
 				AD3AAD5E2B0DA3D400DE5FE7 /* KMCompareTextViewItem.swift in Sources */,
 				BBB9B30F299A5D6D004F3235 /* KMCloudUploadOperationQueue.m in Sources */,
 				BB14700D299DC0D100784A6A /* OIDAuthorizationRequest.m in Sources */,
+				AD7D5CBE2B917BD8006562CD /* KMBookmarkOutlineTitleCell.swift in Sources */,
 				9F1FE4B329406E4700E952CA /* CTTabWindowController.m in Sources */,
 				ADE86AC22B034C7100414DFA /* KMBackgroundWindowController.swift in Sources */,
 				BBFE6E812930EBD400142C01 /* KMCompressWindowController.swift in Sources */,