KMPrintBottomView.swift 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. //
  2. // KMPrintBottomView.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by lizhe on 2022/12/9.
  6. //
  7. import Cocoa
  8. class KMPrintBottomView: KMBaseXibView {
  9. @IBOutlet weak var printerButton: NSButton!
  10. @IBOutlet weak var savePDFButton: NSButton!
  11. @IBOutlet weak var cancelButton: NSButton!
  12. @IBOutlet weak var printButton: NSButton!
  13. @IBOutlet weak var posterButton: NSButton!
  14. @IBOutlet weak var multipleButton: NSButton!
  15. @IBOutlet weak var bookletButton: NSButton!
  16. @IBOutlet weak var cancelButtonRightConstraint: NSLayoutConstraint!
  17. var delegate: KMPrintBottomViewDelegate?
  18. var type: KMPrintModelType = .size {
  19. didSet {
  20. self.updateButtonState()
  21. }
  22. }
  23. // lazy var presenter: KMImageToPDFChoosePresenter! = KMImageToPDFChoosePresenter()
  24. // lazy var OCRPresenter: KMOCRPresenter! = KMOCRPresenter()
  25. // lazy var data: KMImageToPDFChooseModel! = KMImageToPDFChooseModel()
  26. deinit {
  27. // self.delegate = nil
  28. }
  29. override func draw(_ dirtyRect: NSRect) {
  30. super.draw(dirtyRect)
  31. // Drawing code here.
  32. }
  33. override func setup() {
  34. self.updateButtonState()
  35. // self.printerButton.wantsLayer = true
  36. // self.printerButton.layer?.borderWidth = 1
  37. // self.printerButton.layer?.borderColor = NSColor.km_init(hex: "#DFE1E5").cgColor
  38. // self.printerButton.layer?.cornerRadius = 4
  39. // self.printerButton.title = NSLocalizedString("Printer", comment: "")
  40. // self.printerButton.font = NSFont.SFProTextRegularFont(14)
  41. // self.printerButton.contentTintColor = NSColor.km_init(hex: "#252629")
  42. //
  43. // self.cancelButton.wantsLayer = true
  44. // self.cancelButton.layer?.borderWidth = 1
  45. // self.cancelButton.layer?.borderColor = NSColor.km_init(hex: "#DFE1E5").cgColor
  46. // self.cancelButton.layer?.cornerRadius = 4
  47. // self.cancelButton.title = NSLocalizedString("Cancel", comment: "")
  48. // self.cancelButton.font = NSFont.SFProTextRegularFont(14)
  49. // self.cancelButton.contentTintColor = NSColor.km_init(hex: "#252629")
  50. //
  51. // self.savePDFButton.wantsLayer = true
  52. // self.savePDFButton.layer?.borderWidth = 1
  53. // self.savePDFButton.layer?.borderColor = NSColor.km_init(hex: "#DFE1E5").cgColor
  54. // self.savePDFButton.layer?.cornerRadius = 4
  55. // self.savePDFButton.title = NSLocalizedString("Save as PDF", comment: "")
  56. // self.savePDFButton.font = NSFont.SFProTextRegularFont(14)
  57. // self.savePDFButton.contentTintColor = NSColor.km_init(hex: "#252629")
  58. //
  59. // self.printButton.wantsLayer = true
  60. // self.printButton.layer?.backgroundColor = NSColor.km_init(hex: "#1770F4").cgColor
  61. // self.printButton.layer?.cornerRadius = 4
  62. // self.printButton.title = NSLocalizedString("Printer", comment: "")
  63. // self.printButton.font = NSFont.SFProTextRegularFont(14)
  64. // self.printButton.contentTintColor = NSColor.km_init(hex: "#FFFFFF")
  65. }
  66. //刷新界面UI 和 数据
  67. override func reloadData() {
  68. super.reloadData()
  69. // let exporkOptions = self.data.options ?? .PDF
  70. // let exportType = self.data.exportPDFType ?? .new
  71. //
  72. // if exporkOptions.contains(.PDF) {
  73. //
  74. // }
  75. //
  76. // if exporkOptions.contains(.OCR) {
  77. // self.selectLanguageButton.isEnabled = true
  78. // self.saveTXTButton.isEnabled = true
  79. // } else {
  80. // self.selectLanguageButton.isEnabled = false
  81. // self.saveTXTButton.isEnabled = false
  82. // }
  83. //
  84. // if exportType == .new {
  85. // self.newPDFButton.state = .on
  86. // self.mergePDFButton.isEnabled = true
  87. //
  88. // self.insertPDFButton.state = .off
  89. // self.exportSelectFileButton.isEnabled = false
  90. // } else if exportType == .insert {
  91. // self.newPDFButton.state = .off
  92. // self.mergePDFButton.isEnabled = false
  93. //
  94. // self.insertPDFButton.state = .on
  95. // self.exportSelectFileButton.isEnabled = true
  96. // }
  97. //
  98. // self.selectLanguageButton.title = self.data.OCRModel.languageDic[KMGOCRLanguageStringKey] as! String
  99. //
  100. // self.exportSelectFileButton.title = self.data.insertFilePath
  101. //
  102. }
  103. func updateButtonState() {
  104. switch type {
  105. case .size:
  106. self.cancelButtonRightConstraint.constant = 20
  107. self.savePDFButton.isHidden = true
  108. self.posterButton.isHidden = false
  109. self.multipleButton.isHidden = false
  110. self.bookletButton.isHidden = false
  111. case .poster, .multipage, .pamphlet:
  112. self.cancelButtonRightConstraint.constant = 109
  113. self.savePDFButton.isHidden = false
  114. self.posterButton.isHidden = true
  115. self.multipleButton.isHidden = true
  116. self.bookletButton.isHidden = true
  117. default:
  118. break
  119. }
  120. }
  121. @IBAction func printerAction(_ sender: Any) {
  122. if self.delegate != nil {
  123. self.delegate?.printerAction()
  124. }
  125. }
  126. @IBAction func cancelAction(_ sender: Any) {
  127. if self.delegate != nil {
  128. self.delegate?.cancelAction()
  129. }
  130. }
  131. @IBAction func printAction(_ sender: Any) {
  132. if self.delegate != nil {
  133. self.delegate?.printAction()
  134. }
  135. }
  136. @IBAction func savePDFAction(_ sender: Any) {
  137. if self.delegate != nil {
  138. self.delegate?.savePDFAction()
  139. }
  140. }
  141. @IBAction func bookletButtonAction(_ sender: Any) {
  142. self.delegate?.bookletAction()
  143. }
  144. @IBAction func multipleButtonAction(_ sender: Any) {
  145. self.delegate?.multipageAction()
  146. }
  147. @IBAction func poseterButtonAction(_ sender: Any) {
  148. self.delegate?.posterAction()
  149. }
  150. }
  151. protocol KMPrintBottomViewDelegate {
  152. func printerAction()
  153. func cancelAction()
  154. func printAction()
  155. func savePDFAction()
  156. func posterAction()
  157. func multipageAction()
  158. func bookletAction()
  159. }