Browse Source

【综合】背景模块删除之前的代码

tangchao 10 months ago
parent
commit
e300f1a9ac
18 changed files with 0 additions and 1807 deletions
  1. 0 304
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundController.swift
  2. 0 22
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundController.xib
  3. 0 268
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundFilePropertyInfoController.swift
  4. 0 111
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundFilePropertyInfoController.xib
  5. 0 103
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundListController.swift
  6. 0 19
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundListController.xib
  7. 0 166
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyController.swift
  8. 0 22
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyController.xib
  9. 0 119
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyHomeController.swift
  10. 0 22
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyHomeController.xib
  11. 0 203
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyInfoController.swift
  12. 0 111
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyInfoController.xib
  13. 0 66
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMCreateBackgroundController.swift
  14. 0 22
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMCreateBackgroundController.xib
  15. 0 98
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMEditBackgroundController.swift
  16. 0 22
      PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMEditBackgroundController.xib
  17. 0 1
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift
  18. 0 128
      PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

+ 0 - 304
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundController.swift

@@ -1,304 +0,0 @@
-//
-//  KMBackgroundController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/23.
-//
-
-import Cocoa
-/// 背景 预览控制器
-class KMBackgroundController: KMWatermarkAdjectivePreViewBaseController {
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-        let itemTitles = [[NSLocalizedString("Add Background", comment: ""), NSLocalizedString("Delete Background", comment: "")], [NSLocalizedString("Batch", comment: "")]]
-        var itemModels: Array<Array<KMWatermarkAdjectiveTopBarItemModel>> = []
-        for items in itemTitles {
-            var array: Array<KMWatermarkAdjectiveTopBarItemModel> = []
-            for title in items {
-                let model = KMWatermarkAdjectiveTopBarItemModel()
-                model.iconName = ""
-                model.itemTitle = title
-                array.append(model)
-            }
-            itemModels.append(array)
-        }
-        
-        self.topBarView.initItemData(itemArrays: itemModels)
-        self.topBarView.selectTopItem(index: 0)
-        
-        let preView: KMWatermarkPDFView_OC = KMWatermarkPDFView_OC()
-        self.preView = preView
-        self.preView.frame = self.preViewBox.contentView!.bounds
-        self.preView.autoresizingMask = [.width, .height]
-        self.preViewBox.contentView?.addSubview(self.preView)
-        self.preView.setDisplay(.singlePage)
-        
-        let controller = KMBackgroundPropertyHomeController()
-        controller.preView = self.preView
-        controller.view.frame = self.rightBox.contentView!.bounds
-        controller.view.autoresizingMask = [.width, .height]
-        self.right_gotoViewController(viewController: controller)
-        controller.modelDidChange = { [weak self] model in
-            if (model == nil) {
-                self!.topBarView.isCanApply(can: false)
-            } else {
-                self!.topBarView.isCanApply(can: true)
-            }
-            
-            self!.model = model 
-            self!.model?.pageCount = Int((self?.preView.document.pageCount)!)
-            (self?.preView as! KMWatermarkPDFView_OC).model = model
-        }
-    }
-    
-    override func viewDidAppear() {
-        super.viewDidAppear()
-        
-        (self.rightViewController as! KMBackgroundPropertyHomeController).pageCount = Int(self.preView.document.pageCount)
-    }
-    
-    override func applyAction() {
-        if (self.model == nil) {
-            let alert = NSAlert()
-            alert.alertStyle = .critical
-            alert.messageText = NSLocalizedString("Failure", comment: "")
-            alert.runModal()
-            return
-        }
-        self.beginLoading()
-        self.addBackground(model: self.model! as! KMBackgroundModel, toPath: self.preView.document.documentURL.path) {
-            result in
-            DispatchQueue.main.async {
-                self.preView.layoutDocumentView()
-                self.preView.setNeedsDisplayForVisiblePages()
-            }
-            self.endLoading()
-            if (result) {
-                guard let callback = self.itemClick else {
-                    return
-                }
-                callback(1, nil)
-            } else {
-                let alert = NSAlert()
-                alert.alertStyle = .critical
-                alert.messageText =  NSLocalizedString("Failure", comment: "")
-                alert.runModal()
-            }
-        }
-    }
-    
-    override func topItemClick(index: Int) {
-        if (index == 0) { /// 添加
-            return
-        }
-        if (index == 2) { /// 批量
-//            KMBatchWindowController.openFile(nil, .Background)
-            return
-        }
- 
-        /// 移除
-        self.beginLoading()
-        self.deleteBackground(toPath: self.preView.document.documentURL.path) {
-            result in
-            self.endLoading()
-            if (result) {
-                DispatchQueue.main.async {
-                    self.preView.document = CPDFDocument(url: self.preView.document.documentURL)
-                }
-            } else {
-                let alert = NSAlert()
-                alert.alertStyle = .critical
-                alert.messageText =  NSLocalizedString("Failure", comment: "")
-                alert.runModal()
-            }
-        }
-    }
-    
-    func gotoPropertyListController() {
-        let propertyController = KMBackgroundPropertyController()
-        propertyController.preView = self.preView
-        propertyController.view.frame = self.rightBox.contentView!.bounds
-        propertyController.view.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        
-        self.right_gotoViewController(viewController: propertyController)
-        
-        propertyController.rightButtonClick = {
-            (index: Int) -> () in
-            
-            /// 创建背景
-            self.gotoCreateController()
-        }
-        
-        propertyController.menuItemClick = {
-            (itemIndex: Int, model: KMBackgroundModel) in
-            self.gotoEditController(model: model)
-            
-        }
-        
-        propertyController.templateDidSelected = {
-            (model: KMBackgroundModel, isSelected: Bool) in
-            if (isSelected) {
-                self.model = model
-                self.topBarView.isCanApply(can: true)
-            } else {
-                self.model = nil
-                self.topBarView.isCanApply(can: false)
-            }
-        }
-    }
-    
-    func gotoCreateController() {
-        let createController = KMCreateBackgroundController()
-        createController.view.frame = self.rightBox.contentView!.bounds
-        createController.view.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        createController.preView = self.preView
-        
-        self.topBarView.isCanApply(can: true)
-        
-        self.right_gotoViewController(viewController: createController)
-        
-        createController.backClick = {
-            self.gotoPropertyListController()
-        }
-        
-        createController.rightButtonClick = {
-            (index: Int) -> () in
-            /// 保存到模板
-            let templateModel = (self.rightViewController as! KMCreateBackgroundController).fetchTemplate()
-            
-            let result = KMBackgroundManager.defaultManager.addTemplate(model: templateModel as! KMBackgroundModel)
-            if (result) {
-                /// 返回模板列表
-                self.gotoPropertyListController()
-                let propertyConroller: KMBackgroundPropertyController = self.rightViewController as! KMBackgroundPropertyController
-                if (index == 0) { /// 颜色
-                    propertyConroller.selectTabIndex(index: 0)
-                } else if (index == 1) { /// 文件
-                    propertyConroller.selectTabIndex(index: 1)
-                }
-            }
-        }
-//        createController.modelDidChange = {
-//            (model: KMBackgroundModel) in
-            
-            /// 模型已经修改,可以再这里刷新预览视图
-//            self.model = model
-//        }
-    }
-    
-    func gotoEditController(model: KMBackgroundModel) {
-        let editController = KMEditBackgroundController()
-        editController.view.frame = self.rightBox.contentView!.bounds
-        editController.view.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        editController.editModel = model
-        
-        self.right_gotoViewController(viewController: editController)
-        
-        editController.backClick = {
-            let editController: KMEditBackgroundController = self.rightViewController as! KMEditBackgroundController
-            if (editController.isEdited) {
-                KMBackgroundManager.defaultManager.updateTemplate(model: editController.editModel)
-            }
-            
-            self.gotoPropertyListController()
-        }
-    }
-    
-    func addBackground(model: KMBackgroundModel, toPath: String, completion: @escaping (_ result: Bool) -> ()) {
-        DispatchQueue.global().async {
-            let document: CPDFDocument = self.applyDocument!
-            var property = document.background()
-            
-            property!.scale = model.scale
-            property!.rotation = CGFloat(-model.rotation)
-            property!.opacity = model.opacity
-            property?.xOffset = model.horizontalSpace
-            property?.yOffset = model.verticalSpace
-            property?.horizontalAlignment = UInt(model.horizontalMode)
-            property?.verticalAlignment = UInt(model.verticalMode)
-            
-            if (model.type == .color) {
-                property?.color = model.color
-                property?.type = .color
-            } else if (model.type == .file) {
-                property?.setImage(NSImage(contentsOfFile: model.imagePath))
-//                property?.setImage(model.image)
-                property?.type = .image
-            }
-
-            let pagesString = self.findPagesString(model)
-            if (pagesString.isEmpty) {
-                property?.pageString = "0-\(document.pageCount-1)"
-            } else {
-                property?.pageString = pagesString
-            }
-            property?.update()
-            
-            /// 保存到临时路径
-            let documentPath = NSTemporaryDirectory()
-            let tempPath: String = "\(documentPath)/\(toPath.lastPathComponent)"
-            if (FileManager.default.fileExists(atPath: tempPath)) {
-                try?FileManager.default.removeItem(atPath: tempPath)
-            }
-            
-            let result = document.write(to: URL(fileURLWithPath: tempPath))
-            if (result) {
-                if (FileManager.default.fileExists(atPath: toPath)) {
-                    try?FileManager.default.removeItem(atPath: toPath)
-                }
-                
-                try?FileManager.default.moveItem(atPath: tempPath, toPath: toPath)
-            } else {
-                try?FileManager.default.removeItem(atPath: tempPath)
-            }
-            
-            DispatchQueue.main.async {
-                completion(result)
-            }
-        }
-    }
-    
-    func deleteBackground(toPath: String, completion: @escaping (_ result: Bool) -> ()) {
-        if (self.preView.document.allowsPrinting == false || self.preView.document.allowsCopying == false) {
-            let alert = NSAlert()
-            alert.alertStyle = .critical
-            alert.messageText = NSLocalizedString("This PDF document's user permissions does not allow modifying, content copying and printing.", comment: "")
-            alert.runModal()
-            
-            completion(false)
-            return
-        }
-        
-        DispatchQueue.global().async {
-            let document: CPDFDocument = self.preView.document
-            var property = document.background()
-            property?.clear()
-            
-            /// 保存到临时路径
-            let documentPath = NSTemporaryDirectory()
-            let tempPath: String = "\(documentPath)/\(toPath.lastPathComponent)"
-            if (FileManager.default.fileExists(atPath: tempPath)) {
-                try?FileManager.default.removeItem(atPath: tempPath)
-            }
-            
-            let result = document.write(to: URL(fileURLWithPath: tempPath))
-            if (result) {
-                if (FileManager.default.fileExists(atPath: toPath)) {
-                    try?FileManager.default.removeItem(atPath: toPath)
-                }
-                
-                try?FileManager.default.moveItem(atPath: tempPath, toPath: toPath)
-            } else {
-                try?FileManager.default.removeItem(atPath: tempPath)
-            }
-            
-            DispatchQueue.main.async {
-                completion(result)
-            }
-        }
-    }
-    
-}
-

+ 0 - 22
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundController.xib

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBackgroundController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <point key="canvasLocation" x="28" y="-36"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 268
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundFilePropertyInfoController.swift

