Browse Source

【编辑工具】压缩设置界面高保真

lizhe 1 week ago
parent
commit
e3c13d767c
19 changed files with 217 additions and 77 deletions
  1. 10 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/KMBatchOperateCompressSettingViewController.swift
  2. 14 6
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/KMBatchOperateCompressSettingViewController.xib
  3. 0 16
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/KMBatchOperateNewCompressViewController.swift
  4. 47 16
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/KMCompressSettingTableView.swift
  5. 19 18
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/KMCompressSettingTableView.xib
  6. 2 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/Model/KMCompressSettingModel.swift
  7. 19 0
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/Base/KMBaseCompressTableCellView.swift
  8. 14 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressDiscardPanelTableCellView.swift
  9. 4 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressDiscardPanelTableCellView.xib
  10. 15 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressFontsPanelTableCellView.swift
  11. 4 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressFontsPanelTableCellView.xib
  12. 14 2
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressImagesPanelTableCellView.swift
  13. 4 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressImagesPanelTableCellView.xib
  14. 14 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressModesTableCellView.swift
  15. 5 2
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressModesTableCellView.xib
  16. 4 0
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/View/KMBatchOperateCompressView.swift
  17. 1 1
      PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/View/KMBatchOperateCompressView.xib
  18. 3 0
      PDF Office/PDF Master/Class/PDFTools/Compress/View/KMCompressView.xib
  19. 24 8
      PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

+ 10 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/KMBatchOperateCompressSettingViewController.swift

