Просмотр исходного кода

【综合】注释列表UI调整

tangchao 5 месяцев назад
Родитель
Сommit
24aeee9869

+ 27 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/View/KMSectionCellView.swift

@@ -0,0 +1,27 @@
+//
+//  KMSectionCellView.swift
+//  PDF Reader Pro
+//
+//  Created by User-Tangchao on 2024/9/18.
+//
+
+import Cocoa
+
+class KMSectionCellView: NSTableCellView, NibLoadable {
+    @IBOutlet weak var titleLabel: NSTextField!
+    @IBOutlet weak var countLabel: NSTextField!
+    @IBOutlet weak var expandButton: NSButton!
+    
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+    override func awakeFromNib() {
+        super.awakeFromNib()
+        
+        self.titleLabel.stringValue = "1234"
+        self.countLabel.stringValue = "2"
+    }
+}

+ 63 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/View/KMSectionCellView.xib

@@ -0,0 +1,63 @@
+<?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="KMSectionCellView" customModule="PDF_Reader_Pro" customModuleProvider="target"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <tableCellView id="qeq-9Z-4A5" customClass="KMSectionCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="239" height="32"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Ivc-dC-Pho">
+                    <rect key="frame" x="0.0" y="8" width="4" height="16"/>
+                    <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" id="eCT-hy-8qi">
+                        <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>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rjc-uD-mQf">
+                    <rect key="frame" x="180" y="8" width="37" height="16"/>
+                    <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="xg9-Kz-vHH">
+                        <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="1Z2-Dc-fxz">
+                    <rect key="frame" x="219" y="8" width="16" height="16"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="16" id="SC8-Wl-hxz"/>
+                        <constraint firstAttribute="height" constant="16" id="zBo-6g-duz"/>
+                    </constraints>
+                    <buttonCell key="cell" type="bevel" title="Button" bezelStyle="regularSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="iv2-vi-fDB">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                </button>
+            </subviews>
+            <constraints>
+                <constraint firstItem="Ivc-dC-Pho" firstAttribute="leading" secondItem="qeq-9Z-4A5" secondAttribute="leading" constant="2" id="5zC-Az-1Sz"/>
+                <constraint firstItem="1Z2-Dc-fxz" firstAttribute="top" secondItem="qeq-9Z-4A5" secondAttribute="top" constant="8" id="Elh-QV-3BZ"/>
+                <constraint firstItem="Ivc-dC-Pho" firstAttribute="centerY" secondItem="qeq-9Z-4A5" secondAttribute="centerY" id="JUy-id-kUc"/>
+                <constraint firstItem="rjc-uD-mQf" firstAttribute="centerY" secondItem="qeq-9Z-4A5" secondAttribute="centerY" id="Jas-8P-hzB"/>
+                <constraint firstItem="1Z2-Dc-fxz" firstAttribute="centerY" secondItem="qeq-9Z-4A5" secondAttribute="centerY" id="OmN-UY-uxq"/>
+                <constraint firstAttribute="trailing" secondItem="1Z2-Dc-fxz" secondAttribute="trailing" constant="4" id="RfC-U6-OFQ"/>
+                <constraint firstAttribute="trailing" secondItem="rjc-uD-mQf" secondAttribute="trailing" constant="24" id="Z97-QS-N9P"/>
+                <constraint firstAttribute="bottom" secondItem="1Z2-Dc-fxz" secondAttribute="bottom" constant="8" id="kP7-zb-HYq"/>
+            </constraints>
+            <connections>
+                <outlet property="countLabel" destination="rjc-uD-mQf" id="yTm-O6-wPh"/>
+                <outlet property="expandButton" destination="1Z2-Dc-fxz" id="V51-pv-Ftg"/>
+                <outlet property="textField" destination="Ivc-dC-Pho" id="0Vo-aD-eW8"/>
+                <outlet property="titleLabel" destination="Ivc-dC-Pho" id="9V4-S9-p71"/>
+            </connections>
+            <point key="canvasLocation" x="101.5" y="-5"/>
+        </tableCellView>
+    </objects>
+</document>

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