@@ -1,268 +0,0 @@
-//
-//  KMBackgroundFilePropertyInfoController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/25.
-//
-
-import Cocoa
-
-class KMBackgroundFilePropertyInfoController: NSViewController {
-
-    @IBOutlet weak var selectFileBox: NSBox!
-    var fileInfoView: KMWatermarkFileView = KMWatermarkFileView.createFromNib()!
-    @IBOutlet weak var outsideBox: NSBox!
-    var outsideView: KMWatermarkAdjectiveOutsideView = KMBackgroundOutsideView()
-    @IBOutlet weak var positionBox: NSBox!
-    var positionView: KMWatermarkAdjectivePositionView = KMWatermarkAdjectivePositionView.createFromNib()!
-    @IBOutlet weak var pageRangeBox: NSBox!
-    var pagePageView = KMConvertPageRangeSettingItemView.createFromNib()
-    
-    weak var delegate: KMBackgroundPropertyInfoDelegate!
-    
-    private var myModel: KMBackgroundModel!
-    var model: KMBackgroundModel {
-        get {
-            return myModel
-        }
-        set {
-            myModel = newValue
-            
-            self.outsideView.rComboBox.stringValue = "\(abs(Int(-newValue.rotation)))"
-            self.outsideView.alphaComboBox.stringValue = "\(Int(newValue.opacity*100))%"
-            self.outsideView.pageTargetScaleComboBox.stringValue = "\(Int(newValue.scale*100))"
-            
-            if (newValue.horizontalMode == 0) {
-                if (model.verticalMode == 0) {
-                    self.positionView.myPositionView.selectPosition(positon: .leftTop)
-                } else if (model.verticalMode == 1) {
-                    self.positionView.myPositionView.selectPosition(positon: .top)
-                } else if (model.verticalMode == 2) {
-                    self.positionView.myPositionView.selectPosition(positon: .rightTop)
-                }
-            }
-            
-            if (newValue.horizontalMode == 1) {
-                if (model.verticalMode == 0) {
-                    self.positionView.myPositionView.selectPosition(positon: .leftMiddle)
-                } else if (model.verticalMode == 1) {
-                    self.positionView.myPositionView.selectPosition(positon: .middle)
-                } else if (model.verticalMode == 2) {
-                    self.positionView.myPositionView.selectPosition(positon: .rightMiddle)
-                }
-            }
-            
-            if (newValue.horizontalMode == 2) {
-                if (model.verticalMode == 0) {
-                    self.positionView.myPositionView.selectPosition(positon: .leftBottom)
-                } else if (model.verticalMode == 1) {
-                    self.positionView.myPositionView.selectPosition(positon: .bottom)
-                } else if (model.verticalMode == 2) {
-                    self.positionView.myPositionView.selectPosition(positon: .rightBottom)
-                }
-            }
-            
-            self.positionView.xOffsetStepper.value = newValue.horizontalSpace
-            self.positionView.yOffsetStepper.value = newValue.verticalSpace
-        }
-    }
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        self.outsideBox.enclosingScrollView?.drawsBackground = false
-        
-        var infoView = self.fileInfoView
-        infoView.frame = self.selectFileBox.contentView!.bounds
-        infoView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.selectFileBox.contentView?.addSubview(infoView)
-        
-        self.outsideBox.isHidden = true
-        self.positionBox.isHidden = true
-        self.pageRangeBox.isHidden = true
-        
-        infoView.itemClick = { [weak self] (itemID: Int, itemValue: Any) in
-            let panel = NSOpenPanel()
-            panel.allowsMultipleSelection = false
-            panel.allowedFileTypes = ["pdf", "png", "jpeg"]
-            panel.beginSheetModal(for: self!.view.window!) {
-                response in
-                if response == .cancel {
-                    return
-                }
-                
-                self!.fileInfoView.tipLabel.stringValue = panel.url!.lastPathComponent
-                self!.outsideBox.isHidden = false
-                self!.positionBox.isHidden = false
-                self!.pageRangeBox.isHidden = false
-                
-                if (panel.url?.pathExtension.lowercased() == "pdf") {
-                    let document = CPDFDocument(url: panel.url)
-                    if ((document?.isEncrypted)!) {
-                        return
-                    }
-                    
-                    let convert = KMPDFConvert()
-                    convert.convertType = .png
-                    convert.filePath = panel.url!.path
-                    convert.pages = [1]
-                    convert.outputFolderPath = (NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.applicationSupportDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last?.stringByAppendingPathComponent(Bundle.main.bundleIdentifier!))!
-                    convert.outputFileName = "pdfConvertPng"
-                    KMPDFConvertManager.defaultManager.convert(convert: convert) { finished, error in
-                        if (finished) {
-                            if (FileManager.default.fileExists(atPath: convert.outputFilePath)) {
-                                let tagString = self!.tagString()
-                                let imagePath: String = (FileManager.default.subpaths(atPath: convert.outputFilePath)?.first)!
-                                var pdfPath: String = "\(convert.outputFilePath)/\(imagePath)"
-                                let newPath: String = "\(convert.outputFilePath)/\(tagString))/\(tagString).png"
-                                
-                                let result = try?FileManager.default.copyItem(atPath: pdfPath, toPath: newPath)
-                                if ((result) != nil) {
-                                    pdfPath = newPath
-                                    try?FileManager.default.removeItem(atPath: convert.outputFilePath)
-                                }
-                                
-                                let image = NSImage(contentsOfFile: pdfPath)
-                                if (image!.size.width <= 0 || image!.size.height <= 0 ) {
-                                    let alert = NSAlert()
-                                    alert.alertStyle = .critical
-                                    alert.messageText = "文件\(panel.url?.lastPathComponent)已损坏"
-                                    alert.runModal()
-                                    return
-                                }
-                                
-                                self!.model.color = nil
-                                self!.model.imagePath = panel.url!.path
-                                self!.model.image = image
-                                
-                                if (self!.delegate != nil) {
-                                    self!.delegate.propertyInfoDidChange(model: self!.model)
-                                }
-                            }
-                        }
-                    }
-                } else {
-                    let image = NSImage(contentsOf: panel.url!)
-                    if (image!.size.width <= 0 || image!.size.height <= 0 ) {
-                        let alert = NSAlert()
-                        alert.alertStyle = .critical
-                        alert.messageText = "文件\(panel.url?.lastPathComponent)已损坏"
-                        alert.runModal()
-                        return
-                    }
-
-                    self!.model.imagePath = panel.url!.path
-                    self!.model.image = image
-                    
-                    if (self!.delegate != nil) {
-                        self!.delegate.propertyInfoDidChange(model: self!.model)
-                    }
-                }
-            }
-        }
-        
-        let outsideView = self.outsideView
-        outsideView.frame = self.outsideBox.contentView!.bounds
-        outsideView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.outsideBox.contentView?.addSubview(outsideView)
-        outsideView.itemClick = { [weak self] (itemID: Int, itemValue: Any) in
-            if (itemID == 1) { /// 旋转
-                self!.model.rotation = CGFloat(-(itemValue as! Int))
-            } else if (itemID == 2) { /// 透明度
-                self!.model.opacity = CGFloat(itemValue as! Int)/100.0
-            } else if (itemID == 4) { /// 缩放
-                self!.model.scale = CGFloat((itemValue as! Int))/100.0
-            }
-            
-            if (self!.delegate != nil) {
-                self!.delegate.propertyInfoDidChange(model: self!.model)
-            }
-        }
-        
-        let positionView = self.positionView
-        positionView.frame = self.positionBox.contentView!.bounds
-        positionView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.positionBox.contentView?.addSubview(positionView)
-        
-        positionView.itemClick = { [weak self] (itemID: Int, itemValue: Any) in
-            if (itemID == 1) {
-                let position: KMWatermarkPosition = itemValue as! KMWatermarkPosition
-                if (position == .leftTop || position == .top || position == .rightTop) {
-                    self!.model.verticalMode = 0
-                } else if (position == .leftMiddle || position == .middle || position == .rightMiddle) {
-                    self!.model.verticalMode = 1
-                } else if (position == .leftBottom || position == .bottom || position == .rightBottom) {
-                    self!.model.verticalMode = 2
-                }
-                if (position == .leftTop || position == .leftMiddle || position == .leftBottom) {
-                    self!.model.horizontalMode = 0
-                } else if (position == .top || position == .middle || position == .bottom) {
-                    self!.model.horizontalMode = 1
-                } else if (position == .rightTop || position == .rightMiddle || position == .rightBottom) {
-                    self!.model.horizontalMode = 2
-                }
-            } else if (itemID == 2) {
-                self!.model.horizontalSpace = CGFloat(itemValue as! Double)
-            } else if (itemID == 3) {
-                self!.model.verticalSpace =  CGFloat(itemValue as! Double)
-            }
-            
-            if (self!.delegate != nil) {
-                self!.delegate.propertyInfoDidChange(model: self!.model)
-            }
-        }
-        
-        let pageRangeView = self.pagePageView
-        pageRangeView?.frame = self.pageRangeBox.contentView!.bounds
-        pageRangeView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.pageRangeBox.contentView?.addSubview(pageRangeView!)
-        pageRangeView!.pageSizeComboBox.removeAllItems()
-        pageRangeView!.pageSizeComboBox.addItems(withObjectValues: [NSLocalizedString("All Pages", comment: ""), NSLocalizedString("Odd Pages", comment: ""), NSLocalizedString("Even Pages", comment: ""), NSLocalizedString("Customized", comment: "")])
-        pageRangeView!.pageSizeComboBox.selectItem(at: 0)
-        
-        pageRangeView?.isTextDidEndCallback = true
-        
-        pageRangeView?.itemClick = { [unowned self] index, _ in
-            self.model.pageRangeType = KMWatermarkeModelPageRangeType(rawValue: index)!
-            
-            if (self.delegate != nil) {
-                self.delegate.propertyInfoDidChange(model: self.model)
-            }
-        }
-        
-        pageRangeView?.textDidEndEditingCallback = { [weak self] (textString: String) in
-            let array = KMPageRangeTools.findSelectPage(pageRangeString: textString, pageCount: self!.model.pageCount)
-            if (array.count <= 0) {
-                let alert = NSAlert()
-                alert.alertStyle = .warning
-                alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
-                alert.runModal()
-                return
-            }
-
-            var pageString: String = ""
-            for i in 0 ..< array.count {
-                pageString.append("\(array[i]-1)")
-
-                if (i != array.count-1) {
-                    pageString.append(",")
-                }
-            }
-            self!.model.pageRangeString = pageString
-            
-            if (self!.delegate != nil) {
-                self!.delegate.propertyInfoDidChange(model: self!.model)
-            }
-        }
-    }
-    
-    private func tagString() -> String {
-        var result: String = ""
-        
-        let dateFormatter = DateFormatter()
-        dateFormatter.dateFormat = "yyMMddHHmmss"
-        result.append(dateFormatter.string(from: Date()))
-        result = result.appendingFormat("%04d", arc4random()%10000)
-        
-        return result
-    }
-}

+ 0 - 111
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundFilePropertyInfoController.xib

@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBackgroundFilePropertyInfoController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="outsideBox" destination="urv-mF-sHi" id="1a1-Z2-Qel"/>
-                <outlet property="pageRangeBox" destination="Qwr-2H-2Dm" id="M7u-tW-CD1"/>
-                <outlet property="positionBox" destination="PFs-ns-EZB" id="EEB-cw-sdG"/>
-                <outlet property="selectFileBox" destination="kYc-Cb-chu" id="Z0k-Mp-h4X"/>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="260" height="450"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <subviews>
-                <scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="r9r-84-F8Y">
-                    <rect key="frame" x="0.0" y="0.0" width="260" height="450"/>
-                    <clipView key="contentView" id="8Mw-oC-Z6e">
-                        <rect key="frame" x="0.0" y="0.0" width="260" height="450"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view id="700-y4-WEm">
-                                <rect key="frame" x="0.0" y="0.0" width="245" height="435"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                <subviews>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="kYc-Cb-chu">
-                                        <rect key="frame" x="0.0" y="391" width="245" height="44"/>
-                                        <view key="contentView" id="m5l-UW-MxM">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="44"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="44" id="R7K-aS-WvB"/>
-                                        </constraints>
-                                    </box>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="urv-mF-sHi">
-                                        <rect key="frame" x="0.0" y="251" width="245" height="140"/>
-                                        <view key="contentView" id="XdW-qH-fXM">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="140"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="140" id="FXl-fF-KMe"/>
-                                        </constraints>
-                                    </box>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="PFs-ns-EZB">
-                                        <rect key="frame" x="0.0" y="111" width="245" height="140"/>
-                                        <view key="contentView" id="Kwf-Qx-W5D">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="140"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="140" id="GSC-pS-m9r"/>
-                                        </constraints>
-                                    </box>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="Qwr-2H-2Dm">
-                                        <rect key="frame" x="0.0" y="31" width="245" height="80"/>
-                                        <view key="contentView" id="ilF-SU-Q11">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="80"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="80" id="hRw-9O-4P8"/>
-                                        </constraints>
-                                    </box>
-                                </subviews>
-                                <constraints>
-                                    <constraint firstAttribute="trailing" secondItem="Qwr-2H-2Dm" secondAttribute="trailing" id="6ii-ES-VSu"/>
-                                    <constraint firstItem="kYc-Cb-chu" firstAttribute="top" secondItem="700-y4-WEm" secondAttribute="top" id="7jL-Fn-BmX"/>
-                                    <constraint firstItem="urv-mF-sHi" firstAttribute="top" secondItem="kYc-Cb-chu" secondAttribute="bottom" id="Ann-sj-e4c"/>
-                                    <constraint firstItem="Qwr-2H-2Dm" firstAttribute="leading" secondItem="700-y4-WEm" secondAttribute="leading" id="Cr6-7X-fQg"/>
-                                    <constraint firstItem="PFs-ns-EZB" firstAttribute="leading" secondItem="700-y4-WEm" secondAttribute="leading" id="GDC-uc-iC1"/>
-                                    <constraint firstAttribute="trailing" secondItem="kYc-Cb-chu" secondAttribute="trailing" id="ITY-h7-siU"/>
-                                    <constraint firstItem="urv-mF-sHi" firstAttribute="leading" secondItem="700-y4-WEm" secondAttribute="leading" id="Qc3-zO-4ou"/>
-                                    <constraint firstAttribute="trailing" secondItem="urv-mF-sHi" secondAttribute="trailing" id="R7V-dH-bbq"/>
-                                    <constraint firstItem="PFs-ns-EZB" firstAttribute="top" secondItem="urv-mF-sHi" secondAttribute="bottom" id="XZH-TW-bXj"/>
-                                    <constraint firstItem="Qwr-2H-2Dm" firstAttribute="top" secondItem="PFs-ns-EZB" secondAttribute="bottom" id="Ys3-wN-cDd"/>
-                                    <constraint firstItem="kYc-Cb-chu" firstAttribute="leading" secondItem="700-y4-WEm" secondAttribute="leading" id="gGC-aX-uQL"/>
-                                    <constraint firstAttribute="trailing" secondItem="PFs-ns-EZB" secondAttribute="trailing" id="w8Q-tb-uQY"/>
-                                </constraints>
-                            </view>
-                        </subviews>
-                    </clipView>
-                    <scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="hmB-5k-HLe">
-                        <rect key="frame" x="0.0" y="434" width="260" height="16"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                    <scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="Q02-hz-yG5">
-                        <rect key="frame" x="244" y="0.0" width="16" height="450"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                </scrollView>
-            </subviews>
-            <constraints>
-                <constraint firstItem="r9r-84-F8Y" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="1hn-6n-3VG"/>
-                <constraint firstItem="r9r-84-F8Y" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="7VN-Do-3Jo"/>
-                <constraint firstAttribute="bottom" secondItem="r9r-84-F8Y" secondAttribute="bottom" id="Gur-E4-aXB"/>
-                <constraint firstAttribute="trailing" secondItem="r9r-84-F8Y" secondAttribute="trailing" id="hLN-40-Ikw"/>
-            </constraints>
-            <point key="canvasLocation" x="27" y="154"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 103
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundListController.swift