@@ -11,14 +11,17 @@ typealias KMBatchOperateCompressSettingViewCancelAction = (_ controller: KMBatch
 typealias KMBatchOperateCompressSettingViewDoneAction = (_ controller: KMBatchOperateCompressSettingViewController ) -> Void
 
 class KMBatchOperateCompressSettingViewController: KMBaseViewController {
+    @IBOutlet weak var doneButton: KMButton!
+    @IBOutlet weak var cancelButton: KMButton!
+    
     var cancelAction: KMBatchOperateCompressSettingViewCancelAction?
     var doneAction: KMBatchOperateCompressSettingViewDoneAction?
     
+    
     override func viewDidLoad() {
         super.viewDidLoad()
         // Do view setup here.
     }
-    
 }
 
 extension KMBatchOperateCompressSettingViewController {
@@ -27,4 +30,10 @@ extension KMBatchOperateCompressSettingViewController {
         
         callBack(self)
     }
+    
+    @IBAction func doneButtonAction(_ sender: Any) {
+        guard let callBack = doneAction else { return }
+        
+        callBack(self)
+    }
 }

+ 14 - 6
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/KMBatchOperateCompressSettingViewController.xib

@@ -8,6 +8,8 @@
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="KMBatchOperateCompressSettingViewController" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
+                <outlet property="cancelButton" destination="sVB-3V-Y0k" id="WuD-aB-uY1"/>
+                <outlet property="doneButton" destination="eVt-ve-VmB" id="6fM-1p-W9A"/>
                 <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
             </connections>
         </customObject>
@@ -20,21 +22,27 @@
                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="fbx-YC-qHs" customClass="KMCompressSettingTableView" customModule="PDF_Reader_Pro" customModuleProvider="target">
                     <rect key="frame" x="20" y="64" width="584" height="429"/>
                 </customView>
-                <button translatesAutoresizingMaskIntoConstraints="NO" id="sVB-3V-Y0k" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                    <rect key="frame" x="499" y="20" width="60" height="16"/>
-                    <buttonCell key="cell" type="square" title="  Cancel  " bezelStyle="shadowlessSquare" imagePosition="left" inset="2" id="EYu-9c-4mc">
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sVB-3V-Y0k" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                    <rect key="frame" x="484" y="13" width="76" height="32"/>
+                    <buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="EYu-9c-4mc">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+Gw
+</string>
                     </buttonCell>
                     <connections>
                         <action selector="cancelButtonAction:" target="-2" id="upk-fU-fOC"/>
                     </connections>
                 </button>
-                <button translatesAutoresizingMaskIntoConstraints="NO" id="eVt-ve-VmB" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                    <rect key="frame" x="567" y="20" width="37" height="16"/>
-                    <buttonCell key="cell" type="square" title="  OK  " bezelStyle="shadowlessSquare" imagePosition="left" inset="2" id="pnh-3j-SVd">
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eVt-ve-VmB" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                    <rect key="frame" x="554" y="13" width="57" height="32"/>
+                    <buttonCell key="cell" type="push" title=" OK" bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="pnh-3j-SVd">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                         <font key="font" metaFont="system"/>
+                        <connections>
+                            <action selector="doneButtonAction:" target="-2" id="f06-fj-C04"/>
+                        </connections>
                     </buttonCell>
                 </button>
             </subviews>

+ 0 - 16
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/KMBatchOperateNewCompressViewController.swift

@@ -36,22 +36,6 @@ extension KMBatchOperateNewCompressViewController {
 
 //MARK: Action
 extension KMBatchOperateNewCompressViewController {
-    @IBAction func standardButtonAction(_ sender: NSButton) {
-        
-    }
-    
-    @IBAction func mobileButtonAction(_ sender: Any) {
-        
-    }
-    
-    @IBAction func customButtonAction(_ sender: Any) {
-        
-    }
-    
-    @IBAction func settingButtonAction(_ sender: Any) {
-        
-    }
-    
     @IBAction func compressButtonAction(_ sender: Any) {
         
     }

+ 47 - 16
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/KMCompressSettingTableView.swift

@@ -9,12 +9,20 @@ import Cocoa
 
 class KMCompressSettingTableView: KMBaseXibView {
     @IBOutlet weak var tableView: NSTableView!
+    @IBOutlet weak var scrollView: NSScrollView!
+    
     var datas: [KMCompressSettingModel] = []
         
     override func setup() {
         self.tableView.register(.init(nibNamed: "KMCompressModesTableCellView", bundle: nil), forIdentifier: .init("KMCompressModesTableCellView"))
         self.tableView.delegate = self
         self.tableView.dataSource = self
+        self.tableView.selectionHighlightStyle = .none
+        
+        self.scrollView.translatesAutoresizingMaskIntoConstraints = false
+        self.scrollView.hasVerticalScroller = true
+        self.scrollView.hasHorizontalScroller = false
+        self.scrollView.scrollerStyle = .overlay // 滚动条样式
     }
     
     override func reloadData() {
@@ -55,26 +63,49 @@ extension KMCompressSettingTableView: NSTableViewDelegate, NSTableViewDataSource
     }
     
     func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
-        var cell = tableView.makeView(withIdentifier: .init("KMCompressModesTableCellView"), owner: self)
-        if cell == nil {
-            cell = KMCompressModesTableCellView.createFromNib()
-//            cell?.wantsLayer = true
-//            cell?.layer?.backgroundColor = NSColor.red.cgColor
+        var cell: KMBaseCompressTableCellView?
+        if self.datas.count > row {
+            let model: KMCompressSettingModel = self.datas[row]
+            switch model.type {
+            case .modes:
+                cell = tableView.makeView(withIdentifier: .init("KMCompressModesTableCellView"), owner: self) as? KMBaseCompressTableCellView
+                if cell == nil {
+                    cell = KMCompressModesTableCellView.createFromNib()
+                }
+            case .images:
+                cell = tableView.makeView(withIdentifier: .init("KMCompressImagesPanelTableCellView"), owner: self) as? KMBaseCompressTableCellView
+                if cell == nil {
+                    cell = KMCompressImagesPanelTableCellView.createFromNib()
+                }
+            case .fonts:
+                cell = tableView.makeView(withIdentifier: .init("KMCompressFontsPanelTableCellView"), owner: self) as? KMBaseCompressTableCellView
+                if cell == nil {
+                    cell = KMCompressFontsPanelTableCellView.createFromNib()
+                }
+            case .discardObject:
+                cell = tableView.makeView(withIdentifier: .init("KMCompressDiscardPanelTableCellView"), owner: self) as? KMBaseCompressTableCellView
+                if cell == nil {
+                    cell = KMCompressDiscardPanelTableCellView.createFromNib()
+                }
+            case .discardUserData:
+                cell = tableView.makeView(withIdentifier: .init("KMCompressDiscardPanelTableCellView"), owner: self) as? KMBaseCompressTableCellView
+                if cell == nil {
+                    cell = KMCompressDiscardPanelTableCellView.createFromNib()
+                }
+            case .discardOtherData:
+                cell = tableView.makeView(withIdentifier: .init("KMCompressDiscardPanelTableCellView"), owner: self) as? KMBaseCompressTableCellView
+                if cell == nil {
+                    cell = KMCompressDiscardPanelTableCellView.createFromNib()
+                }
+            }
+            
+            cell?.model = model
+            
         }
-        
-        let cellView = cell as? KMUserListItemCellView
-        let model = self.datas[row]
-        
-//        cellView?.itemClick = { [weak self] idx in
-////            if idx == 1 { // remove
-////                self?.itemClick?(row, nil)
-////            }
-//        }
-        
         return cell
     }
     
     func tableView(_ tableView: NSTableView, heightOfRow row: Int) -> CGFloat {
-        return 60.0 // 自定义行高
+        return 200.0 // 自定义行高
     }
 }

+ 19 - 18
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/KMCompressSettingTableView.xib

@@ -8,7 +8,8 @@
     <objects>
         <customObject id="-2" userLabel="File's Owner" customClass="KMCompressSettingTableView" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <connections>
-                <outlet property="tableView" destination="PPS-7e-63R" id="bta-pk-zwv"/>
+                <outlet property="scrollView" destination="RhP-Ge-fDo" id="2hd-2k-FrI"/>
+                <outlet property="tableView" destination="f9b-l9-x5y" id="0y6-cU-H6M"/>
             </connections>
         </customObject>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
@@ -17,39 +18,39 @@
             <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="24" horizontalPageScroll="10" verticalLineScroll="24" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uEc-00-ld5">
+                <scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="24" horizontalPageScroll="10" verticalLineScroll="24" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RhP-Ge-fDo">
                     <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-                    <clipView key="contentView" drawsBackground="NO" id="c7L-kD-CkL">
+                    <clipView key="contentView" drawsBackground="NO" id="XXs-jS-2Ud">
                         <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" id="PPS-7e-63R">
+                            <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" id="f9b-l9-x5y">
                                 <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <size key="intercellSpacing" width="17" height="0.0"/>
                                 <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                <color key="gridColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                                <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
                                 <tableColumns>
-                                    <tableColumn identifier="AutomaticTableColumnIdentifier.0" width="448" minWidth="40" maxWidth="1000" id="hKn-bJ-8wV">
+                                    <tableColumn identifier="AutomaticTableColumnIdentifier.0" width="448" minWidth="40" maxWidth="1000" id="CU6-eA-Fn4">
                                         <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="M32-2f-JD0">
+                                        <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="Ftk-MS-rsh">
                                             <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 id="jMv-vF-rJQ">
+                                            <tableCellView id="rim-Bt-eCo">
                                                 <rect key="frame" x="18" y="0.0" width="443" height="24"/>
                                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                                 <subviews>
-                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="AEY-su-CLn">
+                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="aCn-mc-Jea">
                                                         <rect key="frame" x="0.0" y="4" width="443" height="16"/>
                                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
-                                                        <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="DAg-kI-cEq">
+                                                        <textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="Xf3-Ha-75D">
                                                             <font key="font" usesAppearanceFont="YES"/>
                                                             <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -57,7 +58,7 @@
                                                     </textField>
                                                 </subviews>
                                                 <connections>
-                                                    <outlet property="textField" destination="AEY-su-CLn" id="gt6-Zz-BFY"/>
+                                                    <outlet property="textField" destination="aCn-mc-Jea" id="ayE-Fc-qP8"/>
                                                 </connections>
                                             </tableCellView>
                                         </prototypeCellViews>
@@ -67,23 +68,23 @@
                         </subviews>
                         <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
                     </clipView>
-                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="c5f-Zr-Id7">
+                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="Kun-dU-Z5G" customClass="KMScroller" customModule="PDF_Reader_Pro" customModuleProvider="target">
                         <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="fZc-u8-tR5">
+                    <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="sEL-V3-Wm8" customClass="KMScroller" customModule="PDF_Reader_Pro" customModuleProvider="target">
                         <rect key="frame" x="224" y="17" width="15" height="102"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </scroller>
                 </scrollView>
             </subviews>
             <constraints>
-                <constraint firstAttribute="bottom" secondItem="uEc-00-ld5" secondAttribute="bottom" id="6Tr-B7-ukJ"/>
-                <constraint firstItem="uEc-00-ld5" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="7xb-kw-aqS"/>
-                <constraint firstAttribute="trailing" secondItem="uEc-00-ld5" secondAttribute="trailing" id="Ks7-FX-xYB"/>
-                <constraint firstItem="uEc-00-ld5" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="zMa-4c-z2a"/>
+                <constraint firstAttribute="bottom" secondItem="RhP-Ge-fDo" secondAttribute="bottom" id="9Lm-Dn-kTi"/>
+                <constraint firstItem="RhP-Ge-fDo" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="DxZ-BY-Vy4"/>
+                <constraint firstAttribute="trailing" secondItem="RhP-Ge-fDo" secondAttribute="trailing" id="EHx-Kg-rTA"/>
+                <constraint firstItem="RhP-Ge-fDo" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="wMR-0w-pj8"/>
             </constraints>
-            <point key="canvasLocation" x="-2" y="205"/>
+            <point key="canvasLocation" x="19" y="-72"/>
         </customView>
     </objects>
 </document>

+ 2 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/Model/KMCompressSettingModel.swift

@@ -53,7 +53,8 @@ struct KMCompressOtherDataOptions: OptionSet {
 
 class KMCompressSettingModel: NSObject {
     var title: String = ""
-    var discardType: KMCompressSettingPanelType = .modes
+    var type: KMCompressSettingPanelType = .modes
     var selectIndexSet: NSIndexSet = .init(index: 0)
     var content: Any? = nil
+    var heightOfRow = 30
 }

+ 19 - 0
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/Base/KMBaseCompressTableCellView.swift

@@ -0,0 +1,19 @@
+//
+//  KMBaseCompressTableCellView.swift
+//  PDF Reader Pro
+//
+//  Created by lizhe on 2024/11/19.
+//
+
+import Cocoa
+
+class KMBaseCompressTableCellView: NSTableCellView {
+    var model: KMCompressSettingModel?
+    
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 14 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressDiscardPanelTableCellView.swift

@@ -7,12 +7,25 @@
 
 import Cocoa
 
-class KMCompressDiscardPanelTableCellView: NSTableCellView {
+class KMCompressDiscardPanelTableCellView: KMBaseCompressTableCellView, NibLoadable {
 
+    @IBOutlet weak var titleLabel: NSTextField!
+    
+    override var model: KMCompressSettingModel? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    
     override func draw(_ dirtyRect: NSRect) {
         super.draw(dirtyRect)
 
         // Drawing code here.
     }
     
+    func reloadData() {
+        guard let model = model else { return }
+        
+        self.titleLabel.stringValue = NSLocalizedString(model.title, comment: "")
+    }
 }

+ 4 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressDiscardPanelTableCellView.xib

@@ -9,7 +9,7 @@
         <customObject id="-2" userLabel="File's Owner"/>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="c22-O7-iKe">
+        <customView id="c22-O7-iKe" customClass="KMCompressDiscardPanelTableCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
@@ -33,6 +33,9 @@
                 <constraint firstItem="0bg-Yr-4UM" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="hBz-hQ-5Y8"/>
                 <constraint firstAttribute="bottom" secondItem="lI3-GQ-szS" secondAttribute="bottom" constant="24" id="ops-h8-UXT"/>
             </constraints>
+            <connections>
+                <outlet property="titleLabel" destination="0bg-Yr-4UM" id="Av7-bk-Bgg"/>
+            </connections>
             <point key="canvasLocation" x="132" y="-72"/>
         </customView>
     </objects>

+ 15 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressFontsPanelTableCellView.swift

@@ -7,12 +7,26 @@
 
 import Cocoa
 
-class KMCompressFontsPanelTableCellView: NSTableCellView {
+class KMCompressFontsPanelTableCellView: KMBaseCompressTableCellView, NibLoadable {
 
+    @IBOutlet weak var titleLabel: NSTextField!
+    
+    override var model: KMCompressSettingModel? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    
     override func draw(_ dirtyRect: NSRect) {
         super.draw(dirtyRect)
 
         // Drawing code here.
     }
     
+    func reloadData() {
+        guard let model = model else { return }
+        
+        self.titleLabel.stringValue = NSLocalizedString(model.title, comment: "")
+    }
+    
 }

+ 4 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressFontsPanelTableCellView.xib

@@ -9,7 +9,7 @@
         <customObject id="-2" userLabel="File's Owner"/>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="c22-O7-iKe">
+        <customView id="c22-O7-iKe" customClass="KMCompressFontsPanelTableCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <rect key="frame" x="0.0" y="0.0" width="480" height="111"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
@@ -49,6 +49,9 @@
                 <constraint firstItem="sqs-WM-2DO" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="c7r-g0-6QK"/>
                 <constraint firstItem="fpb-rb-lmX" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="om6-KN-al7"/>
             </constraints>
+            <connections>
+                <outlet property="titleLabel" destination="fpb-rb-lmX" id="zSp-ex-yDG"/>
+            </connections>
             <point key="canvasLocation" x="132" y="-152.5"/>
         </customView>
     </objects>

+ 14 - 2
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressImagesPanelTableCellView.swift

@@ -7,12 +7,24 @@
 
 import Cocoa
 
-class KMCompressImagesPanelTableCellView: NSTableCellView {
-
+class KMCompressImagesPanelTableCellView: KMBaseCompressTableCellView, NibLoadable {
+    @IBOutlet weak var titleLabel: NSTextField!
+    
+    override var model: KMCompressSettingModel? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    
     override func draw(_ dirtyRect: NSRect) {
         super.draw(dirtyRect)
 
         // Drawing code here.
     }
     
+    func reloadData() {
+        guard let model = model else { return }
+        
+        self.titleLabel.stringValue = NSLocalizedString(model.title, comment: "")
+    }
 }

+ 4 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressImagesPanelTableCellView.xib

@@ -10,7 +10,7 @@
         <customObject id="-2" userLabel="File's Owner"/>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="c22-O7-iKe">
+        <customView id="c22-O7-iKe" customClass="KMCompressImagesPanelTableCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <rect key="frame" x="0.0" y="0.0" width="646" height="131"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
@@ -141,6 +141,9 @@
                 <constraint firstAttribute="bottom" secondItem="Znx-Wg-LS4" secondAttribute="bottom" constant="24" id="Ugn-mD-3Sd"/>
                 <constraint firstItem="Znx-Wg-LS4" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="sm8-Ad-wck"/>
             </constraints>
+            <connections>
+                <outlet property="titleLabel" destination="Ht4-BQ-Ga8" id="qMg-MO-MFT"/>
+            </connections>
             <point key="canvasLocation" x="100" y="17.5"/>
         </customView>
     </objects>

+ 14 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressModesTableCellView.swift

@@ -7,12 +7,25 @@
 
 import Cocoa
 
-class KMCompressModesTableCellView: NSTableCellView, NibLoadable {
+class KMCompressModesTableCellView: KMBaseCompressTableCellView, NibLoadable {
 
+    @IBOutlet weak var titleLabel: NSTextField!
+    
+    override var model: KMCompressSettingModel? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    
     override func draw(_ dirtyRect: NSRect) {
         super.draw(dirtyRect)
 
         // Drawing code here.
     }
     
+    func reloadData() {
+        guard let model = model else { return }
+        
+        self.titleLabel.stringValue = NSLocalizedString(model.title, comment: "")
+    }
 }

+ 5 - 2
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/SettingView/View/KMCompressModesTableCellView.xib

@@ -10,7 +10,7 @@
         <customObject id="-2" userLabel="File's Owner"/>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="c22-O7-iKe">
+        <customView id="c22-O7-iKe" customClass="KMCompressModesTableCellView" customModule="PDF_Reader_Pro" customModuleProvider="target">
             <rect key="frame" x="0.0" y="0.0" width="480" height="69"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
@@ -25,7 +25,7 @@
                                 <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                             </textFieldCell>
                         </textField>
-                        <box boxType="custom" borderType="none" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="mlf-dm-Y5U">
+                        <box boxType="custom" borderType="none" borderWidth="0.0" cornerRadius="2" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="mlf-dm-Y5U">
                             <rect key="frame" x="52" y="11" width="92" height="24"/>
                             <view key="contentView" id="TLY-f0-6YP">
                                 <rect key="frame" x="0.0" y="0.0" width="92" height="24"/>
@@ -53,6 +53,9 @@
                 <constraint firstItem="yHv-cb-JkX" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="ee5-SS-cOo"/>
                 <constraint firstAttribute="bottom" secondItem="yHv-cb-JkX" secondAttribute="bottom" constant="24" id="vjT-XX-HY8"/>
             </constraints>
+            <connections>
+                <outlet property="titleLabel" destination="Odo-EZ-jmE" id="3Ko-Zp-cC5"/>
+            </connections>
             <point key="canvasLocation" x="132" y="29.5"/>
         </customView>
     </objects>

+ 4 - 0
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/View/KMBatchOperateCompressView.swift

@@ -127,5 +127,9 @@ extension KMBatchOperateCompressView {
         controller.cancelAction = { resultControler in
             currentWindow.endSheet(window)
         }
+        
+        controller.doneAction = { resultControler in
+            currentWindow.endSheet(window)
+        }
     }
 }

+ 1 - 1
PDF Office/PDF Master/Class/Batch/WindowController/VC/Compress/View/KMBatchOperateCompressView.xib

@@ -65,7 +65,7 @@
                             </connections>
                         </button>
                         <button horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dJy-8r-7hO" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                            <rect key="frame" x="60" y="208" width="30" height="30"/>
+                            <rect key="frame" x="63" y="212" width="25" height="25"/>
                             <buttonCell key="cell" type="help" bezelStyle="helpButton" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="ktQ-hV-aX6">
                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                 <font key="font" metaFont="system"/>

+ 3 - 0
PDF Office/PDF Master/Class/PDFTools/Compress/View/KMCompressView.xib

@@ -39,6 +39,9 @@
 Gw
 </string>
                             </buttonCell>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="20" id="Xoi-SM-BgZ"/>
+                            </constraints>
                             <connections>
                                 <action selector="cancelButtonAction:" target="-2" id="gNl-ks-fY8"/>
                             </connections>

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

@@ -1464,6 +1464,12 @@
 		AD0FA51629A9FA8F00EDEB50 /* KMResetPasswordView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD0FA51529A9FA8F00EDEB50 /* KMResetPasswordView.xib */; };
 		AD0FA51729A9FA8F00EDEB50 /* KMResetPasswordView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD0FA51529A9FA8F00EDEB50 /* KMResetPasswordView.xib */; };
 		AD0FA51829A9FA8F00EDEB50 /* KMResetPasswordView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD0FA51529A9FA8F00EDEB50 /* KMResetPasswordView.xib */; };
+		AD188B8A2CEC3F75006BB8A6 /* KMCompressSettingTableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD188B892CEC3F75006BB8A6 /* KMCompressSettingTableView.xib */; };
+		AD188B8B2CEC3F75006BB8A6 /* KMCompressSettingTableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD188B892CEC3F75006BB8A6 /* KMCompressSettingTableView.xib */; };
+		AD188B8C2CEC3F75006BB8A6 /* KMCompressSettingTableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD188B892CEC3F75006BB8A6 /* KMCompressSettingTableView.xib */; };
+		AD188B8F2CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD188B8E2CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift */; };
+		AD188B902CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD188B8E2CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift */; };
+		AD188B912CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD188B8E2CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift */; };
 		AD199DDD2B200FA300D56FEE /* KMPrintPosterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD199DDC2B200FA300D56FEE /* KMPrintPosterView.swift */; };
 		AD199DDE2B200FA300D56FEE /* KMPrintPosterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD199DDC2B200FA300D56FEE /* KMPrintPosterView.swift */; };
 		AD199DDF2B200FA300D56FEE /* KMPrintPosterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD199DDC2B200FA300D56FEE /* KMPrintPosterView.swift */; };