@@ -972,7 +972,7 @@ extension KMLeftSideViewController {
             var datas: [KMBotaAnnotationModel] = []
             var prePageIdx: Int = NSNotFound
             for anno in allAnnotation {
-                if self.noteSortType == .page {
+//                if self.noteSortType == .page {
                     let pageIdx = Int(anno.pageIndex())
                     var secM: KMBotaAnnotationSectionModel?
                     if pageIdx != prePageIdx { // 不是同一个页面
@@ -989,7 +989,7 @@ extension KMLeftSideViewController {
                     secM?.items.append(item)
                     
                     prePageIdx = Int(anno.pageIndex())
-                }
+//                }
                 
 //                let item = KMBotaAnnotationModel()
 //                item.anno = anno

+ 55 - 15
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift

@@ -1886,19 +1886,25 @@ extension KMLeftSideViewController: NSOutlineViewDelegate, NSOutlineViewDataSour
             if self.noteSearchMode {
                 return self.noteSearchArray.count
             }
-            let count = self.annoListModel?.datas.count ?? 0
-
+//            let count = self.annoListModel?.datas.count ?? 0
+            var cnt = 0
+            for sectionM in self.annoListModel?.datas ?? [] {
+                if sectionM.items.count > 0 {
+                    cnt += (sectionM.itemCount + 1)
+                }
+            }
+                
             let hasAnno = self.allAnnotations.count >= 1
             self.noteSearchButton.isEnabled = hasAnno
             self.noteFilterButton.isEnabled = hasAnno
             self.noteOutlineView.usesAlternatingRowBackgroundColors = false
-            if count < 1 {
+            if cnt < 1 {
                 self.showNoteEmptyView()
             } else {
                 self.hideNoteEmptyView()
             }
-            
-            return count
+                
+            return cnt
         }
         return 0
     }
@@ -1946,7 +1952,31 @@ extension KMLeftSideViewController: NSOutlineViewDelegate, NSOutlineViewDataSour
             if self.noteSearchMode {
                 return self.noteSearchArray[index]
             }
-            return self.annoListModel?.datas[index] as Any
+            
+            var idx = 0
+            var flagSectionM: KMBotaAnnotationSectionModel?
+            var flagItem: KMBotaAnnotationModel?
+            var isSection = false
+            for sectionM in self.annoListModel?.datas ?? [] {
+                idx += 1
+                if index + 1 == idx {
+                    flagSectionM = sectionM
+                    isSection = true
+                    break
+                }
+                for item in sectionM.items {
+                    idx += 1
+                    if index + 1 == idx {
+                        flagSectionM = sectionM
+                        flagItem = item
+                        break
+                    }
+                }
+            }
+            if isSection {
+                return flagSectionM
+            }
+            return flagItem
         }
         return item as Any
     }
@@ -1993,6 +2023,16 @@ extension KMLeftSideViewController: NSOutlineViewDelegate, NSOutlineViewDataSour
             cell.tocLabel.textColor = KMAppearance.titleColor()
             return cell
         } else if outlineView.isEqual(to: self.noteOutlineView) {
+            if let data = item as? KMBotaAnnotationSectionModel {
+                var cell = outlineView.makeView(withIdentifier: KMSectionCellView.km_identifier, owner: nil) as? KMSectionCellView
+//                let cell = outlineView.makeView(withIdentifier: KMNoteTableViewCell.km_identifier, owner: self) as! KMNoteTableViewCell
+                if cell == nil {
+                    cell = KMSectionCellView.createFromNib()
+                }
+//                cell?.titleLabel.stringValue = "llllll"
+//                cell?.countLabel.stringValue = "2"
+                return cell
+            }
             let model = item as? KMBotaAnnotationModel
             let note = (item as? KMBotaAnnotationModel)?.anno
             let cell = outlineView.makeView(withIdentifier: KMNoteTableViewCell.km_identifier, owner: self) as! KMNoteTableViewCell
@@ -2024,15 +2064,15 @@ extension KMLeftSideViewController: NSOutlineViewDelegate, NSOutlineViewDataSour
     
     func outlineView(_ outlineView: NSOutlineView, heightOfRowByItem item: Any) -> CGFloat {
         if outlineView.isEqual(self.noteOutlineView) {
-            if let model = item as? KMBotaAnnotationModel {
-                if model.foldType == .fold {
-                    return model.foldH
-                }
-                if let anno = model.anno {
-                    return KMBOTAAnnotationTool.fetchCellHeight(annotation: anno, maxSize: CGSize(width: 260+40 - 16, height: 1000))
-                }
-            }
-            return 30
+//            if let model = item as? KMBotaAnnotationModel {
+//                if model.foldType == .fold {
+//                    return model.foldH
+//                }
+//                if let anno = model.anno {
+//                    return KMBOTAAnnotationTool.fetchCellHeight(annotation: anno, maxSize: CGSize(width: 260+40 - 16, height: 1000))
+//                }
+//            }
+            return 30 + 30
         } else if outlineView.isEqual(self.tocOutlineView) {
             if let ol = item as? CPDFOutline {
                 let string: NSString = ol.label as NSString

+ 20 - 4
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -31,15 +31,15 @@
 		654A5A842C895DE6001FBD4B /* KMComparativeGradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6218D32A7D29F40088475C /* KMComparativeGradientView.swift */; };
 		654A5A852C89628A001FBD4B /* KMWatermarkAdjectivePropertyBaseController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB897235294B38DC0045787C /* KMWatermarkAdjectivePropertyBaseController.xib */; };
 		654A5A862C89628C001FBD4B /* KMWatermarkAdjectivePropertyBaseController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB897235294B38DC0045787C /* KMWatermarkAdjectivePropertyBaseController.xib */; };
+		654A5A8C2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */; };
+		654A5A8D2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */; };
+		654A5A8E2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */; };
 		6554450B2C88483C00BD9010 /* KMDiscountToSaveWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 655445082C88483B00BD9010 /* KMDiscountToSaveWindowController.xib */; };
 		6554450C2C88483C00BD9010 /* KMDiscountToSaveWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 655445082C88483B00BD9010 /* KMDiscountToSaveWindowController.xib */; };
 		6554450D2C88483C00BD9010 /* KMDiscountToSaveWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 655445082C88483B00BD9010 /* KMDiscountToSaveWindowController.xib */; };
 		6554450E2C88483C00BD9010 /* KMDiscountToSaveWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6554450A2C88483C00BD9010 /* KMDiscountToSaveWindowController.m */; };
 		6554450F2C88483C00BD9010 /* KMDiscountToSaveWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6554450A2C88483C00BD9010 /* KMDiscountToSaveWindowController.m */; };
 		655445102C88483C00BD9010 /* KMDiscountToSaveWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6554450A2C88483C00BD9010 /* KMDiscountToSaveWindowController.m */; };