@@ -1,103 +0,0 @@
-//
-//  KMBackgroundListController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/23.
-//
-
-import Cocoa
-
-class KMBackgroundListController: KMWatermarkAdjectiveListController {
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-    }
-    
-    override func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
-        var cellView = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "cellID"), owner: self)
-        if (cellView == nil) {
-            cellView = KMBackgroundListCell()
-        }
-        
-        let listCellView: KMBackgroundListCell = cellView! as! KMBackgroundListCell
-        
-        let model: KMBackgroundModel = self.datas[row] as! KMBackgroundModel
-        if (self.selectedTemplateID == model.backgroundID) {
-            listCellView.isSelected(selected: true)
-        } else {
-            listCellView.isSelected(selected: false)
-        }
-        
-        listCellView.frontImageView.image = model.drawImage(rect: NSMakeRect(0, 0, 128, 116))
-        listCellView.frontImageView.imageScaling = .scaleAxesIndependently
-        
-        listCellView.bottomBarClick = { [weak self] (index: Int) in
-            if (row < 0 || row >= self!.datas.count) {
-                return
-            }
-            
-            if (self!.delegate == nil) {
-                if (index == 2) {
-                    self!.datas.remove(at: row)
-                    self!.tableView.reloadData()
-                }
-                return
-            }
-            
-            
-            if (index == 1) { /// 编辑
-                let result = self!.delegate.controller?(controller: self!, shouldEditAtRow : row)
-                if (result == nil || result!) {
-                    self!.delegate.controller?(controller: self!, didEditAtRow: row)
-                } 
-            } else if (index == 2) { /// 删除
-                let result = self!.delegate.controller?(controller: self!, shouldRemoveAtRow: row)
-                if (result == nil || result!) {
-                    self!.delegate.controller?(controller: self!, didRemoveAtRow: row)
-                }
-            }
-        }
-        
-        listCellView.itemClick = { [weak self] (index: Int) in
-            if (self!.delegate != nil) {
-                if (self!.delegate.controller!(controller: self!, shouldSelectAtRow: row)) {
-                    let templateModel: KMBackgroundModel =  self!.datas[row] as! KMBackgroundModel
-                    if (self!.selectedTemplateID != templateModel.backgroundID) {
-                        self!.selectedTemplateID = templateModel.backgroundID
-                    } else {
-                        self!.selectedTemplateID = ""
-                    }
-                    
-                    self!.tableView.reloadData()
-                    
-                    self!.delegate.controller!(controller: self!, didSelectAtRow: row)
-                } else {
-                    self!.selectedTemplateID = ""
-                }
-            } else {
-                let templateModel: KMBackgroundModel =  self!.datas[row] as! KMBackgroundModel
-                if (self!.selectedTemplateID != templateModel.backgroundID) {
-                    self!.selectedTemplateID = templateModel.backgroundID
-                } else {
-                    self!.selectedTemplateID = ""
-                }
-                self!.tableView.reloadData()
-            }
-        }
-
-        return cellView
-    }
-    
-    override func initDatas(datas: Array<AnyObject>) {
-        self.datas.removeAll()
-        
-        for model in datas {
-            self.datas.append(model)
-        }
-        
-        self.refreshUI()
-    }
-
-}
-

+ 0 - 19
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundListController.xib

@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11134" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11134"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBackgroundListController" customModuleProvider="target">
-            <connections>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 166
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyController.swift

@@ -1,166 +0,0 @@
-//
-//  KMBackgroundPropertyController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/23.
-//
-
-import Cocoa
-
-protocol KMBackgroundPropertyDelegate: KMWatermarkAdjectivePropertyDelegate {
-    
-}
-
-typealias KMBackgroundPropertyTemplateDidSelected = (_ model: KMBackgroundModel,_ isSelected: Bool)->()
-typealias KMBackgroundPropertyTemplateMenuItemClick = (_ itemIndex: Int,  _ model: KMBackgroundModel)->()
-class KMBackgroundPropertyController: KMWatermarkAdjectivePropertyBaseController {
-
-    var templateDidSelected: KMBackgroundPropertyTemplateDidSelected!
-    var menuItemClick: KMBackgroundPropertyTemplateMenuItemClick!
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-        self.showBack(show: false)
-        self.titleLabel.stringValue = NSLocalizedString("Background", comment: "")
-        self.segementControl.items = [NSLocalizedString("Color", comment: ""),NSLocalizedString("File", comment: "")]
-        self.segementControl.itemClick = {
-            [self] (index: Int) in
-            self.tabView.selectTabViewItem(at: index)
-        }
-        
-        let item = NSTabViewItem(identifier: "tabID")
-        item.label = "tab1";
-        let controller = KMBackgroundListController()
-        item.viewController = controller
-        controller.emptyView.despLabel.stringValue = NSLocalizedString("Click the Add button in the upper right corner to create a new background.", comment: "")
-        controller.delegate = self
-        
-        let item2 = NSTabViewItem(identifier: "tablID2")
-        item2.label = "tab2";
-        let controller2 = KMBackgroundListController()
-        item2.viewController = controller2
-        controller2.emptyView.despLabel.stringValue = NSLocalizedString("Click the Add button in the upper right corner to create a new background.", comment: "")
-        controller2.delegate = self
-        
-        self.tabView.addTabViewItem(item)
-        self.tabView.addTabViewItem(item2)
-        
-        childViewController.append(controller)
-        childViewController.append(controller2)
-        
-        reloadDatas()
-    }
-    
-    func findTemplateModel(in controller: KMBackgroundListController, index: Int) -> KMBackgroundModel? {
-        if (index >= controller.datas.count) {
-            return nil
-        }
-        
-        return (controller.datas[index] as! KMBackgroundModel)
-    }
-    
-    func deleteTemplateModel(_ templateModel: KMBackgroundModel) -> Bool {
-        return KMBackgroundManager.defaultManager.deleteTemplate(model: templateModel)
-    }
-    
-    func deleteTemplateModel(in controller: KMBackgroundListController, index: Int) {
-        if (index >= controller.datas.count) {
-            return
-        }
-        
-        let templateModel: KMBackgroundModel = controller.datas[index] as! KMBackgroundModel
-        if (deleteTemplateModel(templateModel)) { /// 删除成功,刷新数据
-            reloadDatas()
-        }
-    }
-    
-    func deleteAllTemplateModel(in controller: KMBackgroundListController) {
-        if (controller.isEqual(to: childViewController.first)) {
-            if (KMBackgroundManager.defaultManager.deleteAllColorTemplates()) {
-                reloadDatas()
-            }
-        } else {
-            if (KMBackgroundManager.defaultManager.deleteAllFileTemplates()) {
-                reloadDatas()
-            }
-        }
-    }
-    
-    func reloadDatas () {
-        var colorModels: Array<KMBackgroundModel> = []
-        var fileModels: Array<KMBackgroundModel> = []
-        for model in KMBackgroundManager.defaultManager.datas {
-            if (model.type == .file) { /// 文件
-                fileModels.append(model)
-            } else { /// 颜色
-                colorModels.append(model)
-            }
-        }
-        
-        var count: Int = 0
-        for controller in childViewController {
-            let listController: KMBackgroundListController = controller as! KMBackgroundListController
-            if (count == 0) {
-                listController.initDatas(datas: colorModels)
-            } else {
-                listController.initDatas(datas: fileModels)
-            }
-            count += 1
-        }
-    }
-}
-
-extension KMBackgroundPropertyController: KMWatermarkAdjectiveListControllerDelegate {
-    func controller(controller: KMWatermarkAdjectiveListController, shouldSelectAtRow: Int) -> Bool {
-        return true
-    }
-    func controller(controller: KMWatermarkAdjectiveListController, didSelectAtRow: Int) {
-        guard let callback = templateDidSelected else {
-            return
-        }
-        
-        let isSelected = controller.selectedTemplateID.isEmpty == false
-        callback(findTemplateModel(in: controller as! KMBackgroundListController, index: didSelectAtRow)!, isSelected)
-    }
-    
-    func controller(controller: KMWatermarkAdjectiveListController, didRemoveAtRow: Int) {
-        deleteTemplateModel(in: controller as! KMBackgroundListController, index: didRemoveAtRow)
-    }
-    
-    func controller(controller: KMWatermarkAdjectiveListController, didEditAtRow: Int) {
-        guard let callback = menuItemClick else {
-            return
-        }
-        
-        callback(2, findTemplateModel(in: controller as! KMBackgroundListController, index: didEditAtRow)!)
-    }
-    
-    func controller(controller: KMWatermarkAdjectiveListController, item: NSMenuItem, itemIndex: Int) {
-        if (itemIndex == 1) { /// 删除
-            deleteTemplateModel(in: controller as! KMBackgroundListController, index: item.tag)
-            return
-        }
-        
-        if (itemIndex == 2) { /// 删除全部
-            let alert = NSAlert()
-            alert.messageText = "确认删除全部模板吗?"
-            alert.addButton(withTitle: "删除")
-            alert.addButton(withTitle: "取消")
-            let result = alert.runModal()
-            if (result == .alertSecondButtonReturn) { /// 取消
-                return
-            }
-            
-            deleteAllTemplateModel(in: controller as! KMBackgroundListController)
-            return
-        }
-        
-        /// 编辑
-        guard let callback = menuItemClick else {
-            return
-        }
-        
-        callback(2, findTemplateModel(in: controller as! KMBackgroundListController, index: item.tag)!)
-    }
-}

+ 0 - 22
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyController.xib

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBackgroundPropertyController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <point key="canvasLocation" x="132" y="-72"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 119
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyHomeController.swift

@@ -1,119 +0,0 @@
-//
-//  KMBackgroundPropertyHomeController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2023/1/5.
-//
-
-import Cocoa
-
-/// 背景 属性主控制器
-class KMBackgroundPropertyHomeController: KMWatermarkAdjectivePropertyMainController {
-
-    var preView: CPDFView!
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-    }
- 
-    override func gotoHomeController(_ selectedModelID: String) {
-        let propertyController = KMBackgroundPropertyController()
-        propertyController.preView = self.preView
-        
-        self.showController(propertyController)
-        
-        propertyController.rightButtonClick = { [weak self] index in
-            
-            /// 创建背景
-            self!.gotoCreateController()
-        }
-        
-        propertyController.menuItemClick = { [weak self] index, model in
-            self?.gotoEditController(model)
-        }
-        
-        propertyController.templateDidSelected = { [weak self] model, isSelected in
-            if (isSelected) {
-                self?.model = model
-            } else {
-                self?.model = nil
-            }
-            
-            guard let callback = self?.modelDidChange else {
-                return
-            }
-
-            callback(self?.model)
-        }
-    }
-    
-    override func gotoCreateController() {
-        let createController = KMCreateBackgroundController()
-        createController.delegate = self
-        
-        createController.preView = self.preView
-        
-        self.showController(createController)
-        
-        createController.backClick = { [weak self] in
-            self?.gotoHomeController("")
-        }
-        
-        createController.rightButtonClick = { [weak self] index in
-            /// 保存到模板
-            let templateModel = (self!.currentController as! KMCreateBackgroundController).fetchTemplate()
-            
-            let result = KMBackgroundManager.defaultManager.addTemplate(model: templateModel as! KMBackgroundModel)
-            if (result) {
-                /// 返回模板列表
-                self?.gotoHomeController("")
-                let propertyConroller: KMBackgroundPropertyController = self!.currentController as! KMBackgroundPropertyController
-                if (index == 0) { /// 颜色
-                    propertyConroller.selectTabIndex(index: 0)
-                } else if (index == 1) { /// 文件
-                    propertyConroller.selectTabIndex(index: 1)
-                }
-            }
-        }
-        
-        self.model = createController.fetchTemplate() as! KMBackgroundModel
-        guard let callback = self.modelDidChange else {
-            return
-        }
-
-        callback(self.model)
-    }
-    
-    override func gotoEditController(_ model: KMWatermarkAdjectiveBaseModel) {
-        let editController = KMEditBackgroundController()
-        editController.editModel = model as! KMBackgroundModel
-        editController.flagModel = model.copy() as AnyObject
-        
-        self.showController(editController)
-        
-        editController.backClick = { [weak self] in
-            let editController: KMEditBackgroundController = self!.currentController as! KMEditBackgroundController
-            if (editController.isEdited) {
-                KMBackgroundManager.defaultManager.updateTemplate(model: editController.editModel)
-            }
-            
-            self?.gotoHomeController("")
-        }
-        
-        editController.rightButtonClick = { [weak self] index in
-            let editController: KMEditBackgroundController = self!.currentController as! KMEditBackgroundController
-            editController.resume()
-        }
-    }
-}
-
-extension KMBackgroundPropertyHomeController: KMWatermarkAdjectivePropertyDelegate {
-    func propertyInfoDidChange(model: AnyObject) {
-        self.model = (model as! KMBackgroundModel)
-        guard let callback = self.modelDidChange else {
-            return
-        }
-
-        callback(self.model!)
-    }
-}

+ 0 - 22
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyHomeController.xib

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBackgroundPropertyHomeController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <point key="canvasLocation" x="132" y="-72"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 203
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyInfoController.swift

