Repo // Change how NSWindow shared instances are handled.
This commit is contained in:
parent
860dd68558
commit
9ae2797fca
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
|
|
@ -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
|
||||
}
|
|
@ -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
|
|
@ -124,7 +124,7 @@ SOFTWARE.
|
|||
<key>InputMethodServerDelegateClass</key>
|
||||
<string>SessionCtl</string>
|
||||
<key>InputMethodServerPreferencesWindowControllerClass</key>
|
||||
<string>ctlPrefWindow</string>
|
||||
<string>CtlPrefWindow</string>
|
||||
<key>InputMethodSessionController</key>
|
||||
<string>SessionCtl</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="ctlPrefWindow">
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CtlPrefWindow">
|
||||
<connections>
|
||||
<outlet property="basicKeyboardLayoutButton" destination="124" id="135"/>
|
||||
<outlet property="chkTrad2JISShinjitai" destination="h4r-Sp-LBI" id="pk8-xi-IJi"/>
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21225" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21225"/>
|
||||
<capability name="System colors introduced in macOS 10.14" minToolsVersion="10.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="ctlClientListMgr" customModule="vChewing" customModuleProvider="target">
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="CtlClientListMgr" customModule="vChewing" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="btnAddClient" destination="JcI-Ff-tDM" id="XbA-OK-zl8"/>
|
||||
<outlet property="btnRemoveClient" destination="UNR-wG-8n1" id="vkb-81-1hA"/>
|
||||
|
@ -43,7 +42,7 @@
|
|||
<rect key="frame" x="20" y="76" width="624" height="232"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="wKQ-IV-k62">
|
||||
<rect key="frame" x="1" y="1" width="622" height="230"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" tableStyle="inset" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" id="vIw-vc-WKJ" userLabel="tblClients">
|
||||
<rect key="frame" x="0.0" y="0.0" width="622" height="230"/>
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
|
|
@ -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 = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5B0C5EDF27C7D9870078037C /* dataCompiler.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = dataCompiler.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5B0EF55C28CDBF7100F8F7CE /* frmClientListMgr.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = frmClientListMgr.xib; sourceTree = "<group>"; };
|
||||
5B0EF55E28CDBF8E00F8F7CE /* ctlClientListMgr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ctlClientListMgr.swift; sourceTree = "<group>"; };
|
||||
5B0EF55E28CDBF8E00F8F7CE /* CtlClientListMgr.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CtlClientListMgr.swift; sourceTree = "<group>"; };
|
||||
5B18BA6F27C7BD8B0056EB19 /* LICENSE-CHS.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = "LICENSE-CHS.txt"; sourceTree = "<group>"; };
|
||||
5B18BA7027C7BD8B0056EB19 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
|
||||
5B18BA7127C7BD8B0056EB19 /* README-CHS.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "README-CHS.md"; sourceTree = "<group>"; };
|
||||
|
@ -210,7 +210,7 @@
|
|||
5B3133BE280B229700A4A505 /* InputHandler_States.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = InputHandler_States.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5B40113A28D71B8700A9D4CB /* vChewing_Uninstaller */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = vChewing_Uninstaller; path = Packages/vChewing_Uninstaller; sourceTree = "<group>"; };
|
||||
5B5A602E28E81CB00001AE8D /* ShapsBenkau_SwiftUIBackports */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = ShapsBenkau_SwiftUIBackports; path = Packages/ShapsBenkau_SwiftUIBackports; sourceTree = "<group>"; };
|
||||
5B62A33C27AE7CC100A19448 /* ctlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = ctlAboutWindow.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5B62A33C27AE7CC100A19448 /* CtlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = CtlAboutWindow.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5B65B919284D0185007C558B /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||
5B660A8528F64A8800E5E4F6 /* SymbolMenuDefaultData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SymbolMenuDefaultData.swift; sourceTree = "<group>"; };
|
||||
5B6C141128A9D4B30098ADF8 /* SessionCtl_HandleEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCtl_HandleEvent.swift; sourceTree = "<group>"; };
|
||||
|
@ -284,7 +284,7 @@
|
|||
5BDCBB4B27B4F6C700D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/frmAboutWindow.strings"; sourceTree = "<group>"; };
|
||||
5BDCBB4D27B4F6C700D0CC59 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
|
||||
5BE3779F288FED8D0037365B /* InputHandler_HandleComposition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InputHandler_HandleComposition.swift; sourceTree = "<group>"; };
|
||||
5BE78BD827B37750005EA1BE /* ctlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = ctlAboutWindow.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5BE78BD827B37750005EA1BE /* CtlAboutWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = CtlAboutWindow.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
5BE78BDB27B37764005EA1BE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/frmAboutWindow.xib; sourceTree = "<group>"; };
|
||||
5BE78BDF27B37968005EA1BE /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/frmAboutWindow.strings; sourceTree = "<group>"; };
|
||||
5BE8A8C4281EE65300197741 /* CONTRIBUTING.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = "<group>"; };
|
||||
|
@ -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 = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
D47B92BF27972AC800458394 /* main.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = main.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
D47F7DCD278BFB57002F9DD7 /* ctlPrefWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = ctlPrefWindow.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
D47F7DCD278BFB57002F9DD7 /* CtlPrefWindow.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = CtlPrefWindow.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
D4A13D5927A59D5C003BE359 /* SessionCtl_Core.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; fileEncoding = 4; indentWidth = 2; lineEnding = 0; path = SessionCtl_Core.swift; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
|
||||
D4E33D8927A838CF006DB1CF /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
D4E33D8E27A838F0006DB1CF /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
|
@ -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 = "<group>";
|
||||
|
@ -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 */,
|
||||
|
|
Loading…
Reference in New Issue