-		654A5A8C2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */; };
-		654A5A8D2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */; };
-		654A5A8E2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */; };
 		65D684062C6A250C003A532E /* KMWavyLineAnnotationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D684052C6A250C003A532E /* KMWavyLineAnnotationController.swift */; };
 		65D684072C6A250C003A532E /* KMWavyLineAnnotationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D684052C6A250C003A532E /* KMWavyLineAnnotationController.swift */; };
 		65D684082C6A250C003A532E /* KMWavyLineAnnotationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D684052C6A250C003A532E /* KMWavyLineAnnotationController.swift */; };
@@ -52,6 +52,12 @@
 		65EF3A7D2C81C1F500CCFC8F /* KMVerificationRSA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65EF3A7C2C81C1F500CCFC8F /* KMVerificationRSA.swift */; };
 		65EF3A7E2C81C1F500CCFC8F /* KMVerificationRSA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65EF3A7C2C81C1F500CCFC8F /* KMVerificationRSA.swift */; };
 		65EF3A7F2C81C1F500CCFC8F /* KMVerificationRSA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65EF3A7C2C81C1F500CCFC8F /* KMVerificationRSA.swift */; };
+		65FABB312C9AFB0C00AA92E5 /* KMSectionCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65FABB302C9AFB0C00AA92E5 /* KMSectionCellView.swift */; };
+		65FABB322C9AFB0C00AA92E5 /* KMSectionCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65FABB302C9AFB0C00AA92E5 /* KMSectionCellView.swift */; };
+		65FABB332C9AFB0C00AA92E5 /* KMSectionCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65FABB302C9AFB0C00AA92E5 /* KMSectionCellView.swift */; };
+		65FABB352C9AFB1F00AA92E5 /* KMSectionCellView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 65FABB342C9AFB1F00AA92E5 /* KMSectionCellView.xib */; };
+		65FABB362C9AFB1F00AA92E5 /* KMSectionCellView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 65FABB342C9AFB1F00AA92E5 /* KMSectionCellView.xib */; };
+		65FABB372C9AFB1F00AA92E5 /* KMSectionCellView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 65FABB342C9AFB1F00AA92E5 /* KMSectionCellView.xib */; };
 		89316822296D73CC0073EA59 /* KMSignatureAnnotationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89316820296D73CC0073EA59 /* KMSignatureAnnotationViewController.m */; };
 		89316823296D73CC0073EA59 /* KMSignatureAnnotationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89316820296D73CC0073EA59 /* KMSignatureAnnotationViewController.m */; };
 		89316824296D73CC0073EA59 /* KMSignatureAnnotationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 89316820296D73CC0073EA59 /* KMSignatureAnnotationViewController.m */; };