@@ -1,203 +0,0 @@
-//
-//  KMBackgroundPropertyInfoController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/23.
-//
-
-import Cocoa
-
-protocol KMBackgroundPropertyInfoDelegate: NSObjectProtocol {
-    func propertyInfoDidChange(model: KMBackgroundModel)
-}
-
-class KMBackgroundPropertyInfoController: NSViewController {
-    
-    @IBOutlet weak var colorBox: NSBox!
-    var colorView = KMBackgroundColorView()
-    @IBOutlet weak var outsideBox: NSBox!
-    var outsideView = KMBackgroundOutsideView()
-    @IBOutlet weak var positionBox: NSBox!
-    var positionView = KMWatermarkAdjectivePositionView.createFromNib()
-    @IBOutlet weak var pageRangeBox: NSBox!
-    var pagePageView = KMConvertPageRangeSettingItemView.createFromNib()
-    
-    weak var delegate: KMBackgroundPropertyInfoDelegate!
-    
-    private var myModel: KMBackgroundModel!
-    var model: KMBackgroundModel {
-        get {
-            return myModel
-        }
-        set {
-            myModel = newValue
-            
-            self.colorView.color = newValue.color!
-            
-            self.outsideView.rComboBox.stringValue = "\(abs(Int(-newValue.rotation)))"
-            self.outsideView.alphaComboBox.stringValue = "\(Int(newValue.opacity*100))%"
-            self.outsideView.pageTargetScaleComboBox.stringValue = "\(Int(newValue.scale*100))"
-            
-            if (newValue.horizontalMode == 0) {
-                if (model.verticalMode == 0) {
-                    self.positionView?.myPositionView.selectPosition(positon: .leftTop)
-                } else if (model.verticalMode == 1) {
-                    self.positionView?.myPositionView.selectPosition(positon: .top)
-                } else if (model.verticalMode == 2) {
-                    self.positionView?.myPositionView.selectPosition(positon: .rightTop)
-                }
-            }
-            
-            if (newValue.horizontalMode == 1) {
-                if (model.verticalMode == 0) {
-                    self.positionView?.myPositionView.selectPosition(positon: .leftMiddle)
-                } else if (model.verticalMode == 1) {
-                    self.positionView?.myPositionView.selectPosition(positon: .middle)
-                } else if (model.verticalMode == 2) {
-                    self.positionView?.myPositionView.selectPosition(positon: .rightMiddle)
-                }
-            }
-            
-            if (newValue.horizontalMode == 2) {
-                if (model.verticalMode == 0) {
-                    self.positionView?.myPositionView.selectPosition(positon: .leftBottom)
-                } else if (model.verticalMode == 1) {
-                    self.positionView?.myPositionView.selectPosition(positon: .bottom)
-                } else if (model.verticalMode == 2) {
-                    self.positionView?.myPositionView.selectPosition(positon: .rightBottom)
-                }
-            }
-            
-            self.positionView!.xOffsetStepper.value = newValue.horizontalSpace
-            self.positionView!.yOffsetStepper.value = newValue.verticalSpace
-        }
-    }
-
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        self.outsideBox.enclosingScrollView?.drawsBackground = false
-        
-        let colorView = self.colorView
-        colorView.frame = self.colorBox.contentView!.bounds
-        colorView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.colorBox.contentView?.addSubview(colorView)
-        self.colorView = colorView
-        colorView.itemClick = { [weak self] (index: Int, color: NSColor) in
-            self!.model.color = color
-            
-            if (self!.delegate != nil) {
-                self!.delegate.propertyInfoDidChange(model: self!.model)
-            }
-        }
-        colorView.colorPlateClick = { [weak self] in
-            let panel = NSColorPanel.shared
-            panel.setTarget(self!)
-            panel.setAction(#selector(self!.colorPanelAction))
-            panel.orderFront(nil)
-        }
-        
-        let outsideView = self.outsideView
-        outsideView.frame = self.outsideBox.contentView!.bounds
-        outsideView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.outsideBox.contentView?.addSubview(outsideView)
-        outsideView.itemClick = { [weak self] (itemID: Int, itemValue: Any) in
-            if (itemID == 1) { /// 旋转
-                self!.model.rotation = CGFloat(-(itemValue as! Int))
-            } else if (itemID == 2) { /// 透明度
-                self!.model.opacity = CGFloat(itemValue as! Int)/100.0
-            } else if (itemID == 4) { /// 缩放
-                self!.model.scale = CGFloat((itemValue as! Int))/100.0
-            }
-            
-            if (self!.delegate != nil) {
-                self!.delegate.propertyInfoDidChange(model: self!.model)
-            }
-        }
-        
-        let positionView = self.positionView
-        positionView?.frame = self.positionBox.contentView!.bounds
-        positionView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.positionBox.contentView?.addSubview(positionView!)
-        
-        positionView?.itemClick = { [weak self] (itemID: Int, itemValue: Any) in
-            if (itemID == 1) {
-                let position: KMWatermarkPosition = itemValue as! KMWatermarkPosition
-                if (position == .leftTop || position == .top || position == .rightTop) {
-                    self!.model.verticalMode = 0
-                } else if (position == .leftMiddle || position == .middle || position == .rightMiddle) {
-                    self!.model.verticalMode = 1
-                } else if (position == .leftBottom || position == .bottom || position == .rightBottom) {
-                    self!.model.verticalMode = 2
-                }
-                if (position == .leftTop || position == .leftMiddle || position == .leftBottom) {
-                    self!.model.horizontalMode = 0
-                } else if (position == .top || position == .middle || position == .bottom) {
-                    self!.model.horizontalMode = 1
-                } else if (position == .rightTop || position == .rightMiddle || position == .rightBottom) {
-                    self!.model.horizontalMode = 2
-                }
-            } else if (itemID == 2) {
-                self!.model.horizontalSpace = CGFloat(itemValue as! Double)
-            } else if (itemID == 3) {
-                self!.model.verticalSpace =  CGFloat(itemValue as! Double)
-            }
-            
-            if (self!.delegate != nil) {
-                self!.delegate.propertyInfoDidChange(model: self!.model)
-            }
-        }
-        
-        let pageRangeView = self.pagePageView
-        pageRangeView?.frame = self.pageRangeBox.contentView!.bounds
-        pageRangeView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.pageRangeBox.contentView?.addSubview(pageRangeView!)
-        pageRangeView!.pageSizeComboBox.removeAllItems()
-        pageRangeView!.pageSizeComboBox.addItems(withObjectValues: [NSLocalizedString("All Pages", comment: ""), NSLocalizedString("Odd Pages", comment: ""), NSLocalizedString("Even Pages", comment: ""), NSLocalizedString("Customized", comment: "")])
-        pageRangeView!.pageSizeComboBox.selectItem(at: 0)
-        
-        pageRangeView?.isTextDidEndCallback = true
-        
-        pageRangeView?.itemClick = { [unowned self] index, _ in
-            self.model.pageRangeType = KMWatermarkeModelPageRangeType(rawValue: index)!
-            
-            if (self.delegate != nil) {
-                self.delegate.propertyInfoDidChange(model: self.model)
-            }
-        }
-        
-        pageRangeView?.textDidEndEditingCallback = { [weak self] (textString: String) in
-            let array = KMPageRangeTools.findSelectPage(pageRangeString: textString, pageCount: self!.model.pageCount)
-            if (array.count <= 0) {
-                let alert = NSAlert()
-                alert.alertStyle = .warning
-                alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
-                alert.runModal()
-                return
-            }
-
-            var pageString: String = ""
-            for i in 0 ..< array.count {
-                pageString.append("\(array[i]-1)")
-
-                if (i != array.count-1) {
-                    pageString.append(",")
-                }
-            }
-            self!.model.pageRangeString = pageString
-            
-            if (self!.delegate != nil) {
-                self!.delegate.propertyInfoDidChange(model: self!.model)
-            }
-        }
-    }
-    
-    @objc func colorPanelAction(sender: NSColorPanel) {
-        self.model.color = sender.color
-        
-        self.colorView.colorView.layer?.backgroundColor = sender.color.cgColor
-        self.colorView.dealItemViewsSelected(itemID: -1)
-        if (self.delegate != nil) {
-            self.delegate.propertyInfoDidChange(model: self.model)
-        }
-    }
-}

+ 0 - 111
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMBackgroundPropertyInfoController.xib

@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMBackgroundPropertyInfoController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="colorBox" destination="R7E-lJ-PJO" id="CAr-cf-nFx"/>
-                <outlet property="outsideBox" destination="qP5-oQ-sQC" id="1ug-bQ-NON"/>
-                <outlet property="pageRangeBox" destination="Zpi-ah-hq0" id="brO-bb-cOD"/>
-                <outlet property="positionBox" destination="wnF-Zc-K1k" id="Dec-oO-643"/>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="260" height="458"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <subviews>
-                <scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6yh-at-Tgr">
-                    <rect key="frame" x="0.0" y="0.0" width="260" height="458"/>
-                    <clipView key="contentView" id="mYp-GD-0R3">
-                        <rect key="frame" x="0.0" y="0.0" width="260" height="458"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <view id="VVq-Q6-hyg">
-                                <rect key="frame" x="0.0" y="0.0" width="245" height="443"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                <subviews>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="R7E-lJ-PJO">
-                                        <rect key="frame" x="0.0" y="373" width="245" height="70"/>
-                                        <view key="contentView" id="XOW-PV-CQe">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="70"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="70" id="D7O-6H-GtY"/>
-                                        </constraints>
-                                    </box>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="qP5-oQ-sQC">
-                                        <rect key="frame" x="0.0" y="233" width="245" height="140"/>
-                                        <view key="contentView" id="Ljf-XO-sS6">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="140"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="140" id="EcF-ch-E2Z"/>
-                                        </constraints>
-                                    </box>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="wnF-Zc-K1k">
-                                        <rect key="frame" x="0.0" y="93" width="245" height="140"/>
-                                        <view key="contentView" id="FkF-LD-MV5">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="140"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="140" id="U4G-SP-q75"/>
-                                        </constraints>
-                                    </box>
-                                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="Zpi-ah-hq0">
-                                        <rect key="frame" x="0.0" y="13" width="245" height="80"/>
-                                        <view key="contentView" id="NHe-a9-3iw">
-                                            <rect key="frame" x="0.0" y="0.0" width="245" height="80"/>
-                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        </view>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="80" id="e7b-q6-DSU"/>
-                                        </constraints>
-                                    </box>
-                                </subviews>
-                                <constraints>
-                                    <constraint firstAttribute="trailing" secondItem="R7E-lJ-PJO" secondAttribute="trailing" id="2m7-jb-Mlh"/>
-                                    <constraint firstItem="wnF-Zc-K1k" firstAttribute="leading" secondItem="VVq-Q6-hyg" secondAttribute="leading" id="72G-Qu-h8L"/>
-                                    <constraint firstItem="Zpi-ah-hq0" firstAttribute="leading" secondItem="VVq-Q6-hyg" secondAttribute="leading" id="GC4-j2-H5X"/>
-                                    <constraint firstItem="qP5-oQ-sQC" firstAttribute="top" secondItem="R7E-lJ-PJO" secondAttribute="bottom" id="HHH-xu-URp"/>
-                                    <constraint firstItem="wnF-Zc-K1k" firstAttribute="top" secondItem="qP5-oQ-sQC" secondAttribute="bottom" id="PK9-5E-QjI"/>
-                                    <constraint firstItem="qP5-oQ-sQC" firstAttribute="leading" secondItem="VVq-Q6-hyg" secondAttribute="leading" id="SqH-8e-6cd"/>
-                                    <constraint firstItem="R7E-lJ-PJO" firstAttribute="leading" secondItem="VVq-Q6-hyg" secondAttribute="leading" id="lq2-HC-Lry"/>
-                                    <constraint firstItem="R7E-lJ-PJO" firstAttribute="top" secondItem="VVq-Q6-hyg" secondAttribute="top" id="mh0-Uc-W0e"/>
-                                    <constraint firstItem="wnF-Zc-K1k" firstAttribute="bottom" secondItem="Zpi-ah-hq0" secondAttribute="top" id="oPZ-4h-Icn"/>
-                                    <constraint firstAttribute="trailing" secondItem="wnF-Zc-K1k" secondAttribute="trailing" id="qNQ-S6-qUk"/>
-                                    <constraint firstAttribute="trailing" secondItem="qP5-oQ-sQC" secondAttribute="trailing" id="uAg-4Q-a0E"/>
-                                    <constraint firstAttribute="trailing" secondItem="Zpi-ah-hq0" secondAttribute="trailing" id="x7d-zQ-twc"/>
-                                </constraints>
-                            </view>
-                        </subviews>
-                    </clipView>
-                    <scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="gDM-zs-1II">
-                        <rect key="frame" x="0.0" y="442" width="260" height="16"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                    <scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="cFd-Sn-yii">
-                        <rect key="frame" x="244" y="0.0" width="16" height="458"/>
-                        <autoresizingMask key="autoresizingMask"/>
-                    </scroller>
-                </scrollView>
-            </subviews>
-            <constraints>
-                <constraint firstAttribute="trailing" secondItem="6yh-at-Tgr" secondAttribute="trailing" id="QiS-Ma-u5W"/>
-                <constraint firstItem="6yh-at-Tgr" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="fd1-CJ-ha2"/>
-                <constraint firstAttribute="bottom" secondItem="6yh-at-Tgr" secondAttribute="bottom" id="ord-mQ-ToA"/>
-                <constraint firstItem="6yh-at-Tgr" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="wK0-3l-aed"/>
-            </constraints>
-            <point key="canvasLocation" x="-52" y="94"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 66
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMCreateBackgroundController.swift