@@ -2269,9 +2275,6 @@
 		ADC59B962CE74DCA002F819D /* KMCompressSettingTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC59B952CE74DCA002F819D /* KMCompressSettingTableView.swift */; };
 		ADC59B972CE74DCA002F819D /* KMCompressSettingTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC59B952CE74DCA002F819D /* KMCompressSettingTableView.swift */; };
 		ADC59B982CE74DCA002F819D /* KMCompressSettingTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC59B952CE74DCA002F819D /* KMCompressSettingTableView.swift */; };
-		ADC59B9A2CE74F0E002F819D /* KMCompressSettingTableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC59B992CE74F0E002F819D /* KMCompressSettingTableView.xib */; };
-		ADC59B9B2CE74F0E002F819D /* KMCompressSettingTableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC59B992CE74F0E002F819D /* KMCompressSettingTableView.xib */; };
-		ADC59B9C2CE74F0E002F819D /* KMCompressSettingTableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADC59B992CE74F0E002F819D /* KMCompressSettingTableView.xib */; };
 		ADC59B9F2CEAE124002F819D /* KMCompressModesTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC59B9E2CEAE124002F819D /* KMCompressModesTableCellView.swift */; };
 		ADC59BA02CEAE124002F819D /* KMCompressModesTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC59B9E2CEAE124002F819D /* KMCompressModesTableCellView.swift */; };
 		ADC59BA12CEAE124002F819D /* KMCompressModesTableCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC59B9E2CEAE124002F819D /* KMCompressModesTableCellView.swift */; };