@@ -5552,14 +5558,16 @@
 		65341C722C63CCFE00FE30F9 /* KMSearchReplaceWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSearchReplaceWindowController.swift; sourceTree = "<group>"; };
 		65341C732C63CCFE00FE30F9 /* KMSearchReplaceWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSearchReplaceWindowController.xib; sourceTree = "<group>"; };
 		65341C7B2C646C6400FE30F9 /* KMSearchReplaceHanddler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSearchReplaceHanddler.swift; sourceTree = "<group>"; };
+		654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KMAnalytics+KMExtensions.swift"; sourceTree = "<group>"; };
 		655445082C88483B00BD9010 /* KMDiscountToSaveWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMDiscountToSaveWindowController.xib; sourceTree = "<group>"; };
 		655445092C88483C00BD9010 /* KMDiscountToSaveWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMDiscountToSaveWindowController.h; sourceTree = "<group>"; };
 		6554450A2C88483C00BD9010 /* KMDiscountToSaveWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMDiscountToSaveWindowController.m; sourceTree = "<group>"; };
-		654A5A8B2C8AE200001FBD4B /* KMAnalytics+KMExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KMAnalytics+KMExtensions.swift"; sourceTree = "<group>"; };
 		65D684052C6A250C003A532E /* KMWavyLineAnnotationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWavyLineAnnotationController.swift; sourceTree = "<group>"; };
 		65D6840B2C6A3669003A532E /* KMEraserAnnotationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMEraserAnnotationController.swift; sourceTree = "<group>"; };
 		65D88ED12C85826A00DD06E0 /* KMRSAUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRSAUtils.swift; sourceTree = "<group>"; };
 		65EF3A7C2C81C1F500CCFC8F /* KMVerificationRSA.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMVerificationRSA.swift; sourceTree = "<group>"; };
+		65FABB302C9AFB0C00AA92E5 /* KMSectionCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMSectionCellView.swift; sourceTree = "<group>"; };
+		65FABB342C9AFB1F00AA92E5 /* KMSectionCellView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMSectionCellView.xib; sourceTree = "<group>"; };
 		8931681F296D73CC0073EA59 /* KMSignatureAnnotationViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KMSignatureAnnotationViewController.h; sourceTree = "<group>"; };
 		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>"; };
@@ -8253,6 +8261,8 @@
 				BBA19F4629AE27DA001A285A /* KMAnnotationTableRowView.swift */,
 				BB3A66A62B078CA400575343 /* KMNoteOutlineView.swift */,
 				BB3A66AA2B078FB200575343 /* KMNoteTableViewCell.swift */,
+				65FABB302C9AFB0C00AA92E5 /* KMSectionCellView.swift */,
+				65FABB342C9AFB1F00AA92E5 /* KMSectionCellView.xib */,
 				BB4F7E882B0C55E70077EC8C /* KMFilterAuthorLabel.swift */,
 				BB4F7E942B0C857D0077EC8C /* KMNoteTypeCollectionViewItem.swift */,
 				BB4F7E982B0C858D0077EC8C /* KMNoteTypeCollectionViewItem.xib */,
@@ -14944,6 +14954,7 @@
 				AD85D1872AEF46DF000F4D28 /* KMHomeNOFileView.xib in Resources */,
 				BB3AAB9329878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.xib in Resources */,
 				ADD272D429B9CFE20032B5D6 /* KMLightNoNetworkView.xib in Resources */,