@@ -1,66 +0,0 @@
-//
-//  KMCreateBackgroundController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/23.
-//
-
-import Cocoa
-
-class KMCreateBackgroundController: KMWatermarkAdjectivePropertyBaseController {
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        // Do view setup here.
-        
-        self.backButtton.title = NSLocalizedString("", comment: "")
-        self.showBack(show: true)
-        self.titleLabel.stringValue = NSLocalizedString("Add Background", comment: "")
-        self.addButton.attributedTitle = NSAttributedString(string: NSLocalizedString("", comment: ""), attributes: [NSAttributedString.Key.foregroundColor : NSColor(red: 24.0/255.0, green: 160.0/255.0, blue: 251.0/255.0, alpha: 1.0),NSAttributedString.Key.font : NSFont.systemFont(ofSize: 12), NSAttributedString.Key.underlineStyle : true])
-        self.segementControl.items = [NSLocalizedString("Color", comment: ""),NSLocalizedString("File", comment: "")]
-        self.segementControl.itemClick = {
-            [self] (index: Int) in
-            self.tabView.selectTabViewItem(at: index)
-        }
-        
-        let item = NSTabViewItem(identifier: "tabID")
-        item.label = "tab1";
-        let controller = KMBackgroundPropertyInfoController(nibName: "KMBackgroundPropertyInfoController", bundle: nil)
-        item.viewController = controller
-        controller.model = KMBackgroundModel()
-        controller.delegate = self
-
-        let item2 = NSTabViewItem(identifier: "tabID2")
-        item2.label = "tab2";
-        let controller2 = KMBackgroundFilePropertyInfoController(nibName: "KMBackgroundFilePropertyInfoController", bundle: nil)
-        item2.viewController = controller2
-        controller2.model = KMBackgroundModel()
-        controller2.model.type = .file
-        controller2.delegate = self
-        
-        self.tabView.addTabViewItem(item)
-        self.tabView.addTabViewItem(item2)
-
-        childViewController.append(controller)
-        childViewController.append(controller2)
-    }
-    
-    func fetchTemplate() -> AnyObject {
-        if (self.tabView.indexOfTabViewItem(self.tabView.selectedTabViewItem!) == 0) {
-            let currentController: KMBackgroundPropertyInfoController = self.tabView.selectedTabViewItem?.viewController as! KMBackgroundPropertyInfoController
-            return currentController.model
-        } else {
-            let currentController: KMBackgroundFilePropertyInfoController = self.tabView.selectedTabViewItem?.viewController as! KMBackgroundFilePropertyInfoController
-            return currentController.model
-        }
-    }
-}
-
-extension KMCreateBackgroundController: KMBackgroundPropertyInfoDelegate {
-    func propertyInfoDidChange(model: KMBackgroundModel) {
-        if (self.delegate == nil) {
-            return
-        }
-        self.delegate?.propertyInfoDidChange(model: model)
-    }
-}

+ 0 - 22
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMCreateBackgroundController.xib

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMCreateBackgroundController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <point key="canvasLocation" x="27" y="-36"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 98
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMEditBackgroundController.swift

@@ -1,98 +0,0 @@
-//
-//  KMEditBackgroundController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/24.
-//
-
-import Cocoa
-
-class KMEditBackgroundController: KMWatermarkAdjectivePropertyBaseController {
-    
-    var firstController = KMBackgroundPropertyInfoController(nibName: "KMBackgroundPropertyInfoController", bundle: nil)
-    var secondController = KMBackgroundFilePropertyInfoController(nibName: "KMBackgroundFilePropertyInfoController", bundle: nil)
-    
-    var isEdited: Bool = false
-    private var myEditModel: KMBackgroundModel!
-    var editModel: KMBackgroundModel {
-        get {
-            return myEditModel
-        }
-        set {
-            myEditModel = newValue
-            self.firstController.model = newValue
-            self.secondController.model = newValue
-        }
-    }
-    
-    override func viewWillAppear() {
-        super.viewWillAppear()
-        
-        if (self.editModel.type == .color) {
-            self.selectTabIndex(index: 0)
-        } else if (self.editModel.type == .file) {
-            self.selectTabIndex(index: 1)
-            
-            self.secondController.outsideBox.isHidden = false
-            self.secondController.positionBox.isHidden = false
-            self.secondController.pageRangeBox.isHidden = false
-            
-            self.secondController.fileInfoView.tipLabel.stringValue = self.editModel.imagePath.lastPathComponent
-        }
-    }
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-        self.backButtton.title = NSLocalizedString("", comment: "")
-        self.showBack(show: true)
-        self.titleLabel.stringValue = NSLocalizedString("Edit Background", comment: "")
-        self.addButton.attributedTitle = NSAttributedString(string: NSLocalizedString("恢复", comment: ""), attributes: [NSAttributedString.Key.foregroundColor : NSColor(red: 24.0/255.0, green: 160.0/255.0, blue: 251.0/255.0, alpha: 1.0),NSAttributedString.Key.font : NSFont.systemFont(ofSize: 12), NSAttributedString.Key.underlineStyle : true])
-        self.segementControl.items = [NSLocalizedString("Color", comment: ""),NSLocalizedString("File", comment: "")]
-        self.segementControl.itemClick = { [weak self] (index: Int) in
-            self!.tabView.selectTabViewItem(at: index)
-        }
-        
-        let item = NSTabViewItem(identifier: "tabID")
-        item.label = "tab1";
-        item.viewController = self.firstController
-
-        let item2 = NSTabViewItem(identifier: "tabID2")
-        item2.label = "tab2";
-        item2.viewController = self.secondController
-        
-        self.tabView.addTabViewItem(item)
-        self.tabView.addTabViewItem(item2)
-        
-        self.firstController.delegate = self
-        self.secondController.delegate = self
-
-        childViewController.append(self.firstController)
-        childViewController.append(self.secondController)
-        
-        self.segementControl.isHidden = true
-        self.segementControlHeightConst.constant = 0
-    }
-    
-    override func resume() {
-        if (self.flagModel == nil) {
-            return
-        }
-        if (childViewController.count <= 0) {
-            return
-        }
-        
-        if (self.segementControl.selectItemIndex == 0) {
-            firstController.model = self.flagModel?.copy() as! KMBackgroundModel
-        } else if (self.segementControl.selectItemIndex == 1) {
-            
-        }
-    }
-}
-
-extension KMEditBackgroundController: KMBackgroundPropertyInfoDelegate {
-    func propertyInfoDidChange(model: KMBackgroundModel) {
-        self.myEditModel = model
-        self.isEdited = true
-    }
-}

+ 0 - 22
PDF Office/PDF Master/Class/PDFTools/Background/Controller/KMEditBackgroundController.xib

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMEditBackgroundController" customModule="PDF_Office" customModuleProvider="target">
-            <connections>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <point key="canvasLocation" x="132" y="-72"/>
-        </customView>
-    </objects>
-</document>

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

@@ -4009,7 +4009,6 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
                             self.showBatchWindow(type: .AddHeaderFooter, files: [file])
                         }
                     } else if (type == .background) {
-//                        controller = KMBackgroundController()
                     } else if (type == .watermark) {
 //                        controller = KMWatermarkViewController()
                     }

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

@@ -3227,12 +3227,6 @@
 		BB2F184A2A0C911B0003F65E /* KMBaseWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F18492A0C911B0003F65E /* KMBaseWindowController.swift */; };
 		BB2F184B2A0C911B0003F65E /* KMBaseWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F18492A0C911B0003F65E /* KMBaseWindowController.swift */; };
 		BB2F184C2A0C911B0003F65E /* KMBaseWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F18492A0C911B0003F65E /* KMBaseWindowController.swift */; };
-		BB2F61502966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */; };
-		BB2F61512966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */; };
-		BB2F61522966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */; };
-		BB2F61532966A91D001CB369 /* KMBackgroundPropertyHomeController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB2F614F2966A91D001CB369 /* KMBackgroundPropertyHomeController.xib */; };
-		BB2F61542966A91D001CB369 /* KMBackgroundPropertyHomeController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB2F614F2966A91D001CB369 /* KMBackgroundPropertyHomeController.xib */; };
-		BB2F61552966A91D001CB369 /* KMBackgroundPropertyHomeController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB2F614F2966A91D001CB369 /* KMBackgroundPropertyHomeController.xib */; };
 		BB2F61582966B69D001CB369 /* KMWatermarkPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F61562966B69D001CB369 /* KMWatermarkPropertyHomeController.swift */; };
 		BB2F61592966B69D001CB369 /* KMWatermarkPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F61562966B69D001CB369 /* KMWatermarkPropertyHomeController.swift */; };
 		BB2F615A2966B69D001CB369 /* KMWatermarkPropertyHomeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2F61562966B69D001CB369 /* KMWatermarkPropertyHomeController.swift */; };
@@ -4528,24 +4522,6 @@
 		BBC348052955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348012955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib */; };
 		BBC348062955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348012955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib */; };
 		BBC348072955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348012955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib */; };
-		BBC3480C29558DC1008D2CD1 /* KMBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3480A29558DC1008D2CD1 /* KMBackgroundController.swift */; };
-		BBC3480D29558DC1008D2CD1 /* KMBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3480A29558DC1008D2CD1 /* KMBackgroundController.swift */; };
-		BBC3480E29558DC1008D2CD1 /* KMBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3480A29558DC1008D2CD1 /* KMBackgroundController.swift */; };
-		BBC3480F29558DC1008D2CD1 /* KMBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3480B29558DC1008D2CD1 /* KMBackgroundController.xib */; };
-		BBC3481029558DC1008D2CD1 /* KMBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3480B29558DC1008D2CD1 /* KMBackgroundController.xib */; };
-		BBC3481129558DC1008D2CD1 /* KMBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3480B29558DC1008D2CD1 /* KMBackgroundController.xib */; };
-		BBC348142955920B008D2CD1 /* KMBackgroundPropertyController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348122955920B008D2CD1 /* KMBackgroundPropertyController.swift */; };
-		BBC348152955920B008D2CD1 /* KMBackgroundPropertyController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348122955920B008D2CD1 /* KMBackgroundPropertyController.swift */; };
-		BBC348162955920B008D2CD1 /* KMBackgroundPropertyController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348122955920B008D2CD1 /* KMBackgroundPropertyController.swift */; };
-		BBC348172955920B008D2CD1 /* KMBackgroundPropertyController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348132955920B008D2CD1 /* KMBackgroundPropertyController.xib */; };
-		BBC348182955920B008D2CD1 /* KMBackgroundPropertyController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348132955920B008D2CD1 /* KMBackgroundPropertyController.xib */; };
-		BBC348192955920B008D2CD1 /* KMBackgroundPropertyController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348132955920B008D2CD1 /* KMBackgroundPropertyController.xib */; };
-		BBC3481C295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3481A295593F0008D2CD1 /* KMBackgroundListController.swift */; };
-		BBC3481D295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3481A295593F0008D2CD1 /* KMBackgroundListController.swift */; };
-		BBC3481E295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3481A295593F0008D2CD1 /* KMBackgroundListController.swift */; };
-		BBC3481F295593F0008D2CD1 /* KMBackgroundListController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3481B295593F0008D2CD1 /* KMBackgroundListController.xib */; };
-		BBC34820295593F0008D2CD1 /* KMBackgroundListController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3481B295593F0008D2CD1 /* KMBackgroundListController.xib */; };
-		BBC34821295593F0008D2CD1 /* KMBackgroundListController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3481B295593F0008D2CD1 /* KMBackgroundListController.xib */; };
 		BBC3482429559506008D2CD1 /* KMBackgroundManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3482329559506008D2CD1 /* KMBackgroundManager.swift */; };
 		BBC3482529559506008D2CD1 /* KMBackgroundManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3482329559506008D2CD1 /* KMBackgroundManager.swift */; };
 		BBC3482629559506008D2CD1 /* KMBackgroundManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3482329559506008D2CD1 /* KMBackgroundManager.swift */; };
@@ -4555,36 +4531,12 @@
 		BBC3482E29559E12008D2CD1 /* KMBackgroundModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3482D29559E12008D2CD1 /* KMBackgroundModel.swift */; };
 		BBC3482F29559E12008D2CD1 /* KMBackgroundModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3482D29559E12008D2CD1 /* KMBackgroundModel.swift */; };
 		BBC3483029559E12008D2CD1 /* KMBackgroundModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3482D29559E12008D2CD1 /* KMBackgroundModel.swift */; };
-		BBC348332955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348312955A118008D2CD1 /* KMCreateBackgroundController.swift */; };
-		BBC348342955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348312955A118008D2CD1 /* KMCreateBackgroundController.swift */; };
-		BBC348352955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348312955A118008D2CD1 /* KMCreateBackgroundController.swift */; };
-		BBC348362955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348322955A118008D2CD1 /* KMCreateBackgroundController.xib */; };
-		BBC348372955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348322955A118008D2CD1 /* KMCreateBackgroundController.xib */; };
-		BBC348382955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348322955A118008D2CD1 /* KMCreateBackgroundController.xib */; };
-		BBC3483B2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348392955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift */; };
-		BBC3483C2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348392955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift */; };
-		BBC3483D2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348392955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift */; };
-		BBC3483E2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3483A2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib */; };
-		BBC3483F2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3483A2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib */; };
-		BBC348402955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC3483A2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib */; };
-		BBC348432956A638008D2CD1 /* KMEditBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348412956A638008D2CD1 /* KMEditBackgroundController.swift */; };
-		BBC348442956A638008D2CD1 /* KMEditBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348412956A638008D2CD1 /* KMEditBackgroundController.swift */; };
-		BBC348452956A638008D2CD1 /* KMEditBackgroundController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348412956A638008D2CD1 /* KMEditBackgroundController.swift */; };
-		BBC348462956A638008D2CD1 /* KMEditBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348422956A638008D2CD1 /* KMEditBackgroundController.xib */; };
-		BBC348472956A638008D2CD1 /* KMEditBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348422956A638008D2CD1 /* KMEditBackgroundController.xib */; };
-		BBC348482956A638008D2CD1 /* KMEditBackgroundController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348422956A638008D2CD1 /* KMEditBackgroundController.xib */; };
 		BBC3484A2958222C008D2CD1 /* KMBackgroundOutsideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348492958222C008D2CD1 /* KMBackgroundOutsideView.swift */; };
 		BBC3484B2958222C008D2CD1 /* KMBackgroundOutsideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348492958222C008D2CD1 /* KMBackgroundOutsideView.swift */; };
 		BBC3484C2958222C008D2CD1 /* KMBackgroundOutsideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348492958222C008D2CD1 /* KMBackgroundOutsideView.swift */; };
 		BBC3484E29582920008D2CD1 /* KMBackgroundColorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3484D29582920008D2CD1 /* KMBackgroundColorView.swift */; };
 		BBC3484F29582920008D2CD1 /* KMBackgroundColorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3484D29582920008D2CD1 /* KMBackgroundColorView.swift */; };
 		BBC3485029582920008D2CD1 /* KMBackgroundColorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC3484D29582920008D2CD1 /* KMBackgroundColorView.swift */; };
