|
@@ -9,6 +9,9 @@ import Cocoa
|
|
|
import KMComponentLibrary
|
|
|
|
|
|
class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController, KMImageToPDFMethodDelegate, NSPopoverDelegate{
|
|
|
+ @IBOutlet weak var headerBox: NSBox!
|
|
|
+ @IBOutlet weak var titleLabel: NSTextField!
|
|
|
+ @IBOutlet weak var headerBottomLine: ComponentDivider!
|
|
|
|
|
|
@IBOutlet var outputTypeLabel: NSTextField!
|
|
|
@IBOutlet var createNewPDFBtn: NSButton!
|
|
@@ -34,6 +37,17 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
@IBOutlet weak var appendBox: NSBox!
|
|
|
@IBOutlet weak var appendBackBox: NSBox!
|
|
|
|
|
|
+ @IBOutlet weak var ocrSelectBox: NSBox!
|
|
|
+ @IBOutlet weak var languageBox: NSBox!
|
|
|
+ @IBOutlet weak var ocrPlanBox: NSBox!
|
|
|
+ @IBOutlet weak var ocrPlan2Box: NSBox!
|
|
|
+ @IBOutlet weak var hLine: NSView!
|
|
|
+ @IBOutlet weak var extractTextBox: NSBox!
|
|
|
+
|
|
|
+ @IBOutlet weak var bottomBox: NSBox!
|
|
|
+ @IBOutlet weak var bottomTopLine: ComponentDivider!
|
|
|
+ @IBOutlet weak var applyButton: ComponentButton!
|
|
|
+
|
|
|
var password: String = ""
|
|
|
|
|
|
lazy var method: KMImageToPDFMethod = {
|
|
@@ -81,6 +95,72 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
return view
|
|
|
}()
|
|
|
|
|
|
+ private lazy var ocrCheckBox_: ComponentCheckBox = {
|
|
|
+ let view = ComponentCheckBox()
|
|
|
+ view.properties = ComponentCheckBoxProperty(size: .s,
|
|
|
+ state: .normal,
|
|
|
+ isDisabled: false,
|
|
|
+ showhelp: false,
|
|
|
+ text: NSLocalizedString("Recognize text if needed", comment: ""),
|
|
|
+ checkboxType: .normal)
|
|
|
+ return view
|
|
|
+ }()
|
|
|
+
|
|
|
+ private lazy var languageView_: ComponentSelect = {
|
|
|
+ let view = ComponentSelect()
|
|
|
+
|
|
|
+ view.properties = ComponentSelectProperties(size: .s,
|
|
|
+ state: .normal,
|
|
|
+ isDisabled: false,
|
|
|
+ isError: false,
|
|
|
+ leftIcon: false,
|
|
|
+ placeholder: nil,
|
|
|
+ errorText: nil,
|
|
|
+ creatable: false,
|
|
|
+ text: KMLocalizedString("", comment: ""))
|
|
|
+// view.delegate = self
|
|
|
+ return view
|
|
|
+ }()
|
|
|
+
|
|
|
+ private var ocrPlanRadio_: ComponentRadio = {
|
|
|
+ let view = ComponentRadio()
|
|
|
+ view.properties = ComponentCheckBoxProperty(size: .s,
|
|
|
+ state: .normal,
|
|
|
+ isDisabled: false,
|
|
|
+ showhelp: true,
|
|
|
+ text: KMLocalizedString("OCR Plan 1-Online", comment: ""),
|
|
|
+ checkboxType: .normal)
|
|
|
+ return view
|
|
|
+ }()
|
|
|
+
|
|
|
+ private var ocrPlanRadio2_: ComponentRadio = {
|
|
|
+ let view = ComponentRadio()
|
|
|
+ view.properties = ComponentCheckBoxProperty(size: .s,
|
|
|
+ state: .normal,
|
|
|
+ isDisabled: false,
|
|
|
+ showhelp: true,
|
|
|
+ text: KMLocalizedString("OCR Plan 2-Online", comment: ""),
|
|
|
+ checkboxType: .normal)
|
|
|
+ return view
|
|
|
+ }()
|
|
|
+
|
|
|
+ private var vLine_: ComponentDivider = {
|
|
|
+ let view = ComponentDivider()
|
|
|
+ view.properties = ComponentDividerProperty(type: .horizontal, dash: false)
|
|
|
+ return view
|
|
|
+ }()
|
|
|
+
|
|
|
+ private lazy var extractTextCheckBox_: ComponentCheckBox = {
|
|
|
+ let view = ComponentCheckBox()
|
|
|
+ view.properties = ComponentCheckBoxProperty(size: .s,
|
|
|
+ state: .normal,
|
|
|
+ isDisabled: false,
|
|
|
+ showhelp: false,
|
|
|
+ text: KMLocalizedString("Extract Text (.txt)", comment: ""),
|
|
|
+ checkboxType: .normal)
|
|
|
+ return view
|
|
|
+ }()
|
|
|
+
|
|
|
override var interfaceStatus: KMBatchOperateInterfaceStatus?{
|
|
|
set{
|
|
|
super.interfaceStatus = newValue
|
|
@@ -110,15 +190,14 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
private func _updateActionButtonEnable(_ enabled: Bool) {
|
|
|
if enabled {
|
|
|
self.actionButton.tag = 1
|
|
|
- self.actionButton.title = NSLocalizedString("Save as PDF", comment: "")
|
|
|
- self.actionButton.setTitleColor(KMAppearance.Layout.w0Color())
|
|
|
- self.actionButton.isEnabled = true
|
|
|
- self.actionButton.layer?.backgroundColor = KMAppearance.Interactive.m0Color().cgColor
|
|
|
+
|
|
|
+ applyButton.properties.isDisabled = false
|
|
|
+ applyButton.reloadData()
|
|
|
} else {
|
|
|
self.actionButton.tag = 0
|
|
|
- self.actionButton.layer?.backgroundColor = KMAppearance.Interactive.m0Color().cgColor
|
|
|
- self.actionButton.setTitleColor(KMAppearance.Layout.w0Color())
|
|
|
- self.actionButton.isEnabled = false
|
|
|
+
|
|
|
+ applyButton.properties.isDisabled = true
|
|
|
+ applyButton.reloadData()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -129,6 +208,30 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
|
|
|
override func viewDidLoad() {
|
|
|
super.viewDidLoad()
|
|
|
+
|
|
|
+ headerBox.borderWidth = 0
|
|
|
+ titleLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-m-bold")
|
|
|
+ createNewPDFRadio_.properties.checkboxType = .selected
|
|
|
+ createNewPDFRadio_.reloadData()
|
|
|
+
|
|
|
+ ocrLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-s-medium")
|
|
|
+ ocrSelectBox.borderWidth = 0
|
|
|
+ ocrSelectBox.contentView = ocrCheckBox_
|
|
|
+ ocrCheckBox_.setTarget(self, action: #selector(buttonClicked_OCRSelect))
|
|
|
+ languageView_.properties.isDisabled = true
|
|
|
+ languageView_.reloadData()
|
|
|
+ ocrPlanRadio_.setTarget(self, action: #selector(ocrPlanAction))
|
|
|
+ ocrPlanRadio_.properties.isDisabled = true
|
|
|
+ ocrPlanRadio_.reloadData()
|
|
|
+ ocrPlanRadio2_.setTarget(self, action: #selector(ocrPlanAction))
|
|
|
+ ocrPlanRadio2_.properties.isDisabled = true
|
|
|
+ ocrPlanRadio2_.reloadData()
|
|
|
+ extractTextCheckBox_.properties.isDisabled = true
|
|
|
+ extractTextCheckBox_.reloadData()
|
|
|
+
|
|
|
+ bottomBox.borderWidth = 0
|
|
|
+ applyButton.properties = ComponentButtonProperty(type: .primary, size: .m, onlyIcon: false, buttonText: KMLocalizedString("Apply"))
|
|
|
+
|
|
|
self.localizedLanguage()
|
|
|
self.configuUI()
|
|
|
|
|
@@ -145,6 +248,30 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
DistributedNotificationCenter.default().addObserver(self, selector: #selector(themeChanged(notification:)), name: NSNotification.Name("AppleInterfaceThemeChangedNotification"), object: nil)
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(batchFilesCountNotification(notification:)), name: NSNotification.Name("KMBatchFilesCountNotification"), object: nil)
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ override func updateUILanguage() {
|
|
|
+ super.updateUILanguage()
|
|
|
+
|
|
|
+ KMMainThreadExecute {
|
|
|
+ self.titleLabel.stringValue = KMLocalizedString("Image to PDF")
|
|
|
+ self.ocrLabel.stringValue = KMLocalizedString("Text Recognition Settings")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ override func updateUIThemeColor() {
|
|
|
+ super.updateUIThemeColor()
|
|
|
+
|
|
|
+ KMMainThreadExecute {
|
|
|
+ let titleColor = ComponentLibrary.shared.getComponentColorFromKey("colorText/2")
|
|
|
+ self.titleLabel.textColor = titleColor
|
|
|
+ self.headerBottomLine.properties = ComponentDividerProperty()
|
|
|
+ self.ocrLabel.textColor = titleColor
|
|
|
+ self.bottomTopLine.properties = ComponentDividerProperty()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
func localizedLanguage() {
|
|
|
self.outputTypeLabel.stringValue = KMLocalizedString("Output")
|
|
|
self.btnMerge.title = KMLocalizedString("Merge All")
|
|
@@ -152,7 +279,29 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
self.appendPDFBtn.title = KMLocalizedString("Append To Existing File")
|
|
|
self.appendTextField.placeholderString = KMLocalizedString("Select a File")
|
|
|
self.selectLanguageLabel.stringValue = KMLocalizedString("Select OCR Language:")
|
|
|
+ self.selectLanguageLabel.isHidden = true
|
|
|
self.ocrSelectBtn.title = KMLocalizedString("OCR Plan")
|
|
|
+
|
|
|
+ let languages = KMGOCRManager.languages() as NSArray
|
|
|
+ let strings = languages.value(forKeyPath: KMGOCRLanguageStringKey) as? [String]
|
|
|
+ var menuItemArr: [ComponentMenuitemProperty] = []
|
|
|
+ for language in strings ?? [] {
|
|
|
+ let itemProperty: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false,
|
|
|
+ itemSelected: false,
|
|
|
+ isDisabled: false,
|
|
|
+ keyEquivalent: nil,
|
|
|
+ text: language)
|
|
|
+ menuItemArr.append(itemProperty)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ languageView_.updateMenuItemsArr(menuItemArr)
|
|
|
+
|
|
|
+ languageView_.selectItemAtIndex(0)
|
|
|
+ languageView_.properties.creatable = false
|
|
|
+ languageView_.properties.text = menuItemArr.first?.text
|
|
|
+ languageView_.reloadData()
|
|
|
+
|
|
|
self.updateLanguageButton((KMGOCRManager.default().selectedLanguages?.value(forKeyPath: KMGOCRLanguageStringKey) as? [String]))
|
|
|
|
|
|
self.actionButton.title = KMLocalizedString("Save as PDF")
|
|
@@ -166,17 +315,9 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
appendBackView.wantsLayer = true
|
|
|
appendBackView.layer?.borderWidth = 0.5
|
|
|
|
|
|
- self.actionButton.wantsLayer = true
|
|
|
- self.actionButton.layer?.backgroundColor = KMAppearance.Interactive.m0Color().cgColor
|
|
|
self.appendOtherPDFBtn.layer?.backgroundColor = KMAppearance.Interactive.s0Color().withAlphaComponent(0.4).cgColor
|
|
|
- self.actionButton.setTitleColor(KMAppearance.Layout.w0Color())
|
|
|
- self.actionButton.layer?.cornerRadius = 1.0
|
|
|
|
|
|
createNewPDFBtn.setTitleColor(KMAppearance.Layout.h0Color())
|
|
|
- ///createNewPDFBtn.superview?.addSubview( createNewPDFRadio_)
|
|
|
-// self.createNewPDFBtn.setTarget(self, action: #selector(radioAction))
|
|
|
- //createNewPDFRadio_.frame = createNewPDFBtn.frame
|
|
|
- //createNewPDFRadio_.autoresizingMask = [.width, .height]
|
|
|
newPDFBox.borderWidth = 0
|
|
|
newPDFBox.contentView = createNewPDFRadio_
|
|
|
createNewPDFRadio_.setTarget(self, action: #selector(buttonClicked_CreateNewPDF))
|
|
@@ -199,20 +340,36 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
self.ocrSelectBtn.setTitleColor(KMAppearance.Layout.h0Color())
|
|
|
self.saveAsButton.setTitleColor(KMAppearance.Layout.h0Color())
|
|
|
self.selectLanguageLabel.textColor = KMAppearance.Layout.h0Color()
|
|
|
- self.languageButton.isEnabled = false
|
|
|
- self.planButton.isEnabled = false
|
|
|
- self.saveAsButton.isEnabled = false
|
|
|
+ saveAsButton.isHidden = true
|
|
|
+
|
|
|
+ ocrSelectBtn.isHidden = true
|
|
|
+
|
|
|
+ languageBox.borderWidth = 0
|
|
|
+ languageBox.contentView = languageView_
|
|
|
+
|
|
|
+ ocrPlanBox.borderWidth = 0
|
|
|
+ ocrPlanBox.contentView = ocrPlanRadio_
|
|
|
+
|
|
|
+ ocrPlan2Box.borderWidth = 0
|
|
|
+ ocrPlan2Box.contentView = ocrPlanRadio2_
|
|
|
+
|
|
|
+ hLine.addSubview(vLine_)
|
|
|
+ vLine_.frame = hLine.bounds
|
|
|
+ vLine_.autoresizingMask = [.width, .height]
|
|
|
+
|
|
|
+ extractTextBox.borderWidth = 0
|
|
|
+ extractTextBox.contentView = extractTextCheckBox_
|
|
|
|
|
|
appendTextField.backgroundColor = KMAppearance.Layout.l1Color()
|
|
|
- planButton.wantsLayer = true
|
|
|
appendTextField.wantsLayer = true
|
|
|
- planButton.wantsLayer = true
|
|
|
appendTextField.layer?.cornerRadius = 1.0
|
|
|
languageButton.layer?.backgroundColor = NSColor.clear.cgColor
|
|
|
languaeBox.borderColor = KMAppearance.Interactive.s0Color()
|
|
|
planBox.borderColor = KMAppearance.Interactive.s0Color()
|
|
|
languaeBox.fillColor = KMAppearance.Layout.l1Color()
|
|
|
planBox.fillColor = KMAppearance.Layout.l1Color()
|
|
|
+ languaeBox.isHidden = true
|
|
|
+
|
|
|
|
|
|
self.updateViewColor()
|
|
|
}
|
|
@@ -230,6 +387,9 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
func updateLanguageButton(_ languages: [String]?) {
|
|
|
if languages?.count ?? 0 < 1 {
|
|
|
self.languageButton.title = " " + KMLocalizedString("Auto Detection")
|
|
|
+
|
|
|
+ self.languageView_.properties.text = " " + KMLocalizedString("Auto Detection")
|
|
|
+ self.languageView_.reloadData()
|
|
|
return
|
|
|
}
|
|
|
var languageName: String = ""
|
|
@@ -247,6 +407,8 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
}
|
|
|
|
|
|
self.languageButton.title = " " + languageName
|
|
|
+ self.languageView_.properties.text = " " + languageName
|
|
|
+ self.languageView_.reloadData()
|
|
|
}
|
|
|
func converArrType(arr: Array<KMBatchOperateFile>, keyString: String) -> [String] {
|
|
|
let newArr = NSMutableArray()
|
|
@@ -283,12 +445,12 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
var isMerge = false
|
|
|
var isCreatNewPDF = false
|
|
|
var isOCR = false
|
|
|
- if self.ocrSelectBtn.state == .on {
|
|
|
+ if ocrCheckBox_.properties.checkboxType == .selected {
|
|
|
isOCR = true
|
|
|
}
|
|
|
|
|
|
var isSaveAs = false
|
|
|
- if self.saveAsButton.state == .on {
|
|
|
+ if extractTextCheckBox_.properties.checkboxType == .selected {
|
|
|
isSaveAs = true
|
|
|
}
|
|
|
|
|
@@ -307,7 +469,7 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- if self.createNewPDFBtn.state == .on {
|
|
|
+ if createNewPDFRadio_.properties.checkboxType == .selected {
|
|
|
if (self.choosePath.count < 1) {
|
|
|
let alert = NSAlert()
|
|
|
alert.alertStyle = .critical
|
|
@@ -319,7 +481,6 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
path = self.choosePath
|
|
|
|
|
|
if mergeAllCheckBox_.properties.checkboxType == .selected {
|
|
|
-// if self.btnMerge.state == .on {
|
|
|
isMerge = true
|
|
|
}
|
|
|
isCreatNewPDF = true
|
|
@@ -340,7 +501,10 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
}
|
|
|
|
|
|
self.languageButton.isEnabled = false
|
|
|
- self.planButton.isEnabled = false
|
|
|
+ ocrPlanRadio_.properties.isDisabled = true
|
|
|
+ ocrPlanRadio_.reloadData()
|
|
|
+ ocrPlanRadio2_.properties.isDisabled = true
|
|
|
+ ocrPlanRadio2_.reloadData()
|
|
|
self.method.password = self.password
|
|
|
self.interfaceStatus = .Processing
|
|
|
|
|
@@ -348,7 +512,10 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
self.method.exportPDFFile(fileArray: photoArray, savePath: path, isOCR: isOCR, isCreatPDF: isCreatNewPDF, isMerge: isMerge, isSaveAsText: isSaveAs) { [weak self] savePath, errorArr, errorOCRArray in
|
|
|
|
|
|
self?.languageButton.isEnabled = true
|
|
|
- self?.planButton.isEnabled = true
|
|
|
+ self?.ocrPlanRadio_.properties.isDisabled = false
|
|
|
+ self?.ocrPlanRadio_.reloadData()
|
|
|
+ self?.ocrPlanRadio2_.properties.isDisabled = false
|
|
|
+ self?.ocrPlanRadio2_.reloadData()
|
|
|
self?.interfaceStatus = .PrepareProcess
|
|
|
if errorArr.count > 0 {
|
|
|
let dict: [String: Any] = ["isMerge": false, "isSuccess": false]
|
|
@@ -391,6 +558,19 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
workspace.activateFileViewerSelecting([url])
|
|
|
}
|
|
|
|
|
|
+ // MARK: - Actions
|
|
|
+
|
|
|
+ @objc func ocrPlanAction(_ sender: ComponentRadio) {
|
|
|
+ for radio in [ocrPlanRadio_, ocrPlanRadio2_] {
|
|
|
+ if radio.isEqual(to: sender) {
|
|
|
+ radio.properties.checkboxType = .selected
|
|
|
+ radio.reloadData()
|
|
|
+ } else {
|
|
|
+ radio.properties.checkboxType = .normal
|
|
|
+ radio.reloadData()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//MARK: Notification
|
|
|
@objc func OCRSelectedLanguagesChangeNotification(notification: Notification) {
|
|
@@ -408,9 +588,17 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
func OCRSelectedPlanChangeAction() {
|
|
|
let plan = UserDefaults.standard.integer(forKey: "KMOCRCurrentPlanKey")
|
|
|
if plan == 0 {
|
|
|
- self.planButton.title = " " + KMLocalizedString("Plan 1 (Online)")
|
|
|
+// self.planButton.title = " " + KMLocalizedString("Plan 1 (Online)")
|
|
|
+ ocrPlanRadio_.properties.checkboxType = .selected
|
|
|
+ ocrPlanRadio_.reloadData()
|
|
|
+ ocrPlanRadio2_.properties.checkboxType = .normal
|
|
|
+ ocrPlanRadio2_.reloadData()
|
|
|
} else {
|
|
|
- self.planButton.title = " " + KMLocalizedString("Plan 2 (Offline)")
|
|
|
+// self.planButton.title = " " + KMLocalizedString("Plan 2 (Offline)")
|
|
|
+ ocrPlanRadio_.properties.checkboxType = .normal
|
|
|
+ ocrPlanRadio_.reloadData()
|
|
|
+ ocrPlanRadio2_.properties.checkboxType = .selected
|
|
|
+ ocrPlanRadio2_.reloadData()
|
|
|
}
|
|
|
KMGOCRManager.default().selectedLanguages = NSMutableArray()
|
|
|
self.updateLanguageButton(KMGOCRManager.default().selectedLanguages?.value(forKeyPath: KMGOCRLanguageStringKey) as? [String])
|
|
@@ -428,11 +616,9 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
|
|
|
@IBAction func buttonClicked_CreateNewPDF(_ sender: ComponentRadio) {
|
|
|
if (sender.properties.checkboxType == .selected) {
|
|
|
- self.btnMerge.isEnabled = true
|
|
|
mergeAllCheckBox_.properties.isDisabled = false
|
|
|
mergeAllCheckBox_.reloadData()
|
|
|
|
|
|
- self.appendPDFBtn.state = .off
|
|
|
appendRadio_.properties.checkboxType = .normal
|
|
|
appendRadio_.reloadData()
|
|
|
self.appendOtherPDFBtn.isEnabled = false
|
|
@@ -441,11 +627,9 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
|
|
|
@IBAction func buttonClicked_AppendOtherPDF(_ sender: ComponentRadio) {
|
|
|
if (sender.properties.checkboxType == .selected) {
|
|
|
- self.createNewPDFBtn.state = .off
|
|
|
createNewPDFRadio_.properties.checkboxType = .normal
|
|
|
createNewPDFRadio_.reloadData()
|
|
|
|
|
|
- self.btnMerge.isEnabled = false
|
|
|
mergeAllCheckBox_.properties.checkboxType = .normal
|
|
|
mergeAllCheckBox_.properties.isDisabled = true
|
|
|
mergeAllCheckBox_.reloadData()
|
|
@@ -454,21 +638,32 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @IBAction func buttonClicked_OCRSelect(_ sender: NSButton) {
|
|
|
+ @IBAction func buttonClicked_OCRSelect(_ sender: ComponentCheckBox) {
|
|
|
//MARK: 判断是否付费用户
|
|
|
if IAPProductsManager.default().isAvailableAllFunction() == false {
|
|
|
KMPurchaseCompareWindowController.sharedInstance().showWindow(nil)
|
|
|
- self.ocrSelectBtn.state = .off
|
|
|
+ ocrCheckBox_.properties.checkboxType = .normal
|
|
|
+ ocrCheckBox_.reloadData()
|
|
|
return
|
|
|
}
|
|
|
- if (sender.state == .on) {
|
|
|
- self.languageButton.isEnabled = true
|
|
|
- self.planButton.isEnabled = true
|
|
|
- self.saveAsButton.isEnabled = true
|
|
|
+ if (sender.properties.checkboxType == .selected) {
|
|
|
+ languageView_.properties.isDisabled = false
|
|
|
+ languageView_.reloadData()
|
|
|
+ ocrPlanRadio_.properties.isDisabled = false
|
|
|
+ ocrPlanRadio_.reloadData()
|
|
|
+ ocrPlanRadio2_.properties.isDisabled = false
|
|
|
+ ocrPlanRadio2_.reloadData()
|
|
|
+ extractTextCheckBox_.properties.isDisabled = false
|
|
|
+ extractTextCheckBox_.reloadData()
|
|
|
} else {
|
|
|
- self.languageButton.isEnabled = false
|
|
|
- self.planButton.isEnabled = false
|
|
|
- self.saveAsButton.isEnabled = false
|
|
|
+ languageView_.properties.isDisabled = true
|
|
|
+ languageView_.reloadData()
|
|
|
+ ocrPlanRadio_.properties.isDisabled = true
|
|
|
+ ocrPlanRadio_.reloadData()
|
|
|
+ ocrPlanRadio2_.properties.isDisabled = true
|
|
|
+ ocrPlanRadio2_.reloadData()
|
|
|
+ extractTextCheckBox_.properties.isDisabled = true
|
|
|
+ extractTextCheckBox_.reloadData()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -521,12 +716,12 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
}
|
|
|
|
|
|
var isOCR = false
|
|
|
- if self.ocrSelectBtn.state == .on {
|
|
|
+ if ocrCheckBox_.properties.checkboxType == .selected {
|
|
|
isOCR = true
|
|
|
}
|
|
|
|
|
|
var isSaveAs = false
|
|
|
- if self.saveAsButton.state == .on {
|
|
|
+ if extractTextCheckBox_.properties.checkboxType == .selected {
|
|
|
isSaveAs = true
|
|
|
}
|
|
|
|
|
@@ -545,7 +740,7 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- if self.createNewPDFBtn.state == .off {
|
|
|
+ if createNewPDFRadio_.properties.checkboxType != .selected {
|
|
|
let appenString = self.appendTextField.stringValue
|
|
|
if appenString.isEmpty {
|
|
|
let alert = NSAlert()
|