|
@@ -103,6 +103,16 @@ class AppDelegate: NSObject, NSApplicationDelegate, iRateDelegate{
|
|
|
sud.synchronize()
|
|
|
}
|
|
|
UserDefaults.standard.register(defaults: ["NSApplicationCrashOnExceptions" : true])
|
|
|
+
|
|
|
+ let oemInstall = UserDefaults.standard.bool(forKey: "KMOEMRequestStateInstall")
|
|
|
+ if !oemInstall {
|
|
|
+ KMOEMRequestServerManager.defaultManager.oemRequest(state: .install, regCode: "") { wrapper in
|
|
|
+ if wrapper.success {
|
|
|
+ UserDefaults.standard.setValue(true, forKey: "KMOEMRequestStateInstall")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ self.checkForUpdates1(NSMenuItem())
|
|
|
|
|
|
NSApp.servicesProvider = self
|
|
|
|
|
@@ -653,8 +663,111 @@ class AppDelegate: NSObject, NSApplicationDelegate, iRateDelegate{
|
|
|
}
|
|
|
|
|
|
// MARK:- DMG
|
|
|
+ @objc func checkForUpdates1(_ sender: NSMenuItem) {
|
|
|
+ KMOEMRequestServerManager.defaultManager.oemRequest(state: .update, regCode: "") { wrapper in
|
|
|
+ if wrapper.success {
|
|
|
+ if let version = wrapper.data["version"] as? String {
|
|
|
+ let alert = NSAlert()
|
|
|
+ alert.alertStyle = .critical
|
|
|
+ alert.messageText = NSLocalizedString("A new version of Cisdem Duplicate Finder is available!", comment: "")
|
|
|
+ alert.informativeText = String(format: NSLocalizedString("Cisdem Duplicate Finder %@ is now available---you have %@. Would you like to download it now?", comment: ""), version, KMOEMRequestServerManager.defaultManager.version())
|
|
|
+ alert.addButton(withTitle: NSLocalizedString("Yes", comment: ""))
|
|
|
+ alert.addButton(withTitle: NSLocalizedString("Ignore", comment: ""))
|
|
|
+ alert.addButton(withTitle: NSLocalizedString("NO", comment: ""))
|
|
|
+
|
|
|
+ alert.beginSheetModal(for: NSApplication.shared.keyWindow!) { response in
|
|
|
+ if response == .alertFirstButtonReturn {
|
|
|
+ let defs = UserDefaults.standard
|
|
|
+ if let languages = defs.object(forKey: "AppleLanguages") as? [String], let preferredLang = languages.first {
|
|
|
+ var tStrUrl = "https://www.cisdem.com/pdfmaster.html"
|
|
|
+ if preferredLang.hasPrefix("de") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/de/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("fr") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/fr/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("it") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/it/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("es") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/es/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("pt") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/pt/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("ja") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/jp/pdfmaster.html"
|
|
|
+ }
|
|
|
+ let tStrHttpUrl = tStrUrl
|
|
|
+ let tWorkSpace = NSWorkspace.shared
|
|
|
+ if !tWorkSpace.open(URL(string: tStrUrl)!) {
|
|
|
+ tWorkSpace.open(URL(string: tStrHttpUrl)!)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if response == .alertSecondButtonReturn {
|
|
|
+ UserDefaults.standard.setValue(KMOEMRequestServerManager.defaultManager.version(), forKey: "KMOEMRequestStateUpdate")
|
|
|
+ } else if response == .alertThirdButtonReturn {
|
|
|
+ // Handle "NO" response if needed
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@objc func checkForUpdates(_ sender: NSMenuItem) {
|
|
|
+ KMOEMRequestServerManager.defaultManager.oemRequest(state: .update, regCode: "") { wrapper in
|
|
|
+ if wrapper.success {
|
|
|
+ if let version = wrapper.data["version"] as? String {
|
|
|
+ let alert = NSAlert()
|
|
|
+ alert.alertStyle = .critical
|
|
|
+ alert.messageText = NSLocalizedString("A new version of Cisdem Duplicate Finder is available!", comment: "")
|
|
|
+ alert.informativeText = String(format: NSLocalizedString("Cisdem Duplicate Finder %@ is now available---you have %@. Would you like to download it now?", comment: ""), version, KMOEMRequestServerManager.defaultManager.version())
|
|
|
+ alert.addButton(withTitle: NSLocalizedString("Yes", comment: ""))
|
|
|
+ alert.addButton(withTitle: NSLocalizedString("Ignore", comment: ""))
|
|
|
+ alert.addButton(withTitle: NSLocalizedString("NO", comment: ""))
|
|
|
+
|
|
|
+ alert.beginSheetModal(for: NSApplication.shared.keyWindow!) { response in
|
|
|
+ if response == .alertFirstButtonReturn {
|
|
|
+ let defs = UserDefaults.standard
|
|
|
+ if let languages = defs.object(forKey: "AppleLanguages") as? [String], let preferredLang = languages.first {
|
|
|
+ var tStrUrl = "https://www.cisdem.com/pdfmaster.html"
|
|
|
+ if preferredLang.hasPrefix("de") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/de/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("fr") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/fr/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("it") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/it/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("es") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/es/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("pt") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/pt/pdfmaster.html"
|
|
|
+ } else if preferredLang.hasPrefix("ja") {
|
|
|
+ tStrUrl = "https://www.cisdem.com/jp/pdfmaster.html"
|
|
|
+ }
|
|
|
+ let tStrHttpUrl = tStrUrl
|
|
|
+ let tWorkSpace = NSWorkspace.shared
|
|
|
+ if !tWorkSpace.open(URL(string: tStrUrl)!) {
|
|
|
+ tWorkSpace.open(URL(string: tStrHttpUrl)!)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if response == .alertSecondButtonReturn {
|
|
|
+ UserDefaults.standard.setValue(KMOEMRequestServerManager.defaultManager.version(), forKey: "KMOEMRequestStateUpdate")
|
|
|
+ } else if response == .alertThirdButtonReturn {
|
|
|
+ // Handle "NO" response if needed
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if let code = wrapper.data["code"] as? Int, code == 201 {
|
|
|
+ let alert = NSAlert()
|
|
|
+ alert.alertStyle = .informational
|
|
|
+ alert.messageText = String(format: NSLocalizedString("You're up-to-date! %@ is currently the newest version available.", comment: ""), "Cisdem PDFMaster")
|
|
|
+ alert.addButton(withTitle: NSLocalizedString("Yes", comment: ""))
|
|
|
|
|
|
+ alert.beginSheetModal(for: NSApplication.shared.keyWindow!) { response in
|
|
|
+ if response == .alertFirstButtonReturn {
|
|
|
+ // Handle "Yes" response if needed
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@objc func enterLicense(_ sender: NSMenuItem) {
|