-		BBC348532958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348512958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift */; };
-		BBC348542958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348512958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift */; };
-		BBC348552958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC348512958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift */; };
-		BBC348562958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348522958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib */; };
-		BBC348572958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348522958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib */; };
-		BBC348582958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC348522958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib */; };
 		BBC4F9EA2AEB58290098A1A8 /* KMAlertWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC4F9E92AEB58290098A1A8 /* KMAlertWindowController.swift */; };
 		BBC4F9EB2AEB58290098A1A8 /* KMAlertWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC4F9E92AEB58290098A1A8 /* KMAlertWindowController.swift */; };
 		BBC4F9EC2AEB58290098A1A8 /* KMAlertWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC4F9E92AEB58290098A1A8 /* KMAlertWindowController.swift */; };
@@ -6477,8 +6429,6 @@
 		BB2EDF69296ECE17003BCF58 /* KMPageEditThumbnailItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMPageEditThumbnailItem.swift; sourceTree = "<group>"; };
 		BB2F18452A0C7E250003F65E /* KMConvertBaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMConvertBaseView.swift; sourceTree = "<group>"; };
 		BB2F18492A0C911B0003F65E /* KMBaseWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBaseWindowController.swift; sourceTree = "<group>"; };
-		BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundPropertyHomeController.swift; sourceTree = "<group>"; };
-		BB2F614F2966A91D001CB369 /* KMBackgroundPropertyHomeController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBackgroundPropertyHomeController.xib; sourceTree = "<group>"; };
 		BB2F61562966B69D001CB369 /* KMWatermarkPropertyHomeController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkPropertyHomeController.swift; sourceTree = "<group>"; };
 		BB2F61572966B69D001CB369 /* KMWatermarkPropertyHomeController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMWatermarkPropertyHomeController.xib; sourceTree = "<group>"; };
 		BB2F9AA22AFC8D5900F9DD93 /* KMProfileInfoWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMProfileInfoWindowController.xib; sourceTree = "<group>"; };
@@ -7017,25 +6967,11 @@
 		BBC347FC295448DE008D2CD1 /* KMWatermarkTemplateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkTemplateModel.swift; sourceTree = "<group>"; };
 		BBC348002955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkFilePropertyInfoController.swift; sourceTree = "<group>"; };
 		BBC348012955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMWatermarkFilePropertyInfoController.xib; sourceTree = "<group>"; };
-		BBC3480A29558DC1008D2CD1 /* KMBackgroundController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundController.swift; sourceTree = "<group>"; };
-		BBC3480B29558DC1008D2CD1 /* KMBackgroundController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBackgroundController.xib; sourceTree = "<group>"; };
-		BBC348122955920B008D2CD1 /* KMBackgroundPropertyController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundPropertyController.swift; sourceTree = "<group>"; };
-		BBC348132955920B008D2CD1 /* KMBackgroundPropertyController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBackgroundPropertyController.xib; sourceTree = "<group>"; };
-		BBC3481A295593F0008D2CD1 /* KMBackgroundListController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundListController.swift; sourceTree = "<group>"; };
-		BBC3481B295593F0008D2CD1 /* KMBackgroundListController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBackgroundListController.xib; sourceTree = "<group>"; };
 		BBC3482329559506008D2CD1 /* KMBackgroundManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundManager.swift; sourceTree = "<group>"; };
 		BBC3482829559B22008D2CD1 /* KMBackgroundListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundListCell.swift; sourceTree = "<group>"; };
 		BBC3482D29559E12008D2CD1 /* KMBackgroundModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundModel.swift; sourceTree = "<group>"; };
-		BBC348312955A118008D2CD1 /* KMCreateBackgroundController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCreateBackgroundController.swift; sourceTree = "<group>"; };
-		BBC348322955A118008D2CD1 /* KMCreateBackgroundController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCreateBackgroundController.xib; sourceTree = "<group>"; };
-		BBC348392955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundPropertyInfoController.swift; sourceTree = "<group>"; };
-		BBC3483A2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBackgroundPropertyInfoController.xib; sourceTree = "<group>"; };
-		BBC348412956A638008D2CD1 /* KMEditBackgroundController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMEditBackgroundController.swift; sourceTree = "<group>"; };
-		BBC348422956A638008D2CD1 /* KMEditBackgroundController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMEditBackgroundController.xib; sourceTree = "<group>"; };
 		BBC348492958222C008D2CD1 /* KMBackgroundOutsideView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundOutsideView.swift; sourceTree = "<group>"; };
 		BBC3484D29582920008D2CD1 /* KMBackgroundColorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundColorView.swift; sourceTree = "<group>"; };
-		BBC348512958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBackgroundFilePropertyInfoController.swift; sourceTree = "<group>"; };
-		BBC348522958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBackgroundFilePropertyInfoController.xib; sourceTree = "<group>"; };
 		BBC4F9E92AEB58290098A1A8 /* KMAlertWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAlertWindowController.swift; sourceTree = "<group>"; };
 		BBC4F9ED2AEB58470098A1A8 /* KMAlertWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMAlertWindowController.xib; sourceTree = "<group>"; };
 		BBC4F9F52AEB69940098A1A8 /* NSArray+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSArray+Extension.swift"; sourceTree = "<group>"; };
@@ -12756,22 +12692,6 @@
 		BBC3480929558D15008D2CD1 /* Controller */ = {
 			isa = PBXGroup;
 			children = (
-				BBC3480A29558DC1008D2CD1 /* KMBackgroundController.swift */,
-				BBC3480B29558DC1008D2CD1 /* KMBackgroundController.xib */,
-				BB2F614E2966A91D001CB369 /* KMBackgroundPropertyHomeController.swift */,
-				BB2F614F2966A91D001CB369 /* KMBackgroundPropertyHomeController.xib */,
-				BBC348122955920B008D2CD1 /* KMBackgroundPropertyController.swift */,
-				BBC348132955920B008D2CD1 /* KMBackgroundPropertyController.xib */,
-				BBC3481A295593F0008D2CD1 /* KMBackgroundListController.swift */,
-				BBC3481B295593F0008D2CD1 /* KMBackgroundListController.xib */,
-				BBC348312955A118008D2CD1 /* KMCreateBackgroundController.swift */,
-				BBC348322955A118008D2CD1 /* KMCreateBackgroundController.xib */,
-				BBC348412956A638008D2CD1 /* KMEditBackgroundController.swift */,
-				BBC348422956A638008D2CD1 /* KMEditBackgroundController.xib */,
-				BBC348392955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift */,
-				BBC3483A2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib */,
-				BBC348512958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift */,
-				BBC348522958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib */,
 			);
 			path = Controller;
 			sourceTree = "<group>";
@@ -13771,7 +13691,6 @@
 				899700F928F4051B009AF911 /* KMAnnotationViewController.xib in Resources */,
 				BB3A429A2B4BC75D006D0642 /* NotesPanel.xib in Resources */,
 				ADBC373729CA975B00D93208 /* KMCompatative.xcassets in Resources */,
-				BBC3481F295593F0008D2CD1 /* KMBackgroundListController.xib in Resources */,
 				ADBC372D29CA951E00D93208 /* KMComparativeOutlineView.xib in Resources */,
 				ADAFDA102AE8DD6600F084BC /* KMAdvertisementCollectionHeadView.xib in Resources */,
 				ADAFDA1C2AE8DD6600F084BC /* KMAdvertisementTableView.xib in Resources */,
@@ -13795,7 +13714,6 @@
 				AD199DE12B200FB000D56FEE /* KMPrintPosterView.xib in Resources */,
 				BBB376A12B10A7FD009539CC /* a_2b.png in Resources */,
 				ADDF838F2B391A5D00A81A4E /* DSignDetailTypeACellView.xib in Resources */,
-				BBC3483E2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */,
 				BB9599C72B3164B40062D346 /* KMRedactPropertiesWindowController.xib in Resources */,
 				BBFE6E822930EBD400142C01 /* KMCompressWindowController.xib in Resources */,
 				ADF6B8702A480CCE0090CB78 /* KMComparativeView.xib in Resources */,
@@ -13913,7 +13831,6 @@
 				ADFCEB672B4FBFC50001EBAF /* ad_cancel_button00.png in Resources */,
 				BB99ACD2292E2AEF0048AFD9 /* KMMergeCollectionViewItem.xib in Resources */,
 				9FF94F1429A7476000B1EF69 /* KMDesignPropertySelector.xib in Resources */,
-				BBC348462956A638008D2CD1 /* KMEditBackgroundController.xib in Resources */,
 				BB8810882B4F7C2200AFA63E /* KMVerificationAlertViewController.xib in Resources */,
 				BBA2109429ACC10F00E6B346 /* signlist_add.pdf in Resources */,
 				BB1969D12B2833FF00922736 /* KMProgressWindowController.xib in Resources */,
@@ -14004,7 +13921,6 @@
 				899700E228F3A9F2009AF911 /* KMHomeWindowController.xib in Resources */,
 				BB6347C82AF24F6C00F5438E /* KMBatchoperateConvertCollectionViewItem.xib in Resources */,
 				BB183DD42B4EAD5400F99C7E /* Ubuntu-Bold.ttf in Resources */,
-				BB2F61532966A91D001CB369 /* KMBackgroundPropertyHomeController.xib in Resources */,
 				9FB220DA2B0F4ED400A5B208 /* KMAnnotationSelectLinkViewController.xib in Resources */,
 				89752DED293875FC003FF08E /* KMMainToolbarController.xib in Resources */,
 				9FAAA335290BD0A20046FFCE /* KMHistoryFileCollectionViewItem.xib in Resources */,
@@ -14077,7 +13993,6 @@
 				BBA19F3629ADACC5001A285A /* signPicture_nor.pdf in Resources */,
 				9F728FAB29926B4300F0C225 /* black_pdfreaderpro_home_en.pdf in Resources */,
 				AD0FA51629A9FA8F00EDEB50 /* KMResetPasswordView.xib in Resources */,
-				BBC3480F29558DC1008D2CD1 /* KMBackgroundController.xib in Resources */,
 				BB1B0AE32B4FC6E900889528 /* KMOpenFileGuideToolbar.xib in Resources */,
 				BBC4F9EE2AEB58470098A1A8 /* KMAlertWindowController.xib in Resources */,
 				BB0FE03A2B734DD1001E0F88 /* AITipIconView.xib in Resources */,
@@ -14110,7 +14025,6 @@
 				BBF811E42B0717970074874F /* KMExtractImageWindowController.xib in Resources */,
 				AD3AAD1E2B0B5B4400DE5FE7 /* KMCompareCoveringWindowController.xib in Resources */,
 				BB8B17362907B64D001C5EA5 /* CipherTextView.xib in Resources */,
-				BBC348562958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */,
 				ADE86ACC2B034CC000414DFA /* KMAddBackgroundView.xib in Resources */,
 				ADBC374529CAD2D300D93208 /* SF-Pro-Text-Bold.otf in Resources */,
 				ADB5E51E2A3711DF007110A8 /* KMSubscribeWaterMarkView.xib in Resources */,
@@ -14145,7 +14059,6 @@
 				AD055E8D2B88304E0035F824 /* BookmarkSheet.xib in Resources */,
 				BBA922152B4E783F0061057A /* KMPurchaseCompareDMGWindowController.xib in Resources */,
 				BB8F4552295A9FA50037EA22 /* KMCreateHeaderFooterController.xib in Resources */,
-				BBC348172955920B008D2CD1 /* KMBackgroundPropertyController.xib in Resources */,
 				BB1B0AFE2B4FC6E900889528 /* KMOpenFileFunctionView.xib in Resources */,
 				BB897261294C5DDA0045787C /* KMWatermarkPropertyInfoController.xib in Resources */,
 				BB328B602B55512F00B382C6 /* KMVerificationMessageViewController.xib in Resources */,
@@ -14161,7 +14074,6 @@
 				9F0CB4AA296CF19600007028 /* KMPropertiesPanelListMenuSubVC.xib in Resources */,
 				ADE8BC3329F9261900570F89 /* KMSearchCellView.xib in Resources */,
 				AD3AAD492B0B7B8900DE5FE7 /* KMCompareToolbar.xib in Resources */,
-				BBC348362955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */,
 				AD055E4E2B7234810035F824 /* KMBookmarkSheetView.xib in Resources */,
 				9F0CB4C02977C06300007028 /* KMPropertiesPanelColorSubVC.xib in Resources */,
 				ADD1B6F42946C07800C3FFF7 /* KMPrintChoosePageSizePosterView.xib in Resources */,
@@ -14284,7 +14196,6 @@
 				9F03900A2B426F3300302D1D /* KMPageDisplayPropertiesViewController.xib in Resources */,
 				ADF1569829A62D31001D1018 /* KMLoginLeftImageView.xib in Resources */,
 				89316856296E45CA0073EA59 /* KMImageAccessoryController.xib in Resources */,
-				BBC3483F2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */,
 				9F02018A2A1DA28B00C9B673 /* KMAILanguagePopVC.xib in Resources */,
 				9FA693AC2987C0590055488A /* KMStepperView.xib in Resources */,
 				BB1B0AFF2B4FC6E900889528 /* KMOpenFileFunctionView.xib in Resources */,
@@ -14344,7 +14255,6 @@
 				ADDF83842B391A5D00A81A4E /* DSignatureSaveTypeViewController.xib in Resources */,
 				ADE86AA92B031FFA00414DFA /* KMCompareView.xib in Resources */,
 				9FF94F1D29A770B500B1EF69 /* KMFillSignShapePanel.xib in Resources */,
-				BBC348472956A638008D2CD1 /* KMEditBackgroundController.xib in Resources */,
 				BB49ECFA293F44DC00C82CA2 /* KMConvertExcelWindowController.xib in Resources */,
 				BB1B0AC32B4FC6E900889528 /* KMFunctionGuideWindowController.xib in Resources */,
 				89E4E7862967BF5A002DBA6F /* KMCustomizeStampViewController.xib in Resources */,
@@ -14366,7 +14276,6 @@
 				BBFDFAA32AF3815C00E08AA2 /* KMTextHintWindowController.xib in Resources */,
 				F3B7DF9E2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
 				BBADCF592AF3C7B3004ECE0C /* KMBatchOperateAddWatermarkViewController.xib in Resources */,
-				BBC3481029558DC1008D2CD1 /* KMBackgroundController.xib in Resources */,
 				BB1B0AF02B4FC6E900889528 /* KMFunctionGuideNameItemView.xib in Resources */,
 				BBD8EE9A2B8EC86A00EB05FE /* AutoSaveFileItem.xib in Resources */,
 				BB10FAEA2AFE03CD00F18D65 /* KMPDFEditPageRangeWindowController.xib in Resources */,
@@ -14381,7 +14290,6 @@
 				89E4E77D2967B370002DBA6F /* KMDynamicStampViewController.xib in Resources */,
 				BB49ECE1293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
 				BB1B0B0B2B4FC6E900889528 /* KMGuideInfoWindow.xib in Resources */,
-				BBC348572958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */,
 				AD867FAB29DFB78200F00440 /* KMAnnotationOutlineView.xib in Resources */,
 				BB99ACD3292E2AEF0048AFD9 /* KMMergeCollectionViewItem.xib in Resources */,
 				9F94748029FA24200042F949 /* Credits.rtf in Resources */,
@@ -14418,7 +14326,6 @@
 				BB6347C92AF24F6C00F5438E /* KMBatchoperateConvertCollectionViewItem.xib in Resources */,
 				ADF6B87A2A48155E0090CB78 /* KMComparativeViewCollectionItem.xib in Resources */,
 				AD2D74BA29F0D3A100EDC5E4 /* KMCancellationSuccessView.xib in Resources */,
-				BB2F61542966A91D001CB369 /* KMBackgroundPropertyHomeController.xib in Resources */,
 				BB1BFF762AEA0B38003EB179 /* KMBatchOperateLeftViewController.xib in Resources */,
 				BB4F7E862B0C4E820077EC8C /* KMNoteFilterCollevtionViewItem.xib in Resources */,
 				9F0CB4632966C9E200007028 /* KMFormPropertPanelViewController.xib in Resources */,
@@ -14436,7 +14343,6 @@
 				9F0CB4A329683E2600007028 /* KMPropertiesPanelSizeSubVC.xib in Resources */,
 				BB853C682AF87502009C20C1 /* KMBatchOperateRemoveWatermarkViewController.xib in Resources */,
 				ADF6B8822A485A8F0090CB78 /* KMComparativeViewCollectionItemItem.xib in Resources */,
-				BBC34820295593F0008D2CD1 /* KMBackgroundListController.xib in Resources */,
 				AD58F41B2B1DAC1500299EE0 /* KMPrintSettingView.xib in Resources */,
 				BB9007222B8DE85B00623B78 /* GeneralPreferences.xib in Resources */,
 				ADDF83602B391A5C00A81A4E /* DSignatureCertifyDetailViewController.xib in Resources */,
@@ -14613,7 +14519,6 @@
 				BB8810802B4F7A1F00AFA63E /* KMActivityALertViewController.xib in Resources */,
 				AD7D5CD82B95767C006562CD /* KMBookmarkOutlineTitleCellView.xib in Resources */,
 				ADDF83542B391A5C00A81A4E /* DSignatureFileListViewController.xib in Resources */,
-				BBC348372955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */,
 				ADC31FAD2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib in Resources */,
 				9F0CB4832967F64D00007028 /* KMPropertiesPanelReadOnlySubVC.xib in Resources */,
 				BBAC26AD2AFE31F400563A08 /* KMBatchOperateAddPasswordViewController.xib in Resources */,
@@ -14679,7 +14584,6 @@
 				BB8B17372907B64D001C5EA5 /* CipherTextView.xib in Resources */,
 				89E9B3FA295BE2EC00AEFA61 /* KMEditPDFTextPropertyViewController.xib in Resources */,
 				9F853A032947137500DF644E /* default-icon.pdf in Resources */,
-				BBC348182955920B008D2CD1 /* KMBackgroundPropertyController.xib in Resources */,
 				BB0FE0412B734DD1001E0F88 /* AITypeChooseView.xib in Resources */,
 				BB3EAEB1293E3D6000D92407 /* KMConvertBaseWindowController.xib in Resources */,
 				ADBC372E29CA951E00D93208 /* KMComparativeOutlineView.xib in Resources */,
@@ -14853,7 +14757,6 @@
 				89E4E6F12963D1B7002DBA6F /* KMColorPickerViewController.xib in Resources */,
 				BBFE6E6A293097A600142C01 /* KMPageRangePickerWindowController.xib in Resources */,
 				ADE86AA22B031FDB00414DFA /* KMCompareWindowController.xib in Resources */,
-				BBC34821295593F0008D2CD1 /* KMBackgroundListController.xib in Resources */,
 				AD867FBD29DFBB3B00F00440 /* KMAnnotationOutlineSectionView.xib in Resources */,
 				ADD1B6FA2946C0CA00C3FFF7 /* KMPrintChoosePageSizeMultipageView.xib in Resources */,
 				AD199DF52B23121D00D56FEE /* KMPrintPamphletView.xib in Resources */,
@@ -14907,11 +14810,9 @@
 				ADF6B8722A480CCE0090CB78 /* KMComparativeView.xib in Resources */,
 				AD8810B729A846B100178CA1 /* KMVerficationCodeWindowController.xib in Resources */,
 				BB254D5C2B2A985A00C37B3B /* KMTTSWindowController.xib in Resources */,
-				BBC348192955920B008D2CD1 /* KMBackgroundPropertyController.xib in Resources */,
 				9F02019B2A1F352100C9B673 /* KMAITranslationConfirmWindowController.xib in Resources */,
 				AD6260702A9D968B006C6413 /* KMEditPDFAssets.xcassets in Resources */,
 				899700E428F3A9F2009AF911 /* KMHomeWindowController.xib in Resources */,
-				BBC348402955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */,
 				AD7D5CEA2B96B3B2006562CD /* KMBookmarkOutlineSeparatorCellView.xib in Resources */,
 				BB0FE05D2B734DD1001E0F88 /* AIImage.xcassets in Resources */,
 				9F0201832A1BAC1600C9B673 /* KMAIRewritingVC.xib in Resources */,
@@ -15020,7 +14921,6 @@
 				BB1BFF6F2AEA030F003EB179 /* KMBatchOperateSplitViewController.xib in Resources */,
 				BB8810992B4F7CD100AFA63E /* KMVerificationTrialViewController.xib in Resources */,
 				BB6EA2A52B70B8F2000D4490 /* KMConvertComparePayViewController.xib in Resources */,
-				BBC348382955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */,
 				BB6DD81129347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				BB49ECE2293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
 				ADD1B6D129431D7100C3FFF7 /* KMPrintPreviewView.xib in Resources */,
@@ -15159,7 +15059,6 @@
 				BB5DA54F2BCFF4B300849E86 /* KMPageEditPopViewController.xib in Resources */,
 				ADE86AFD2B0AF5A400414DFA /* KMCompareContentSettingView.xib in Resources */,
 				BB1B0B092B4FC6E900889528 /* KMGuideCoverView.xib in Resources */,
-				BB2F61552966A91D001CB369 /* KMBackgroundPropertyHomeController.xib in Resources */,
 				ADE86A8F2B02269400414DFA /* KMRemovePasswordWindowController.xib in Resources */,
 				BBB376AC2B10A7FD009539CC /* a_3a.png in Resources */,
 				9FDD0FBC295D5230000C4DAD /* KMToolbarController.xib in Resources */,
@@ -15169,7 +15068,6 @@
 				8942F7FD2926089200389627 /* KMSignatureViewController.xib in Resources */,
 				AD1CA4262A061D190070541F /* KMAnnotationScreenAuthorViewItem.xib in Resources */,
 				BB4F7E9B2B0C858D0077EC8C /* KMNoteTypeCollectionViewItem.xib in Resources */,
-				BBC3481129558DC1008D2CD1 /* KMBackgroundController.xib in Resources */,
 				BBB3769D2B10A7FD009539CC /* a_2a.png in Resources */,
 				89316827296D73CC0073EA59 /* KMSignatureAnnotationViewController.xib in Resources */,
 				ADF6B8832A485A8F0090CB78 /* KMComparativeViewCollectionItemItem.xib in Resources */,
@@ -15193,7 +15091,6 @@
 				BB328B622B55512F00B382C6 /* KMVerificationMessageViewController.xib in Resources */,
 				9F0CB4642966C9E200007028 /* KMFormPropertPanelViewController.xib in Resources */,
 				BBFBE74B28DD7DDE008B2335 /* Main.storyboard in Resources */,
-				BBC348582958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.xib in Resources */,
 				9FDD0FA42952FF4D000C4DAD /* $themes.json in Resources */,
 				BBD922422B50D6D600DB9585 /* rate_pic_free.pdf in Resources */,
 				AD1D48542AFB8510007AC1F0 /* KMMergeTableViewCell.xib in Resources */,
@@ -15252,7 +15149,6 @@
 				BB1B0AD62B4FC6E900889528 /* KMFunctionGuideSingleController.xib in Resources */,
 				ADDF83552B391A5C00A81A4E /* DSignatureFileListViewController.xib in Resources */,
 				AD85D1B22AF09C79000F4D28 /* KMHomeQuickToolsWindowCollectionViewItem.xib in Resources */,
-				BBC348482956A638008D2CD1 /* KMEditBackgroundController.xib in Resources */,
 				BB52372C29C313CA00663BD7 /* KMAnnotationPropertyBaseController.xib in Resources */,
 				BB853C692AF87502009C20C1 /* KMBatchOperateRemoveWatermarkViewController.xib in Resources */,
 				F3B7DFA62949C8E300333201 /* CPDFListView.xcassets in Resources */,
@@ -15500,9 +15396,7 @@
 				9FCFEC6C2AC3D96800EAD2CB /* CPDFListViewAnimatedBorderlessWindow.swift in Sources */,
 				89752DF62938A236003FF08E /* PublicKey.swift in Sources */,
 				AD7D5CCB2B95728C006562CD /* KMBookmarkOutlineTitleCellView.swift in Sources */,
-				BBC3480C29558DC1008D2CD1 /* KMBackgroundController.swift in Sources */,
 				9FBC48B8299B44C600CA39D7 /* KMSecondaryViewController.m in Sources */,
-				BBC348142955920B008D2CD1 /* KMBackgroundPropertyController.swift in Sources */,
 				BBEC00D1295C33D600A26C98 /* KMCreateBatesController.swift in Sources */,
 				AD867FB329DFBB2700F00440 /* KMAnnotationOutlineSectionView.swift in Sources */,
 				BBEC00A8295BDECF00A26C98 /* KMHeaderFooterContentInfoView.swift in Sources */,
@@ -15752,7 +15646,6 @@
 				9FBC489B2996500300CA39D7 /* KMDocumentController.swift in Sources */,
 				BBD8EE962B8EC86A00EB05FE /* AutoSavePopController.m in Sources */,
 				BB2F9AAF2AFCAE1F00F9DD93 /* KMProfileTitleCellView.swift in Sources */,
-				BBC348332955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
 				AD58F41F2B1DC29100299EE0 /* KMPrintViewModel.swift in Sources */,
 				BBFE6E87293210AB00142C01 /* KMCompressCellView.swift in Sources */,
 				BB146FE1299DC0D100784A6A /* GTLRDriveQuery.m in Sources */,
@@ -15857,7 +15750,6 @@
 				AD1CA4212A061D190070541F /* KMAnnotationScreenAuthorViewItem.swift in Sources */,
 				BB2F9AB82AFCC3AD00F9DD93 /* KMProfileInfo.swift in Sources */,
 				9FDCD8162B6CC88000E22166 /* KMFormActionButtonPopWindowController.swift in Sources */,
-				BBC3481C295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */,
 				ADFCEB752B4FC1660001EBAF /* KMAdsWebView.swift in Sources */,
 				9F5664872988B16F00020985 /* KMTextfieldVC.swift in Sources */,
 				AD055E252B70B3C10035F824 /* KMBookmarkController.swift in Sources */,
@@ -15890,7 +15782,6 @@
 				AD055E602B85E04C0035F824 /* KMTextWithIconCell.swift in Sources */,
 				BB8810D62B4F984000AFA63E /* JSONKit.m in Sources */,
 				BBC4F9F62AEB69940098A1A8 /* NSArray+Extension.swift in Sources */,
-				BBC348432956A638008D2CD1 /* KMEditBackgroundController.swift in Sources */,
 				9F0CB49F29683E2600007028 /* KMPropertiesPanelSizeSubVC.swift in Sources */,
 				BB2EDF54296E815E003BCF58 /* KMPageEditBaseItemView.swift in Sources */,
 				9F1FE4EA29406E4700E952CA /* NSBezierPath+MCAdditions.m in Sources */,
@@ -16071,7 +15962,6 @@
 				AD867F9029D9554F00F00440 /* KMBOTAOutlineItem.swift in Sources */,
 				BB0A823229C00400002C5C1B /* KMCommonEnum.swift in Sources */,
 				BB49ED06293F461500C82CA2 /* KMConvertCSVWindowController.swift in Sources */,
-				BBC3483B2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift in Sources */,
 				AD88109229A7612000178CA1 /* KMRegisterModel.swift in Sources */,
 				BB2C846C2BAE716600AF6142 /* KMBotaTableRowView.swift in Sources */,
 				BB1BFF812AEA139F003EB179 /* KMLongerButton.swift in Sources */,
@@ -16379,7 +16269,6 @@
 				BB8810BE2B4F872500AFA63E /* KMVerificationWindowController.m in Sources */,
 				ADDF83322B391A5C00A81A4E /* CPDFAnnotation+PDFListView.m in Sources */,
 				ADA9102E2A272CEA003352F0 /* KMImageOptimization.swift in Sources */,
-				BBC348532958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift in Sources */,
 				ADAFDA032AE8BD5C00F084BC /* KMConvertURLToPDF.m in Sources */,
 				AD9527C2295294EF0039D2BC /* KMPrintPaperModel.swift in Sources */,
 				AD8810A929A8463600178CA1 /* KMAccountInfoWindowController.swift in Sources */,
@@ -16444,7 +16333,6 @@
 				8997010E28F40842009AF911 /* KMOutlineViewController.swift in Sources */,
 				ADFA8F112B60E01C002595A4 /* KMSecureAlertView.swift in Sources */,
 				BBFDFA932AF328B200E08AA2 /* KMBatchOperateManager.swift in Sources */,
-				BB2F61502966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */,
 				BB10FAEE2AFE233C00F18D65 /* KMLineInspector.swift in Sources */,
 				BBBB6CD22AD14A5F0035AA66 /* CPDFChoiceWidgetAnnotation+PDFListView.swift in Sources */,
 				BB4A94A42B04DA0C00940F8B /* KMGOCRManagerNew.swift in Sources */,
@@ -16727,14 +16615,12 @@
 				ADAFDA3A2AE8EEFF00F084BC /* KMAdvertisementRequestServer.swift in Sources */,
 				BBC745EB295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */,
 				ADDEEA7B2AD3F4C800EF675D /* KMPopUpButton.swift in Sources */,
-				BBC3480D29558DC1008D2CD1 /* KMBackgroundController.swift in Sources */,
 				BB6DD8262934D056001F0544 /* KMSecureEncryptSuccessTipView.swift in Sources */,
 				BB853C702AF879C1009C20C1 /* KMBatchRemoveWatermarkOperation.swift in Sources */,
 				9FBC48B9299B44C600CA39D7 /* KMSecondaryViewController.m in Sources */,
 				ADDF832D2B391A5C00A81A4E /* NSEvent+PDFListView.m in Sources */,
 				BB8810CB2B4F97D000AFA63E /* VerificationManager.m in Sources */,
 				ADAFD9F42AE68A7400F084BC /* KMCreatPDFView.swift in Sources */,
-				BBC348152955920B008D2CD1 /* KMBackgroundPropertyController.swift in Sources */,
 				BBFDFA9F2AF3814000E08AA2 /* KMTextHintWindowController.swift in Sources */,
 				BB5DA54B2BCFF4B300849E86 /* KMPageEditPopViewController.m in Sources */,
 				BBEC00D2295C33D600A26C98 /* KMCreateBatesController.swift in Sources */,
@@ -16933,7 +16819,6 @@
 				BBF170592AE296B90013CE02 /* KMView.swift in Sources */,
 				9F0CB50E2986564500007028 /* KMDesignToken+BorderLeft.swift in Sources */,
 				9FBC489C2996500300CA39D7 /* KMDocumentController.swift in Sources */,
-				BBC348342955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
 				F37322F7292DF9410013862C /* CSelfSignAnnotation.m in Sources */,
 				9F1FE4D929406E4700E952CA /* NSString+Utils.m in Sources */,
 				BB146FE2299DC0D100784A6A /* GTLRDriveQuery.m in Sources */,
@@ -17015,7 +16900,6 @@
 				BB146FC1299DC0D100784A6A /* GTMSessionFetcherLogging.m in Sources */,
 				AD1CA4222A061D190070541F /* KMAnnotationScreenAuthorViewItem.swift in Sources */,
 				BB3A81B62AC2C0F4006FC66C /* NSObject+KMExtension.swift in Sources */,
-				BBC3481D295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */,
 				AD7D5CC32B9566D0006562CD /* KMBookmarkOutlineView.swift in Sources */,
 				BBFA1CCE2B609E890053AD4A /* KMScreenShotMaskWindowController.swift in Sources */,
 				9F5664882988B16F00020985 /* KMTextfieldVC.swift in Sources */,
@@ -17047,7 +16931,6 @@
 				9FBA0EE228FEC253001117AF /* KMProductPromotionViewController.swift in Sources */,
 				BB4DD044299B291A00E80DF6 /* KMCloudNoNetworkView.swift in Sources */,
 				8942F7F12926087200389627 /* KMSearchViewController.swift in Sources */,
-				BBC348442956A638008D2CD1 /* KMEditBackgroundController.swift in Sources */,
 				9F0CB4A029683E2600007028 /* KMPropertiesPanelSizeSubVC.swift in Sources */,
 				ADE86AEF2B0AF56200414DFA /* KMCompareCoveringSettingView.swift in Sources */,
 				9F39B9452A661ED500930ACA /* KMHomeScrollView.swift in Sources */,
@@ -17251,7 +17134,6 @@
 				ADB2D6FA294882AE0029D2B3 /* KMTextFieldStepperView.swift in Sources */,
 				BB1969CE2B2833DA00922736 /* KMProgressWindowController.swift in Sources */,
 				BB97BE252BC3E02D00BECEA8 /* SKExportAccessoryController.m in Sources */,
-				BBC3483C2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift in Sources */,
 				ADDF832A2B391A5C00A81A4E /* CPDFSelection+PDFListView.m in Sources */,
 				AD7D5CCC2B95728C006562CD /* KMBookmarkOutlineTitleCellView.swift in Sources */,
 				BB570AE02B513A66005E7E4A /* KMLeftSideViewController+Snapshot.swift in Sources */,
@@ -17567,7 +17449,6 @@
 				9FB220F22B1863C800A5B208 /* KMAnnotationFromSignature.swift in Sources */,
 				ADFCEB372B4F78220001EBAF /* KMFile.swift in Sources */,
 				BB0542162965705D00F2665C /* KMCropTipView.swift in Sources */,
-				BBC348542958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift in Sources */,
 				AD02573B2A8601AA00EAD5D5 /* KMLoginManager.swift in Sources */,
 				ADDF83A22B391A5D00A81A4E /* DSignatureFileListViewController.swift in Sources */,
 				BB96A0B92AFCE45800559E24 /* WaitingView.swift in Sources */,
@@ -17623,7 +17504,6 @@
 				9F0CB4F2298655BC00007028 /* KMDesignToken+ItemSpacing.swift in Sources */,
 				BB93CDE62AE757A000B29C57 /* KMToolbarItemView.swift in Sources */,
 				8997010F28F40842009AF911 /* KMOutlineViewController.swift in Sources */,
-				BB2F61512966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */,
 				BBF729A42B19624500576AC5 /* KMAddBackgroundOperationQueue.swift in Sources */,
 				BB2C846A2BAE716600AF6142 /* KMSegmentedControl.swift in Sources */,
 				9F1FE3DF293EE51F00E952CA /* KMMainDocument.swift in Sources */,
@@ -17899,7 +17779,6 @@
 				BB146FDD299DC0D100784A6A /* GTLRDriveService.m in Sources */,
 				BB6D2DA92B674A6300624C24 /* CPDFOutline+KMExtension.swift in Sources */,
 				AD8810AB29A8463600178CA1 /* KMAccountInfoWindowController.swift in Sources */,
-				BBC3480E29558DC1008D2CD1 /* KMBackgroundController.swift in Sources */,
 				BBF62C722B0347AF007B7E86 /* SplitWindowController.swift in Sources */,
 				BBFEF7312B3A794700C28AC0 /* KMSystemViewMenu.swift in Sources */,
 				9F0CB4F7298655D500007028 /* KMDesignToken+Fill.swift in Sources */,
@@ -18055,7 +17934,6 @@
 				BBBE208D2B21649100509C4E /* KMPDFEditWindowController.swift in Sources */,
 				BBA8B7B1293600D70097D183 /* KMPasswordInputWindow.swift in Sources */,
 				BB14701F299DC0D100784A6A /* OIDIDToken.m in Sources */,
-				BBC3483D2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.swift in Sources */,
 				89D2D30A295A83B500BFF5FE /* KMEditPDFTextPropertyViewController.swift in Sources */,
 				BB03D69A2B0221FF008C9976 /* NSImage+KMExtension.swift in Sources */,
 				ADBC2CFC299CA6B9006280C8 /* KMPrintDuplexPrintingSetView.swift in Sources */,
@@ -18195,7 +18073,6 @@
 				BBF62C6A2B033B34007B7E86 /* KMPDFEditExtractWindow.swift in Sources */,
 				9F1FE49529406E4700E952CA /* common.m in Sources */,
 				BB90E4F82AF3B71800B04B9F /* KMPDFWatermarkData.swift in Sources */,
-				BBC3481E295593F0008D2CD1 /* KMBackgroundListController.swift in Sources */,
 				ADC31FA82A0E0C1A00ED44A2 /* KMEditPropertyAlignmentView.swift in Sources */,
 				8997010028F40710009AF911 /* KMBookMarkViewController.swift in Sources */,
 				9F53D5512AD677A000CCF9D8 /* CPDFListViewConfig.swift in Sources */,
@@ -18209,7 +18086,6 @@
 				BB8B9A032B355EFB00A066EC /* KMLeftSideViewController+Outline.swift in Sources */,
 				BBD9222D2B50D50A00DB9585 /* iRate.m in Sources */,
 				9FDD0F8E2952FCE0000C4DAD /* KMGlobalParser.swift in Sources */,
-				BBC348352955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
 				89E4E757296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */,
 				9FE0BBE02B0E009F00CD1CAC /* KMColorPickerView.swift in Sources */,
 				ADD1B6EE2946C04C00C3FFF7 /* KMPrintChoosePageSizePamphletView.swift in Sources */,
@@ -18372,7 +18248,6 @@
 				8942F7F22926087200389627 /* KMSearchViewController.swift in Sources */,
 				BB853C882AF8BC12009C20C1 /* KMAddPasswordOperationQueue.swift in Sources */,
 				BB10FAE72AFE039E00F18D65 /* KMPDFEditPageRangeWindowController.swift in Sources */,
-				BBC348452956A638008D2CD1 /* KMEditBackgroundController.swift in Sources */,
 				9FDD0F79294FEF64000C4DAD /* KMConvertPDFManager.swift in Sources */,
 				AD3AAD1D2B0B5B4400DE5FE7 /* KMCompareCoveringWindowController.swift in Sources */,
 				ADDEEA4B2AD38BDB00EF675D /* KMSignatureHelpViewController.swift in Sources */,
@@ -18574,7 +18449,6 @@
 				AD7D5C9D2B8F20FE006562CD /* synctex_parser.m in Sources */,
 				89E4E6EE2963D1B7002DBA6F /* KMColorPickerViewController.m in Sources */,
 				BBEC00A6295BD42D00A26C98 /* KMHeaderFooterPageInfoView.swift in Sources */,
-				BBC348552958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift in Sources */,
 				AD867F9E29D9853200F00440 /* KMBOTAOutlineRowView.swift in Sources */,
 				BBC3482B29559B22008D2CD1 /* KMBackgroundListCell.swift in Sources */,
 				F34BF93729530708002C25A2 /* NSImage+PDFListView.m in Sources */,
@@ -18636,13 +18510,11 @@
 				9F0CB50F2986564500007028 /* KMDesignToken+BorderLeft.swift in Sources */,
 				BB2CC5662AF123A400D7A796 /* KMBatchHeader.swift in Sources */,
 				AD3AAD152B0B5B2700DE5FE7 /* KMCompareContentWindowController.swift in Sources */,
-				BB2F61522966A91D001CB369 /* KMBackgroundPropertyHomeController.swift in Sources */,
 				BB4EEF3E29764578003A3537 /* KMRedactPropertyContentView.swift in Sources */,
 				9FB221092B19BD8B00A5B208 /* KMGeneralAnnotationViewController.swift in Sources */,
 				AD9527C4295294EF0039D2BC /* KMPrintPaperModel.swift in Sources */,
 				ADE86A9F2B031FDB00414DFA /* KMCompareWindowController.swift in Sources */,
 				BBF8A4052AE8E10100788BAC /* KMBatchConvertParameter.swift in Sources */,
-				BBC348162955920B008D2CD1 /* KMBackgroundPropertyController.swift in Sources */,
 				BB8F4549295A9CDC0037EA22 /* KMHeaderFooterListController.swift in Sources */,
 				BBAFFB1D29CDD19C00C56112 /* KMMergeSelect.swift in Sources */,
 				9F8539D42943121100DF644E /* KMSegmentedBox.swift in Sources */,