diff --git a/Packages/vChewing_UpdateSputnik/Sources/UpdateSputnik/UpdateSputnik.swift b/Packages/vChewing_UpdateSputnik/Sources/UpdateSputnik/UpdateSputnik.swift
index 9731de56..0424b1d2 100644
--- a/Packages/vChewing_UpdateSputnik/Sources/UpdateSputnik/UpdateSputnik.swift
+++ b/Packages/vChewing_UpdateSputnik/Sources/UpdateSputnik/UpdateSputnik.swift
@@ -11,6 +11,7 @@ import Cocoa
public class UpdateSputnik {
public static let shared: UpdateSputnik = .init()
public let kUpdateInfoPageURLKey: String = "UpdateInfoSite"
+ public let kUpdateInfoPageURLGitHubKey: String = "UpdateInfoSiteGitHub"
public let kUpdateCheckDateKeyPrevious: String = "PreviousUpdateCheckDate"
public let kUpdateCheckDateKeyNext: String = "NextUpdateCheckDate"
public let kUpdateCheckInterval: TimeInterval = 114_514
@@ -127,20 +128,33 @@ public class UpdateSputnik {
intRemoteVersion.description
)
let alert = NSAlert()
- alert.messageText = NSLocalizedString("New Version Available", comment: "")
alert.informativeText = content
- alert.addButton(withTitle: NSLocalizedString("Visit Website", comment: ""))
+ alert.messageText = NSLocalizedString("New Version Available", comment: "")
+ let strVisitWebsite = NSLocalizedString("Visit Website", comment: "")
+ alert.addButton(withTitle: "\(strVisitWebsite) (Gitee)")
+ alert.addButton(withTitle: "\(strVisitWebsite) (GitHub)")
alert.addButton(withTitle: NSLocalizedString("Not Now", comment: ""))
+
+ guard let siteInfoURLString = plist["\(kUpdateInfoPageURLKey)"] as? String,
+ let siteURL = URL(string: siteInfoURLString),
+ let siteInfoURLStringGitHub = plist["\(kUpdateInfoPageURLGitHubKey)"] as? String,
+ let siteURLGitHub = URL(string: siteInfoURLStringGitHub)
+ else {
+ return
+ }
+
let result = alert.runModal()
NSApp.activate(ignoringOtherApps: true)
- if result == NSApplication.ModalResponse.alertFirstButtonReturn {
- if let siteInfoURLString = plist[kUpdateInfoPageURLKey] as? String,
- let siteURL = URL(string: siteInfoURLString)
- {
- DispatchQueue.main.async {
- NSWorkspace.shared.open(siteURL)
- }
+ switch result {
+ case .alertFirstButtonReturn:
+ DispatchQueue.main.async {
+ NSWorkspace.shared.open(siteURL)
}
+ case .alertSecondButtonReturn:
+ DispatchQueue.main.async {
+ NSWorkspace.shared.open(siteURLGitHub)
+ }
+ default: break
}
}
diff --git a/Source/Resources/IME-Info.plist b/Source/Resources/IME-Info.plist
index 0edd3eab..7f16fb4b 100644
--- a/Source/Resources/IME-Info.plist
+++ b/Source/Resources/IME-Info.plist
@@ -157,6 +157,8 @@ SOFTWARE.
https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist
UpdateInfoSite
https://gitee.com/vChewing/vChewing-macOS/releases
+ UpdateInfoSiteGitHub
+ https://gitee.com/vChewing/vChewing-macOS/releases
tsInputMethodCharacterRepertoireKey
Hans
diff --git a/Update-Info.plist b/Update-Info.plist
index e3b7ae36..60aedfb3 100644
--- a/Update-Info.plist
+++ b/Update-Info.plist
@@ -10,5 +10,7 @@
https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist
UpdateInfoSite
https://gitee.com/vChewing/vChewing-macOS/releases
+ UpdateInfoSiteGitHub
+ https://gitee.com/vChewing/vChewing-macOS/releases