|
@@ -108,67 +108,75 @@ class KMAITranslationVC: NSViewController {
|
|
|
}
|
|
|
self.selectYourFilesBox.downCallback = { [unowned self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
|
|
|
if downEntered {
|
|
|
- if !KMLightMemberManager.manager.isLogin() {
|
|
|
- KMLoginWindowController.show(window: NSApp.mainWindow!)
|
|
|
- return
|
|
|
- }
|
|
|
- self.errorView.isHidden = true
|
|
|
+// if !KMLightMemberManager.manager.isLogin() {
|
|
|
+// KMLoginWindowController.show(window: NSApp.mainWindow!)
|
|
|
+//
|
|
|
+// return
|
|
|
+// }
|
|
|
+ Task { @MainActor in
|
|
|
+ if await (KMLightMemberManager.manager.canPayFunction() == false) {
|
|
|
+ let _ = KMComparativeTableViewController.aiFunctionShow(window: self.view.window!)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ self.errorView.isHidden = true
|
|
|
|
|
|
- let openPanel = NSOpenPanel()
|
|
|
- openPanel.allowedFileTypes = ["pdf", "PDF", "docx", "doc"]
|
|
|
- openPanel.allowsMultipleSelection = false
|
|
|
- openPanel.beginSheetModal(for: self.view.window!) { result in
|
|
|
- if result == .OK {
|
|
|
- for url in openPanel.urls {
|
|
|
- let isExceedsLimit = self.isPDFPageCountExceedsLimit(filePath: url.path)
|
|
|
- if (url.pathExtension == "pdf") || url.pathExtension == "PDF" {
|
|
|
- if !url.path.isPDFValid() {
|
|
|
- let alert = NSAlert()
|
|
|
- alert.alertStyle = .critical
|
|
|
- alert.messageText = NSLocalizedString("An error occurred while opening this document. The file is damaged and could not be repaired.", comment: "")
|
|
|
- alert.runModal()
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- if self.isFileGreaterThan10MB(atPath: url.path) {
|
|
|
- self.errorView.isHidden = false
|
|
|
- self.errorLabel.stringValue = NSLocalizedString("The uploaded file size cannot exceed 10MB", comment: "")
|
|
|
- } else if isExceedsLimit {
|
|
|
- self.errorView.isHidden = false
|
|
|
- self.errorLabel.stringValue = NSLocalizedString("Documents cannot exceed 30 pages", comment: "")
|
|
|
- } else {
|
|
|
- DispatchQueue.main.async {
|
|
|
- self.showProgressWindow()
|
|
|
- self.progressController?.maxValue = Double(100)
|
|
|
+ let openPanel = NSOpenPanel()
|
|
|
+ openPanel.allowedFileTypes = ["pdf", "PDF", "docx", "doc"]
|
|
|
+ openPanel.allowsMultipleSelection = false
|
|
|
+ openPanel.beginSheetModal(for: self.view.window!) { result in
|
|
|
+ if result == .OK {
|
|
|
+ for url in openPanel.urls {
|
|
|
+ let isExceedsLimit = self.isPDFPageCountExceedsLimit(filePath: url.path)
|
|
|
+ if (url.pathExtension == "pdf") || url.pathExtension == "PDF" {
|
|
|
+ if !url.path.isPDFValid() {
|
|
|
+ let alert = NSAlert()
|
|
|
+ alert.alertStyle = .critical
|
|
|
+ alert.messageText = NSLocalizedString("An error occurred while opening this document. The file is damaged and could not be repaired.", comment: "")
|
|
|
+ alert.runModal()
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerTick), userInfo: nil, repeats: true)
|
|
|
-
|
|
|
- let infoDictionary = Bundle .main.infoDictionary!
|
|
|
- let majorVersion = infoDictionary["CFBundleShortVersionString"]
|
|
|
+ if self.isFileGreaterThan10MB(atPath: url.path) {
|
|
|
+ self.errorView.isHidden = false
|
|
|
+ self.errorLabel.stringValue = NSLocalizedString("The uploaded file size cannot exceed 10MB", comment: "")
|
|
|
+ } else if isExceedsLimit {
|
|
|
+ self.errorView.isHidden = false
|
|
|
+ self.errorLabel.stringValue = NSLocalizedString("Documents cannot exceed 30 pages", comment: "")
|
|
|
+ } else {
|
|
|
+ DispatchQueue.main.async {
|
|
|
+ self.showProgressWindow()
|
|
|
+ self.progressController?.maxValue = Double(100)
|
|
|
+ }
|
|
|
+
|
|
|
+ timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerTick), userInfo: nil, repeats: true)
|
|
|
+
|
|
|
+ let infoDictionary = Bundle .main.infoDictionary!
|
|
|
+ let majorVersion = infoDictionary["CFBundleShortVersionString"]
|
|
|
|
|
|
- let languages = [self.automaticLabel.stringValue, self.languageLabel.stringValue]
|
|
|
- UserDefaults.standard.set(languages, forKey: "KMAITranslationLanguageArrayKey")
|
|
|
- UserDefaults.standard.synchronize()
|
|
|
-
|
|
|
- KMRequestServerManager.manager.aiTranslationFileUpload(file: url.path, version: majorVersion as! String) { [unowned self] success, result in
|
|
|
-// self.hiddenProgressWindow()
|
|
|
- if success {
|
|
|
- let result: NSDictionary = result!.result
|
|
|
+ let languages = [self.automaticLabel.stringValue, self.languageLabel.stringValue]
|
|
|
+ UserDefaults.standard.set(languages, forKey: "KMAITranslationLanguageArrayKey")
|
|
|
+ UserDefaults.standard.synchronize()
|
|
|
+
|
|
|
+ KMRequestServerManager.manager.aiTranslationFileUpload(file: url.path, version: majorVersion as! String) { [unowned self] success, result in
|
|
|
+ // self.hiddenProgressWindow()
|
|
|
+ if success {
|
|
|
+ let result: NSDictionary = result!.result
|
|
|
|
|
|
- let fileKey = result["fileKey"]
|
|
|
- let fileName = result["fileName"]
|
|
|
- let pageCount = result["pageCount"]
|
|
|
- if fileKey != nil {
|
|
|
- self.fileTranslateHandle(fileKey as! String)
|
|
|
- }
|
|
|
- } else {
|
|
|
- let result: String = result!.message
|
|
|
+ let fileKey = result["fileKey"]
|
|
|
+ let fileName = result["fileName"]
|
|
|
+ let pageCount = result["pageCount"]
|
|
|
+ if fileKey != nil {
|
|
|
+ self.fileTranslateHandle(fileKey as! String)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let result: String = result!.message
|
|
|
|
|
|
- DispatchQueue.main.async {
|
|
|
- self.hiddenProgressWindow()
|
|
|
- self.errorView.isHidden = false
|
|
|
- self.errorLabel.stringValue = result
|
|
|
+ DispatchQueue.main.async {
|
|
|
+ self.hiddenProgressWindow()
|
|
|
+ self.errorView.isHidden = false
|
|
|
+ self.errorLabel.stringValue = result
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -176,7 +184,6 @@ class KMAITranslationVC: NSViewController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|