@@ -6273,6 +6276,8 @@
 		AD0FA50D29A9E75000EDEB50 /* KMLoginInputPasswordView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMLoginInputPasswordView.xib; sourceTree = "<group>"; };
 		AD0FA51129A9FA8600EDEB50 /* KMResetPasswordView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMResetPasswordView.swift; sourceTree = "<group>"; };
 		AD0FA51529A9FA8F00EDEB50 /* KMResetPasswordView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMResetPasswordView.xib; sourceTree = "<group>"; };
+		AD188B892CEC3F75006BB8A6 /* KMCompressSettingTableView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCompressSettingTableView.xib; sourceTree = "<group>"; };
+		AD188B8E2CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBaseCompressTableCellView.swift; sourceTree = "<group>"; };
 		AD199DDC2B200FA300D56FEE /* KMPrintPosterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintPosterView.swift; sourceTree = "<group>"; };
 		AD199DE02B200FB000D56FEE /* KMPrintPosterView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPrintPosterView.xib; sourceTree = "<group>"; };
 		AD199DE62B230A9300D56FEE /* KMPrintMultipageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintMultipageView.swift; sourceTree = "<group>"; };
@@ -6566,7 +6571,6 @@
 		ADC59B8B2CE73726002F819D /* KMBatchOperateNewCompressViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchOperateNewCompressViewController.swift; sourceTree = "<group>"; };
 		ADC59B8C2CE73726002F819D /* KMBatchOperateNewCompressViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatchOperateNewCompressViewController.xib; sourceTree = "<group>"; };
 		ADC59B952CE74DCA002F819D /* KMCompressSettingTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCompressSettingTableView.swift; sourceTree = "<group>"; };
-		ADC59B992CE74F0E002F819D /* KMCompressSettingTableView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCompressSettingTableView.xib; sourceTree = "<group>"; };
 		ADC59B9E2CEAE124002F819D /* KMCompressModesTableCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCompressModesTableCellView.swift; sourceTree = "<group>"; };
 		ADC59BA22CEAE140002F819D /* KMCompressModesTableCellView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCompressModesTableCellView.xib; sourceTree = "<group>"; };
 		ADC59BA62CEAE155002F819D /* KMCompressImagesPanelTableCellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCompressImagesPanelTableCellView.swift; sourceTree = "<group>"; };
@@ -9546,6 +9550,14 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		AD188B8D2CEC7F37006BB8A6 /* Base */ = {
+			isa = PBXGroup;
+			children = (
+				AD188B8E2CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift */,
+			);
+			path = Base;
+			sourceTree = "<group>";
+		};
 		AD199DE42B2075A500D56FEE /* Multipage */ = {
 			isa = PBXGroup;
 			children = (
@@ -10771,7 +10783,7 @@
 				ADC59BC72CEB2907002F819D /* Model */,
 				ADC59B9D2CEADD87002F819D /* View */,
 				ADC59B952CE74DCA002F819D /* KMCompressSettingTableView.swift */,
-				ADC59B992CE74F0E002F819D /* KMCompressSettingTableView.xib */,
+				AD188B892CEC3F75006BB8A6 /* KMCompressSettingTableView.xib */,
 			);
 			path = SettingView;
 			sourceTree = "<group>";
@@ -10779,6 +10791,7 @@
 		ADC59B9D2CEADD87002F819D /* View */ = {
 			isa = PBXGroup;
 			children = (
+				AD188B8D2CEC7F37006BB8A6 /* Base */,
 				ADC59B9E2CEAE124002F819D /* KMCompressModesTableCellView.swift */,
 				ADC59BA22CEAE140002F819D /* KMCompressModesTableCellView.xib */,
 				ADC59BA62CEAE155002F819D /* KMCompressImagesPanelTableCellView.swift */,
@@ -15379,6 +15392,7 @@
 				BB6DD80F29347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				ADE86AC32B034C7100414DFA /* KMBackgroundWindowController.xib in Resources */,
 				9FF816E12AFA5BA80087EFC5 /* KMAnnotationTableViewController.xib in Resources */,
+				AD188B8A2CEC3F75006BB8A6 /* KMCompressSettingTableView.xib in Resources */,
 				BBFD2B162AEFAC9C0016C456 /* KMBatchOperateBaseViewController.xib in Resources */,
 				AD867FAA29DFB78200F00440 /* KMAnnotationOutlineView.xib in Resources */,
 				BBC821E32B0D9F72004B7E8E /* KMStampCreaterWindowController.xib in Resources */,
@@ -15453,7 +15467,6 @@
 				ADB5E51E2A3711DF007110A8 /* KMSubscribeWaterMarkView.xib in Resources */,
 				9F1F82B7292DEF370092C4B4 /* KMCloudDocumentsViewController.xib in Resources */,
 				BB1B0B072B4FC6E900889528 /* KMGuideCoverView.xib in Resources */,
-				ADC59B9A2CE74F0E002F819D /* KMCompressSettingTableView.xib in Resources */,
 				AD1CA4142A061CCD0070541F /* KMAnnotationScreenColorViewItem.xib in Resources */,
 				AD68783829A60FC0005B5210 /* KMLoginView.xib in Resources */,
 				9F853A022947137500DF644E /* default-icon.pdf in Resources */,
@@ -15957,6 +15970,7 @@
 				ADDF83512B391A5C00A81A4E /* CDSignatureCertificateCustomViewController.xib in Resources */,
 				ADE8BC2B29F7CDB000570F89 /* KMPageNumberDisplayView.xib in Resources */,
 				BB65A05E2AF8BF2A003A27A0 /* NotesPreferences.xib in Resources */,
+				AD188B8B2CEC3F75006BB8A6 /* KMCompressSettingTableView.xib in Resources */,
 				BB1B0AEA2B4FC6E900889528 /* KMFunctionGuideMultiController.xib in Resources */,
 				ADBC374D29CAD65D00D93208 /* KMComparativeOutlineCell.xib in Resources */,
 				BBB789C12BE8BF2400F7E09C /* AIChatView.xib in Resources */,
@@ -16031,7 +16045,6 @@
 				8942F7FC2926089200389627 /* KMSignatureViewController.xib in Resources */,
 				BBA922392B4E97540061057A /* KMPurchaseFirstTrialWindowController.xib in Resources */,
 				AD5374962C65A426002DE248 /* default.metallib in Resources */,
-				ADC59B9B2CE74F0E002F819D /* KMCompressSettingTableView.xib in Resources */,
 				9F080B18298CFDB300FC27DA /* KMTextImageButtonVC.xib in Resources */,
 				9F02019A2A1F352100C9B673 /* KMAITranslationConfirmWindowController.xib in Resources */,
 				ADE86A8E2B02269400414DFA /* KMRemovePasswordWindowController.xib in Resources */,
@@ -16509,6 +16522,7 @@
 				BBD922352B50D61200DB9585 /* KMRateWindowController.xib in Resources */,
 				BB1E7F2E2B4FE2C6002D9785 /* GuideInfoImages.xcassets in Resources */,
 				BBC745EF295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
+				AD188B8C2CEC3F75006BB8A6 /* KMCompressSettingTableView.xib in Resources */,
 				BBAFC84F298519F700D0648E /* KMSavePanelAccessoryController.xib in Resources */,
 				BBEC00C4295C306400A26C98 /* KMBatesPropertyController.xib in Resources */,
 				ADDF83A62B391A5D00A81A4E /* DSignatureConfigWindowController.xib in Resources */,
@@ -16525,7 +16539,6 @@
 				9F1F82B9292DEF370092C4B4 /* KMCloudDocumentsViewController.xib in Resources */,
 				ADBC374729CAD2D300D93208 /* SF-Pro-Text-Bold.otf in Resources */,
 				ADDF83402B391A5C00A81A4E /* KMPDFDigitalSignViewController.xib in Resources */,
-				ADC59B9C2CE74F0E002F819D /* KMCompressSettingTableView.xib in Resources */,
 				ADAFDA7B2AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */,
 				BB6BA4CA2B0B4A4200462CAE /* KMLeftSideEmptyFileViewController.xib in Resources */,
 				BB2F615D2966B69D001CB369 /* KMWatermarkPropertyHomeController.xib in Resources */,
@@ -17292,6 +17305,7 @@
 				BB981E552AD4F638001988CA /* KMPageIndicator.swift in Sources */,
 				AD0E8AB42A31B78900DBFD3C /* KMDMGPurchaseManager.swift in Sources */,
 				9FDD0FB229534FEA000C4DAD /* KMGlobal.swift in Sources */,
+				AD188B8F2CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift in Sources */,
 				9F1FE49329406E4700E952CA /* common.m in Sources */,
 				9FF371C92C69A9E2005F9CC5 /* CPDFPolylineAnnotation+PDFListView.swift in Sources */,
 				AD055E712B8732E00035F824 /* SKDictionaryFormatter.m in Sources */,
@@ -18865,6 +18879,7 @@
 				BB0FE0472B734DD1001E0F88 /* AIInfoConfig.swift in Sources */,
 				BB4A94A52B04DA0C00940F8B /* KMGOCRManagerNew.swift in Sources */,
 				BB0A823329C00400002C5C1B /* KMCommonEnum.swift in Sources */,
+				AD188B902CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift in Sources */,
 				BB3198132AC5142900107371 /* NSMenu+KMExtension.swift in Sources */,
 				9FF0D0592B6A43750018A732 /* KMPDFAnnotationButtonWidgetSub.swift in Sources */,
 				ADB2D6FA294882AE0029D2B3 /* KMTextFieldStepperView.swift in Sources */,
@@ -19771,6 +19786,7 @@
 				ADC63E392A49813E00854E02 /* KMSubscribeSuccessWindowController.swift in Sources */,
 				BBC348042955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift in Sources */,
 				AD9527DD2952EE700039D2BC /* KMPrintPage_C.swift in Sources */,
+				AD188B912CEC7F6A006BB8A6 /* KMBaseCompressTableCellView.swift in Sources */,
 				9FDD0FB9295D5230000C4DAD /* KMToolbarController.swift in Sources */,
 				ADE614AE29779C5200F62ED7 /* KMImageTitleButton.swift in Sources */,
 				9F1F82F0293609F60092C4B4 /* CPDFDocument+PageEditManager.swift in Sources */,