diff --git a/Source/Modules/AppDelegate.swift b/Source/Modules/AppDelegate.swift
index e7f66e06..09e2fb05 100644
--- a/Source/Modules/AppDelegate.swift
+++ b/Source/Modules/AppDelegate.swift
@@ -24,9 +24,6 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
}
public let updateSputnik = UpdateSputnik()
- private var ctlClientListMgrInstance: ctlClientListMgr?
- private var ctlPrefWindowInstance: ctlPrefWindow?
- private var ctlAboutWindowInstance: ctlAboutWindow? // New About Window
public var folderMonitor = FolderMonitor(
url: URL(fileURLWithPath: LMMgr.dataFolderPath(isDefaultFolder: false))
)
@@ -90,40 +87,6 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
}
}
- func showClientListMgr() {
- if ctlClientListMgrInstance == nil {
- ctlClientListMgrInstance = ctlClientListMgr.init(windowNibName: "frmClientListMgr")
- }
- ctlClientListMgrInstance?.window?.center()
- ctlClientListMgrInstance?.window?.orderFrontRegardless() // 逼著屬性視窗往最前方顯示
- ctlClientListMgrInstance?.window?.level = .statusBar
- ctlClientListMgrInstance?.window?.titlebarAppearsTransparent = true
- NSApp.setActivationPolicy(.accessory)
- }
-
- func showPreferences() {
- if ctlPrefWindowInstance == nil {
- ctlPrefWindowInstance = ctlPrefWindow.init(windowNibName: "frmPrefWindow")
- }
- ctlPrefWindowInstance?.window?.center()
- ctlPrefWindowInstance?.window?.orderFrontRegardless() // 逼著屬性視窗往最前方顯示
- ctlPrefWindowInstance?.window?.level = .statusBar
- ctlPrefWindowInstance?.window?.titlebarAppearsTransparent = true
- NSApp.setActivationPolicy(.accessory)
- }
-
- // New About Window
- func showAbout() {
- if ctlAboutWindowInstance == nil {
- ctlAboutWindowInstance = ctlAboutWindow.init(windowNibName: "frmAboutWindow")
- }
- ctlAboutWindowInstance?.window?.center()
- ctlAboutWindowInstance?.window?.orderFrontRegardless() // 逼著關於視窗往最前方顯示
- ctlAboutWindowInstance?.window?.level = .statusBar
- ctlAboutWindowInstance?.window?.titlebarAppearsTransparent = true
- NSApp.setActivationPolicy(.accessory)
- }
-
func selfUninstall() {
currentAlertType = "Uninstall"
let content = String(
@@ -150,7 +113,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
// New About Window
@IBAction func about(_: Any) {
- (NSApp.delegate as? AppDelegate)?.showAbout()
+ CtlAboutWindow.show()
NSApplication.shared.activate(ignoringOtherApps: true)
}
}
diff --git a/Source/Modules/SessionCtl_Menu.swift b/Source/Modules/SessionCtl_Menu.swift
index e0b482ea..44dcefc8 100644
--- a/Source/Modules/SessionCtl_Menu.swift
+++ b/Source/Modules/SessionCtl_Menu.swift
@@ -193,21 +193,17 @@ extension SessionCtl {
extension SessionCtl {
@objc public override func showPreferences(_: Any?) {
if #unavailable(macOS 10.15) {
- showLegacyPreferences()
+ CtlPrefWindow.show()
} else if NSEvent.modifierFlags.contains(.option) {
- showLegacyPreferences()
+ CtlPrefWindow.show()
} else {
NSApp.setActivationPolicy(.accessory)
ctlPrefUI.shared.controller.show(preferencePane: Preferences.PaneIdentifier(rawValue: "General"))
ctlPrefUI.shared.controller.window?.level = .statusBar
+ NSApp.activate(ignoringOtherApps: true)
}
}
- public func showLegacyPreferences() {
- (NSApp.delegate as? AppDelegate)?.showPreferences()
- NSApp.activate(ignoringOtherApps: true)
- }
-
@objc public func showCheatSheet(_: Any?) {
guard let url = Bundle.main.url(forResource: "shortcuts", withExtension: "html") else { return }
DispatchQueue.main.async {
@@ -216,7 +212,7 @@ extension SessionCtl {
}
@objc public func showClientListMgr(_: Any?) {
- (NSApp.delegate as? AppDelegate)?.showClientListMgr()
+ CtlClientListMgr.show()
NSApp.activate(ignoringOtherApps: true)
}
@@ -387,7 +383,7 @@ extension SessionCtl {
}
@objc public func showAbout(_: Any?) {
- (NSApp.delegate as? AppDelegate)?.showAbout()
+ CtlAboutWindow.show()
NSApp.activate(ignoringOtherApps: true)
}
}
diff --git a/Source/Modules/WindowControllers/ctlAboutWindow.swift b/Source/Modules/WindowControllers/CtlAboutWindow.swift
similarity index 79%
rename from Source/Modules/WindowControllers/ctlAboutWindow.swift
rename to Source/Modules/WindowControllers/CtlAboutWindow.swift
index 1ee16ca0..26af654d 100644
--- a/Source/Modules/WindowControllers/ctlAboutWindow.swift
+++ b/Source/Modules/WindowControllers/CtlAboutWindow.swift
@@ -8,11 +8,23 @@
import Cocoa
-class ctlAboutWindow: NSWindowController {
+class CtlAboutWindow: NSWindowController {
@IBOutlet var appVersionLabel: NSTextField!
@IBOutlet var appCopyrightLabel: NSTextField!
@IBOutlet var appEULAContent: NSTextView!
+ public static var shared: CtlAboutWindow?
+
+ static func show() {
+ if shared == nil { shared = CtlAboutWindow(windowNibName: "frmAboutWindow") }
+ guard let sharedWindow = shared?.window else { return }
+ sharedWindow.center()
+ sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示
+ sharedWindow.level = .statusBar
+ sharedWindow.titlebarAppearsTransparent = true
+ NSApp.setActivationPolicy(.accessory)
+ }
+
override func windowDidLoad() {
super.windowDidLoad()
diff --git a/Source/Modules/WindowControllers/ctlClientListMgr.swift b/Source/Modules/WindowControllers/CtlClientListMgr.swift
similarity index 93%
rename from Source/Modules/WindowControllers/ctlClientListMgr.swift
rename to Source/Modules/WindowControllers/CtlClientListMgr.swift
index e6dc2093..e07df6a5 100644
--- a/Source/Modules/WindowControllers/ctlClientListMgr.swift
+++ b/Source/Modules/WindowControllers/CtlClientListMgr.swift
@@ -8,11 +8,24 @@
import Cocoa
-class ctlClientListMgr: NSWindowController, NSTableViewDelegate, NSTableViewDataSource {
+class CtlClientListMgr: NSWindowController, NSTableViewDelegate, NSTableViewDataSource {
@IBOutlet var tblClients: NSTableView!
@IBOutlet var btnRemoveClient: NSButton!
@IBOutlet var btnAddClient: NSButton!
@IBOutlet var lblClientMgrWindow: NSTextField!
+
+ public static var shared: CtlClientListMgr?
+
+ static func show() {
+ if shared == nil { shared = CtlClientListMgr(windowNibName: "frmClientListMgr") }
+ guard let sharedWindow = shared?.window else { return }
+ sharedWindow.center()
+ sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示
+ sharedWindow.level = .statusBar
+ sharedWindow.titlebarAppearsTransparent = true
+ NSApp.setActivationPolicy(.accessory)
+ }
+
override func windowDidLoad() {
super.windowDidLoad()
localize()
@@ -25,7 +38,7 @@ class ctlClientListMgr: NSWindowController, NSTableViewDelegate, NSTableViewData
// MARK: - Implementations
-extension ctlClientListMgr {
+extension CtlClientListMgr {
func numberOfRows(in _: NSTableView) -> Int {
PrefMgr.shared.clientsIMKTextInputIncapable.count
}
diff --git a/Source/Modules/WindowControllers/ctlPrefWindow.swift b/Source/Modules/WindowControllers/CtlPrefWindow.swift
similarity index 95%
rename from Source/Modules/WindowControllers/ctlPrefWindow.swift
rename to Source/Modules/WindowControllers/CtlPrefWindow.swift
index e37f5b51..42d50916 100644
--- a/Source/Modules/WindowControllers/ctlPrefWindow.swift
+++ b/Source/Modules/WindowControllers/CtlPrefWindow.swift
@@ -25,8 +25,8 @@ extension NSToolbarItem.Identifier {
// Please note that the class should be exposed using the same class name
// in Objective-C in order to let IMK to see the same class name as
// the "InputMethodServerPreferencesWindowControllerClass" in Info.plist.
-@objc(ctlPrefWindow)
-class ctlPrefWindow: NSWindowController {
+@objc(CtlPrefWindow)
+class CtlPrefWindow: NSWindowController {
@IBOutlet var fontSizePopUpButton: NSPopUpButton!
@IBOutlet var uiLanguageButton: NSPopUpButton!
@IBOutlet var basicKeyboardLayoutButton: NSPopUpButton!
@@ -43,7 +43,19 @@ class ctlPrefWindow: NSWindowController {
@IBOutlet var vwrKeyboard: NSView!
@IBOutlet var vwrDevZone: NSView!
- var currentLanguageSelectItem: NSMenuItem?
+ public static var shared: CtlPrefWindow?
+
+ static func show() {
+ if shared == nil { shared = CtlPrefWindow(windowNibName: "frmPrefWindow") }
+ guard let sharedWindow = shared?.window else { return }
+ sharedWindow.center()
+ sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示
+ sharedWindow.level = .statusBar
+ sharedWindow.titlebarAppearsTransparent = true
+ NSApp.setActivationPolicy(.accessory)
+ }
+
+ private var currentLanguageSelectItem: NSMenuItem?
override func windowDidLoad() {
super.windowDidLoad()
@@ -266,7 +278,7 @@ class ctlPrefWindow: NSWindowController {
} // End IBAction
}
-extension ctlPrefWindow: NSToolbarDelegate {
+extension CtlPrefWindow: NSToolbarDelegate {
func use(view: NSView) {
guard let window = window else {
return
diff --git a/Source/Resources/IME-Info.plist b/Source/Resources/IME-Info.plist
index 855d4f05..b012c06e 100644
--- a/Source/Resources/IME-Info.plist
+++ b/Source/Resources/IME-Info.plist
@@ -124,7 +124,7 @@ SOFTWARE.
InputMethodServerDelegateClass
SessionCtl
InputMethodServerPreferencesWindowControllerClass
- ctlPrefWindow
+ CtlPrefWindow
InputMethodSessionController
SessionCtl
LSApplicationCategoryType
diff --git a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib
index 2c55edda..b044a414 100644
--- a/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib
+++ b/Source/WindowNIBs/Base.lproj/frmPrefWindow.xib
@@ -1,12 +1,11 @@
-
-
+
diff --git a/Source/WindowNIBs/frmClientListMgr.xib b/Source/WindowNIBs/frmClientListMgr.xib
index a4b6bf0c..825d65a0 100644
--- a/Source/WindowNIBs/frmClientListMgr.xib
+++ b/Source/WindowNIBs/frmClientListMgr.xib
@@ -1,13 +1,12 @@
-
-
+
@@ -43,7 +42,7 @@
-
+
diff --git a/UserPhraseEditor/AppDelegate.swift b/UserPhraseEditor/AppDelegate.swift
index d471b5b8..f0cefbc3 100644
--- a/UserPhraseEditor/AppDelegate.swift
+++ b/UserPhraseEditor/AppDelegate.swift
@@ -10,8 +10,6 @@ import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
- private var ctlAboutWindowInstance: ctlAboutWindow? // New About Window
-
func applicationDidFinishLaunching(_: Notification) {
// Insert code here to initialize your application
}
@@ -24,20 +22,9 @@ class AppDelegate: NSObject, NSApplicationDelegate {
.terminateNow
}
- // New About Window
- @objc func showAbout() {
- if ctlAboutWindowInstance == nil {
- ctlAboutWindowInstance = ctlAboutWindow.init(windowNibName: "frmAboutWindow")
- }
- ctlAboutWindowInstance?.window?.center()
- ctlAboutWindowInstance?.window?.orderFrontRegardless() // 逼著關於視窗往最前方顯示
- ctlAboutWindowInstance?.window?.level = .statusBar
- ctlAboutWindowInstance?.window?.titlebarAppearsTransparent = true
- }
-
// Call the New About Window
@IBAction func about(_: Any) {
- (NSApp.delegate as? AppDelegate)?.showAbout()
+ CtlAboutWindow.show()
NSApplication.shared.activate(ignoringOtherApps: true)
}
}
diff --git a/UserPhraseEditor/ctlAboutWindow.swift b/UserPhraseEditor/CtlAboutWindow.swift
similarity index 76%
rename from UserPhraseEditor/ctlAboutWindow.swift
rename to UserPhraseEditor/CtlAboutWindow.swift
index 9f6ed90e..73b29e2d 100644
--- a/UserPhraseEditor/ctlAboutWindow.swift
+++ b/UserPhraseEditor/CtlAboutWindow.swift
@@ -8,11 +8,23 @@
import Cocoa
-@objc(AboutWindow) class ctlAboutWindow: NSWindowController {
+@objc(AboutWindow) class CtlAboutWindow: NSWindowController {
@IBOutlet var appVersionLabel: NSTextField!
@IBOutlet var appCopyrightLabel: NSTextField!
@IBOutlet var appEULAContent: NSTextView!
+ public static var shared: CtlAboutWindow?
+
+ static func show() {
+ if shared == nil { shared = CtlAboutWindow(windowNibName: "frmAboutWindow") }
+ guard let sharedWindow = shared?.window else { return }
+ sharedWindow.center()
+ sharedWindow.orderFrontRegardless() // 逼著視窗往最前方顯示
+ sharedWindow.level = .statusBar
+ sharedWindow.titlebarAppearsTransparent = true
+ NSApp.setActivationPolicy(.accessory)
+ }
+
override func windowDidLoad() {
super.windowDidLoad()
diff --git a/vChewing.xcodeproj/project.pbxproj b/vChewing.xcodeproj/project.pbxproj
index 298654d1..9755899c 100644
--- a/vChewing.xcodeproj/project.pbxproj
+++ b/vChewing.xcodeproj/project.pbxproj
@@ -11,7 +11,7 @@
5B09307628B6FC3B0021F8C5 /* shortcuts.html in Resources */ = {isa = PBXBuildFile; fileRef = 5B09307828B6FC3B0021F8C5 /* shortcuts.html */; };
5B0AF8B527B2C8290096FE54 /* StringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B0AF8B427B2C8290096FE54 /* StringExtension.swift */; };
5B0EF55D28CDBF7100F8F7CE /* frmClientListMgr.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5B0EF55C28CDBF7100F8F7CE /* frmClientListMgr.xib */; };
- 5B0EF55F28CDBF8E00F8F7CE /* ctlClientListMgr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B0EF55E28CDBF8E00F8F7CE /* ctlClientListMgr.swift */; };
+ 5B0EF55F28CDBF8E00F8F7CE /* CtlClientListMgr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B0EF55E28CDBF8E00F8F7CE /* CtlClientListMgr.swift */; };
5B21176C287539BB000443A9 /* SessionCtl_HandleStates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B21176B287539BB000443A9 /* SessionCtl_HandleStates.swift */; };
5B21176E28753B35000443A9 /* SessionCtl_HandleDisplay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B21176D28753B35000443A9 /* SessionCtl_HandleDisplay.swift */; };
5B21177028753B9D000443A9 /* SessionCtl_Delegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B21176F28753B9D000443A9 /* SessionCtl_Delegates.swift */; };
@@ -19,7 +19,7 @@
5B40113928D7050D00A9D4CB /* Shared in Frameworks */ = {isa = PBXBuildFile; productRef = 5B40113828D7050D00A9D4CB /* Shared */; };
5B40113C28D71C0100A9D4CB /* Uninstaller in Frameworks */ = {isa = PBXBuildFile; productRef = 5B40113B28D71C0100A9D4CB /* Uninstaller */; };
5B5A603028E81CC50001AE8D /* SwiftUIBackports in Frameworks */ = {isa = PBXBuildFile; productRef = 5B5A602F28E81CC50001AE8D /* SwiftUIBackports */; };
- 5B62A33D27AE7CC100A19448 /* ctlAboutWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B62A33C27AE7CC100A19448 /* ctlAboutWindow.swift */; };
+ 5B62A33D27AE7CC100A19448 /* CtlAboutWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B62A33C27AE7CC100A19448 /* CtlAboutWindow.swift */; };
5B660A8628F64A8800E5E4F6 /* SymbolMenuDefaultData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B660A8528F64A8800E5E4F6 /* SymbolMenuDefaultData.swift */; };
5B6C141228A9D4B30098ADF8 /* SessionCtl_HandleEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B6C141128A9D4B30098ADF8 /* SessionCtl_HandleEvent.swift */; };
5B73FB5E27B2BE1300E9BF49 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 5B73FB6027B2BE1300E9BF49 /* InfoPlist.strings */; };
@@ -85,7 +85,7 @@
5BDB7A4728D4824A001AC277 /* Tekkon in Frameworks */ = {isa = PBXBuildFile; productRef = 5BDB7A4628D4824A001AC277 /* Tekkon */; };
5BDCBB2E27B4E67A00D0CC59 /* vChewingPhraseEditor.app in Resources */ = {isa = PBXBuildFile; fileRef = 5BD05BB827B2A429004C4F1D /* vChewingPhraseEditor.app */; };
5BE377A0288FED8D0037365B /* InputHandler_HandleComposition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE3779F288FED8D0037365B /* InputHandler_HandleComposition.swift */; };
- 5BE78BD927B3775B005EA1BE /* ctlAboutWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE78BD827B37750005EA1BE /* ctlAboutWindow.swift */; };
+ 5BE78BD927B3775B005EA1BE /* CtlAboutWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BE78BD827B37750005EA1BE /* CtlAboutWindow.swift */; };
5BE78BDD27B3776D005EA1BE /* frmAboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5BE78BDA27B37764005EA1BE /* frmAboutWindow.xib */; };
5BEDB721283B4C250078EB25 /* data-cns.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5BEDB71D283B4AEA0078EB25 /* data-cns.plist */; };
5BEDB722283B4C250078EB25 /* data-zhuyinwen.plist in Resources */ = {isa = PBXBuildFile; fileRef = 5BEDB71F283B4AEA0078EB25 /* data-zhuyinwen.plist */; };
@@ -115,7 +115,7 @@
6ACA420215FC1E5200935EF6 /* vChewing.app in Resources */ = {isa = PBXBuildFile; fileRef = 6A0D4EA215FC0D2D00ABF4B3 /* vChewing.app */; };
D427F76C278CA2B0004A2160 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D427F76B278CA1BA004A2160 /* AppDelegate.swift */; };
D47B92C027972AD100458394 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D47B92BF27972AC800458394 /* main.swift */; };
- D47F7DCE278BFB57002F9DD7 /* ctlPrefWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D47F7DCD278BFB57002F9DD7 /* ctlPrefWindow.swift */; };
+ D47F7DCE278BFB57002F9DD7 /* CtlPrefWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = D47F7DCD278BFB57002F9DD7 /* CtlPrefWindow.swift */; };
D4A13D5A27A59F0B003BE359 /* SessionCtl_Core.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A13D5927A59D5C003BE359 /* SessionCtl_Core.swift */; };
D4E33D8A27A838CF006DB1CF /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D4E33D8827A838CF006DB1CF /* Localizable.strings */; };
D4E33D8F27A838F0006DB1CF /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = D4E33D8D27A838F0006DB1CF /* InfoPlist.strings */; };
@@ -191,7 +191,7 @@
5B0AF8B427B2C8290096FE54 /* StringExtension.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = StringExtension.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
5B0C5EDF27C7D9870078037C /* dataCompiler.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = dataCompiler.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
5B0EF55C28CDBF7100F8F7CE /* frmClientListMgr.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = frmClientListMgr.xib; sourceTree = ""; };
- 5B0EF55E28CDBF8E00F8F7CE /* ctlClientListMgr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ctlClientListMgr.swift; sourceTree = ""; };
+ 5B0EF55E28CDBF8E00F8F7CE /* CtlClientListMgr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CtlClientListMgr.swift; sourceTree = ""; };
5B18BA6F27C7BD8B0056EB19 /* LICENSE-CHS.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = "LICENSE-CHS.txt"; sourceTree = ""; };
5B18BA7027C7BD8B0056EB19 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; };
5B18BA7127C7BD8B0056EB19 /* README-CHS.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "README-CHS.md"; sourceTree = ""; };
@@ -210,7 +210,7 @@
5B3133BE280B229700A4A505 /* InputHandler_States.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = InputHandler_States.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
5B40113A28D71B8700A9D4CB /* vChewing_Uninstaller */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = vChewing_Uninstaller; path = Packages/vChewing_Uninstaller; sourceTree = ""; };
5B5A602E28E81CB00001AE8D /* ShapsBenkau_SwiftUIBackports */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = ShapsBenkau_SwiftUIBackports; path = Packages/ShapsBenkau_SwiftUIBackports; sourceTree = ""; };
- 5B62A33C27AE7CC100A19448 /* ctlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = ctlAboutWindow.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
+ 5B62A33C27AE7CC100A19448 /* CtlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = CtlAboutWindow.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
5B65B919284D0185007C558B /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
5B660A8528F64A8800E5E4F6 /* SymbolMenuDefaultData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SymbolMenuDefaultData.swift; sourceTree = ""; };
5B6C141128A9D4B30098ADF8 /* SessionCtl_HandleEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCtl_HandleEvent.swift; sourceTree = ""; };
@@ -284,7 +284,7 @@
5BDCBB4B27B4F6C700D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/frmAboutWindow.strings"; sourceTree = ""; };
5BDCBB4D27B4F6C700D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = ""; };
5BE3779F288FED8D0037365B /* InputHandler_HandleComposition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InputHandler_HandleComposition.swift; sourceTree = ""; };
- 5BE78BD827B37750005EA1BE /* ctlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = ctlAboutWindow.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
+ 5BE78BD827B37750005EA1BE /* CtlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = CtlAboutWindow.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
5BE78BDB27B37764005EA1BE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/frmAboutWindow.xib; sourceTree = ""; };
5BE78BDF27B37968005EA1BE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/frmAboutWindow.strings; sourceTree = ""; };
5BE8A8C4281EE65300197741 /* CONTRIBUTING.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = ""; };
@@ -320,7 +320,7 @@
6ACA41F215FC1D9000935EF6 /* Installer-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Installer-Info.plist"; path = "Installer/Installer-Info.plist"; sourceTree = SOURCE_ROOT; };
D427F76B278CA1BA004A2160 /* AppDelegate.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = AppDelegate.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
D47B92BF27972AC800458394 /* main.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = main.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
- D47F7DCD278BFB57002F9DD7 /* ctlPrefWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = ctlPrefWindow.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
+ D47F7DCD278BFB57002F9DD7 /* CtlPrefWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = CtlPrefWindow.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
D4A13D5927A59D5C003BE359 /* SessionCtl_Core.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = SessionCtl_Core.swift; sourceTree = ""; tabWidth = 2; usesTabs = 0; };
D4E33D8927A838CF006DB1CF /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; };
D4E33D8E27A838F0006DB1CF /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; };
@@ -456,9 +456,9 @@
5B62A33A27AE7C7500A19448 /* WindowControllers */ = {
isa = PBXGroup;
children = (
- 5B62A33C27AE7CC100A19448 /* ctlAboutWindow.swift */,
- 5B0EF55E28CDBF8E00F8F7CE /* ctlClientListMgr.swift */,
- D47F7DCD278BFB57002F9DD7 /* ctlPrefWindow.swift */,
+ 5B62A33C27AE7CC100A19448 /* CtlAboutWindow.swift */,
+ 5B0EF55E28CDBF8E00F8F7CE /* CtlClientListMgr.swift */,
+ D47F7DCD278BFB57002F9DD7 /* CtlPrefWindow.swift */,
);
path = WindowControllers;
sourceTree = "";
@@ -542,7 +542,7 @@
5BD05BB927B2A429004C4F1D /* UserPhraseEditor */ = {
isa = PBXGroup;
children = (
- 5BE78BD827B37750005EA1BE /* ctlAboutWindow.swift */,
+ 5BE78BD827B37750005EA1BE /* CtlAboutWindow.swift */,
5BD05C5A27B2BB6E004C4F1D /* Resources */,
5BD05BC627B2A42A004C4F1D /* vChewingPhraseEditor.entitlements */,
5BD05C6227B2BBEF004C4F1D /* AppDelegate.swift */,
@@ -1053,7 +1053,7 @@
5BD05C6927B2BBEF004C4F1D /* WindowController.swift in Sources */,
5BD05C6627B2BBEF004C4F1D /* Document.swift in Sources */,
5BD05C6827B2BBEF004C4F1D /* Content.swift in Sources */,
- 5BE78BD927B3775B005EA1BE /* ctlAboutWindow.swift in Sources */,
+ 5BE78BD927B3775B005EA1BE /* CtlAboutWindow.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1067,17 +1067,17 @@
5B660A8628F64A8800E5E4F6 /* SymbolMenuDefaultData.swift in Sources */,
5BA9FD1227FEDB6B002DE248 /* suiPrefPaneExperience.swift in Sources */,
5BF56F9828C39A2700DD6839 /* IMEState.swift in Sources */,
- 5B62A33D27AE7CC100A19448 /* ctlAboutWindow.swift in Sources */,
+ 5B62A33D27AE7CC100A19448 /* CtlAboutWindow.swift in Sources */,
D47B92C027972AD100458394 /* main.swift in Sources */,
D4A13D5A27A59F0B003BE359 /* SessionCtl_Core.swift in Sources */,
- 5B0EF55F28CDBF8E00F8F7CE /* ctlClientListMgr.swift in Sources */,
+ 5B0EF55F28CDBF8E00F8F7CE /* CtlClientListMgr.swift in Sources */,
5B21177028753B9D000443A9 /* SessionCtl_Delegates.swift in Sources */,
5B21176E28753B35000443A9 /* SessionCtl_HandleDisplay.swift in Sources */,
5BA9FD1027FEDB6B002DE248 /* suiPrefPaneKeyboard.swift in Sources */,
5B3133BF280B229700A4A505 /* InputHandler_States.swift in Sources */,
5B78EE0D28A562B4009456C1 /* suiPrefPaneDevZone.swift in Sources */,
5B6C141228A9D4B30098ADF8 /* SessionCtl_HandleEvent.swift in Sources */,
- D47F7DCE278BFB57002F9DD7 /* ctlPrefWindow.swift in Sources */,
+ D47F7DCE278BFB57002F9DD7 /* CtlPrefWindow.swift in Sources */,
5BD0113D2818543900609769 /* InputHandler_Core.swift in Sources */,
5BF56F9A28C39D1800DD6839 /* IMEStateData.swift in Sources */,
5B21176C287539BB000443A9 /* SessionCtl_HandleStates.swift in Sources */,