+				65FABB352C9AFB1F00AA92E5 /* KMSectionCellView.xib in Resources */,
 				9F8539E7294712D600DF644E /* KMChromiumTabContents.xib in Resources */,
 				BB04FD102B206F4000D80F7B /* KMPlanViewController.xib in Resources */,
 				ADFCEB642B4FBFC50001EBAF /* ad_cancel_button00@2x.png in Resources */,
@@ -15504,6 +15515,7 @@
 				BBB7898E2BE8BF2300F7E09C /* AIHeaderView.xib in Resources */,
 				BB0B2CD92B04AE560088FFD8 /* LeftSideView.xib in Resources */,
 				9F8810892B564E9700F69815 /* KMAnnotationButtonWidgetOptionsViewController.xib in Resources */,
+				65FABB362C9AFB1F00AA92E5 /* KMSectionCellView.xib in Resources */,
 				9F8539FA2947137500DF644E /* newtab_p.pdf in Resources */,
 				AD1FE81B2BD7C98300AA4A9B /* KMPDFMultiplePrintWindowController.xib in Resources */,
 				BB853C962AF8DCC7009C20C1 /* KMBatchOperateRemovePasswordViewController.xib in Resources */,
@@ -16044,6 +16056,7 @@
 				899700ED28F3E4D3009AF911 /* MainWindowController.xib in Resources */,
 				BB9007232B8DE85B00623B78 /* GeneralPreferences.xib in Resources */,
 				AD1D48152AFB1912007AC1F0 /* KMCompressView.xib in Resources */,
+				65FABB372C9AFB1F00AA92E5 /* KMSectionCellView.xib in Resources */,
 				BBD8EE922B8EC86900EB05FE /* AutoSavePopController.xib in Resources */,
 				BB072D632C05AC8F00779B45 /* KMToolbarConfigViewItem.xib in Resources */,
 				AD88109C29A78AEC00178CA1 /* KMVerificationCodeView.xib in Resources */,
@@ -16696,6 +16709,7 @@
 				9F02017E2A1BAC1600C9B673 /* KMAIRewritingVC.swift in Sources */,
 				BB96A0B82AFCE45800559E24 /* WaitingView.swift in Sources */,
 				AD1FE83E2BD7C98300AA4A9B /* KMPageRangeRecordTool.m in Sources */,
+				65FABB312C9AFB0C00AA92E5 /* KMSectionCellView.swift in Sources */,
 				9FCFECA02AD17B8A00EAD2CB /* SKProgressController.swift in Sources */,
 				89D9897428FE743E003A3E87 /* KMOutlineView.swift in Sources */,
 				AD5999362AD7D9C200412F8B /* KMPropertiesViewPopController.swift in Sources */,
@@ -18193,6 +18207,7 @@
 				ADE3C1E529A5ABC200793B13 /* KMLoginWindowController.swift in Sources */,
 				9F0CB4D62986551600007028 /* KMDesignToken+Spacing.swift in Sources */,
 				BB88106E2B4F771D00AFA63E /* KMVerificationInfoViewController.m in Sources */,
+				65FABB322C9AFB0C00AA92E5 /* KMSectionCellView.swift in Sources */,
 				BB4A948E2B04726A00940F8B /* KMOCTool.m in Sources */,
 				F3732324292DFFFE0013862C /* CPDFListView+Extension.m in Sources */,
 				ADB5E5132A371131007110A8 /* KMSubscribeWaterMarkWindowController.swift in Sources */,
@@ -19881,6 +19896,7 @@
 				9F1FE50429406E4700E952CA /* CTTabStripModelOrderController.m in Sources */,
 				AD61B7AD2A9DC6F600D346C1 /* KMResourceDownloadManager.swift in Sources */,
 				BB6013862AD3A0E300A76FB2 /* CPDFTextWidgetAnnotation+PDFListView.swift in Sources */,
+				65FABB332C9AFB0C00AA92E5 /* KMSectionCellView.swift in Sources */,
 				BB49ED00293F459500C82CA2 /* KMConvertPPTsWindowController.swift in Sources */,
 				BB0542172965705D00F2665C /* KMCropTipView.swift in Sources */,
 				BB89726F294DB67D0045787C /* KMWatermarkAdjectiveBaseView.swift in Sources */,