123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- //
- // KMConvertSettingView.swift
- // PDF Master
- //
- // Created by tangchao on 2023/5/9.
- //
- let kKMConvertLanugageSelectedIndex: String = "KMConvertLanugageSelectedIndex"
- typealias KMConvertSettingViewPageRangeDidChangeCallback = (_ pageRange: KMPageRange) -> Void
- typealias KMConvertSettingViewPageRangeDidInputFinishCallback = (_ pageRangeString: String) -> ()
- // 转档 设置视图 基类
- class KMConvertSettingView: KMConvertBaseView {
- private var _currentLanguage: String?
- var currentLanguage: String? {
- get {
- return self._currentLanguage
- }
- set {
- self._currentLanguage = newValue
-
- if let indexString = UserDefaults.standard.string(forKey: kKMConvertLanugageSelectedIndex), let index = Int(indexString) {
- self.ocrLanuguageIndex = index
- return
- }
- if let result = newValue?.hasPrefix("zh-Hans"), result {
- ocrLanuguageIndex = 0
- } else if let result = newValue?.hasPrefix("en"), result {
- ocrLanuguageIndex = 2
- } else if let result = newValue?.hasPrefix("zh-Hant"), result {
- ocrLanuguageIndex = 1
- } else if let result = newValue?.hasPrefix("fr"), result {
- ocrLanuguageIndex = 3
- } else if let result = newValue?.hasPrefix("de"), result {
- ocrLanuguageIndex = 4
- } else if let result = newValue?.hasPrefix("ht"), result { /// 海地克里奥尔语 Haitian
- ocrLanuguageIndex = 5
- } else if let result = newValue?.hasPrefix("ja"), result {
- ocrLanuguageIndex = 6
- } else if let result = newValue?.hasPrefix("ko"), result {
- ocrLanuguageIndex = 7
- } else if let result = newValue?.hasPrefix("la"), result { /// 拉丁语 Latin
- ocrLanuguageIndex = 8
- } else {
- ocrLanuguageIndex = 2
- }
- }
- }
-
- var ocrLanuguageIndex: Int = 3
-
- var pageRangeSelectedIndex: Int = 0
- var pageRangeDidChange: KMConvertSettingViewPageRangeDidChangeCallback?
- var pageRangeDidInputFinishCallback: KMConvertSettingViewPageRangeDidInputFinishCallback?
- var lanugageDidSelected: KMValueDidChangeBlock?
-
- private var _ocrItemView: KMConvertOCRSettingItemView?
- var ocrItemView: KMConvertOCRSettingItemView? {
- get {
- return self._ocrItemView
- }
- set {
- if (self._ocrItemView != newValue) {
- self._ocrItemView = newValue
-
- newValue?.lanugageDidSelected = { [unowned self] value, change in
- guard let callback = self.lanugageDidSelected else {
- return
- }
-
- callback(value, change)
- }
- }
- }
- }
- private var _pageRangeItemView: KMConvertPageRangeSettingItemView?
- var pageRangeItemView: KMConvertPageRangeSettingItemView? {
- get {
- return self._pageRangeItemView
- }
- set {
- if (self._pageRangeItemView != newValue) {
- self._pageRangeItemView = newValue
- newValue?.isTextDidEndCallback = true
- newValue?.itemClick = { [unowned self] index, _ in
- self.pageRangeSelectedIndex = index
-
- guard let callback = self.pageRangeDidChange else {
- return
- }
-
- callback(KMPageRange(rawValue: index)!)
- }
-
- newValue?.textDidEndEditingCallback = { [unowned self] textString in
- let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
- if (pageRange != .custom) {
- return
- }
-
- guard let callback = self.pageRangeDidInputFinishCallback else {
- return
- }
-
- callback(textString)
- }
- }
- }
- }
-
- var pageCount = 0 {
- didSet {
- self.pageRangeItemView?.pageCount = self.pageCount
- }
- }
-
- var ocrEnabled: Bool {
- get {
- guard let state = self.ocrItemView?.checkVC?.state else {
- return false
- }
- return state == .Checked
- }
- }
-
- func getPageRangeString() -> String {
- if let view = self.pageRangeItemView {
- return view.pageRangeValue
- }
- return ""
- }
- }
|