123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- //
- // KMBatchRemoveView.swift
- // PDF Master
- //
- // Created by lizhe on 2023/1/16.
- //
- import Cocoa
- import KMComponentLibrary
- class KMBatchRemoveView: KMBatchSettingItemView {
- @IBOutlet weak var titleLabel: NSTextField!
- @IBOutlet weak var titleContentView: NSView!
- @IBOutlet weak var watermarkButton: ComponentCheckBox!
- @IBOutlet weak var backgroundButton: ComponentCheckBox!
- @IBOutlet weak var headerAndFooterButton: ComponentCheckBox!
- @IBOutlet weak var batesButton: ComponentCheckBox!
-
- @IBOutlet weak var removeButton: ComponentButton!
-
- var data = KMBatchRemoveViewModel()
-
- override func draw(_ dirtyRect: NSRect) {
- super.draw(dirtyRect)
- // Drawing code here.
- }
-
- override func setup() {
- super.setup()
-
- self.titleContentView.border(ComponentLibrary.shared.getComponentColorFromKey("colorBorder/divider"), 0.5, 0)
-
- watermarkButton.properties = ComponentCheckBoxProperty(size: .s,
- state: .normal,
- isDisabled: false,
- showhelp: false,
- text: KMLocalizedString("Watermark", comment: ""),
- checkboxType: .normal)
- watermarkButton.setTarget(self, action: #selector(watermarkButtonAction(_:)))
-
- backgroundButton.properties = ComponentCheckBoxProperty(size: .s,
- state: .normal,
- isDisabled: false,
- showhelp: false,
- text: KMLocalizedString("Background", comment: ""),
- checkboxType: .normal)
- backgroundButton.setTarget(self, action: #selector(watermarkButtonAction(_:)))
-
- headerAndFooterButton.properties = ComponentCheckBoxProperty(size: .s,
- state: .normal,
- isDisabled: false,
- showhelp: false,
- text: KMLocalizedString("Header & Footer", comment: ""),
- checkboxType: .normal)
- headerAndFooterButton.setTarget(self, action: #selector(watermarkButtonAction(_:)))
-
- batesButton.properties = ComponentCheckBoxProperty(size: .s,
- state: .normal,
- isDisabled: false,
- showhelp: false,
- text: KMLocalizedString("Bates", comment: ""),
- checkboxType: .normal)
- batesButton.setTarget(self, action: #selector(watermarkButtonAction(_:)))
-
- removeButton.properties = ComponentButtonProperty(type: .primary,
- size: .m,
- state: .normal,
- buttonText: KMLocalizedString("Apply"),
- keepPressState: false)
- removeButton.setTarget(self, action: #selector(removeButtonAction(_:)))
- removeButton.reloadData()
- }
-
- override func reloadData() {
- if (self.filesData.count != 0 && self.data.options != .none) {
- self.removeButton.properties.isDisabled = false
- } else {
- self.removeButton.properties.isDisabled = true
- }
- }
-
- override func bacthProcessingNotification() {
- self.watermarkButton.properties.isDisabled = self.isDisable
- self.watermarkButton.reloadData()
- self.backgroundButton.properties.isDisabled = self.isDisable
- self.backgroundButton.reloadData()
- self.headerAndFooterButton.properties.isDisabled = self.isDisable
- self.headerAndFooterButton.reloadData()
- self.batesButton.properties.isDisabled = self.isDisable
- self.batesButton.reloadData()
- self.removeButton.properties.isDisabled = self.isDisable
- self.removeButton.reloadData()
- }
- }
- extension KMBatchRemoveView {
- @objc func watermarkButtonAction(_ sender: ComponentButton) {
- if sender == watermarkButton {
- if self.data.options.contains(.watermark) {
- self.data.options.remove(.watermark)
- } else {
- self.data.options.insert(.watermark)
- }
- } else if sender == backgroundButton {
- if self.data.options.contains(.background) {
- self.data.options.remove(.background)
- } else {
- self.data.options.insert(.background)
- }
- } else if sender == headerAndFooterButton {
- if self.data.options.contains(.headerAndFooter) {
- self.data.options.remove(.headerAndFooter)
- } else {
- self.data.options.insert(.headerAndFooter)
- }
- } else if sender == batesButton {
- if self.data.options.contains(.batesNumber) {
- self.data.options.remove(.batesNumber)
- } else {
- self.data.options.insert(.batesNumber)
- }
- }
-
- self.reloadData()
- }
-
- @objc func removeButtonAction(_ sender: NSButton) {
- guard self.data != nil else {
- return
- }
-
- if self.batchExport != nil {
- self.batchExport!(self, self.data)
- }
- }
- }
|