KMPageEditExtractSettingView.swift 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //
  2. // KMPageEditExtractSettingView.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2023/1/12.
  6. //
  7. class KMPageEditExtractSettingView: KMPageEditSettingBaseView {
  8. @IBOutlet weak var independentPerPageCheck: NSButton!
  9. @IBOutlet weak var extractAfterDeletePageCheck: NSButton!
  10. private var independentPerPageVC: KMDesignButton?
  11. private var _extractAfterDeletePageVC: KMDesignButton?
  12. var extractAfterDeletePageVC: KMDesignButton? {
  13. get {
  14. return self._extractAfterDeletePageVC
  15. }
  16. }
  17. var independentPerPageValue: Bool {
  18. get {
  19. if let state = self.independentPerPageVC?.state {
  20. return state == .Checked
  21. }
  22. return false
  23. }
  24. }
  25. var extractAfterDeletePageValue: Bool {
  26. get {
  27. if let state = self.extractAfterDeletePageVC?.state {
  28. return state == .Checked
  29. }
  30. return false
  31. }
  32. }
  33. override func awakeFromNib() {
  34. super.awakeFromNib()
  35. self.independentPerPageVC = KMDesignButton(withType: .CheckBox)
  36. self.independentPerPageCheck.addSubview(self.independentPerPageVC!.view)
  37. self.independentPerPageVC?.view.frame = self.independentPerPageCheck.bounds
  38. self.independentPerPageVC?.view.autoresizingMask = [.width, .height]
  39. self.independentPerPageVC?.target = self
  40. self.independentPerPageVC?.action = #selector(independentPerPageAction)
  41. self.independentPerPageVC?.stringValue = NSLocalizedString("Each page in a separate file", comment: "")
  42. self._extractAfterDeletePageVC = KMDesignButton(withType: .CheckBox)
  43. self.extractAfterDeletePageCheck.addSubview(self.extractAfterDeletePageVC!.view)
  44. self.extractAfterDeletePageVC?.view.frame = self.extractAfterDeletePageCheck.bounds
  45. self.extractAfterDeletePageVC?.view.autoresizingMask = [.width, .height]
  46. self.extractAfterDeletePageVC?.target = self
  47. self.extractAfterDeletePageVC?.action = #selector(extractAfterDeletePageAction)
  48. self.extractAfterDeletePageVC?.stringValue = NSLocalizedString("Delete pages after extraction", comment: "")
  49. }
  50. @objc private func independentPerPageAction() {
  51. if let state = self.independentPerPageVC?.state {
  52. self.independentPerPageVC?.state = state == .Checked ? .Norm : .Checked
  53. } else {
  54. self.independentPerPageVC?.state = .Norm
  55. }
  56. guard let callback = self.itemClick else {
  57. return
  58. }
  59. var value = false
  60. if let state = self.independentPerPageVC?.state {
  61. value = state == .Checked
  62. }
  63. callback(1, value)
  64. }
  65. @objc private func extractAfterDeletePageAction() {
  66. if let state = self.extractAfterDeletePageVC?.state {
  67. self.extractAfterDeletePageVC?.state = state == .Checked ? .Norm : .Checked
  68. } else {
  69. self.extractAfterDeletePageVC?.state = .Norm
  70. }
  71. guard let callback = self.itemClick else {
  72. return
  73. }
  74. var value = false
  75. if let state = self.extractAfterDeletePageVC?.state {
  76. value = state == .Checked
  77. }
  78. callback(2, value)
  79. }
  80. }