Merge pull request #158 from lukhnos/icon-and-ui-update
Icon and UI update to prepare for the 1.0 release
|
@ -14,7 +14,6 @@
|
|||
6A0D4ED315FC0D6400ABF4B3 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4EC815FC0D6400ABF4B3 /* main.m */; };
|
||||
6A0D4ED415FC0D6400ABF4B3 /* OVInputSourceHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4ECA15FC0D6400ABF4B3 /* OVInputSourceHelper.m */; };
|
||||
6A0D4ED515FC0D6400ABF4B3 /* PreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4ECC15FC0D6400ABF4B3 /* PreferencesWindowController.m */; };
|
||||
6A0D4ED615FC0D6400ABF4B3 /* UpdateNotificationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4ECE15FC0D6400ABF4B3 /* UpdateNotificationController.m */; };
|
||||
6A0D4EFE15FC0DA600ABF4B3 /* VTCandidateController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4EDA15FC0DA600ABF4B3 /* VTCandidateController.m */; };
|
||||
6A0D4EFF15FC0DA600ABF4B3 /* VTHorizontalCandidateController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4EDC15FC0DA600ABF4B3 /* VTHorizontalCandidateController.m */; };
|
||||
6A0D4F0015FC0DA600ABF4B3 /* VTHorizontalCandidateView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4EDE15FC0DA600ABF4B3 /* VTHorizontalCandidateView.m */; };
|
||||
|
@ -30,14 +29,11 @@
|
|||
6A187E2616004C5900466B2E /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A187E2816004C5900466B2E /* MainMenu.xib */; };
|
||||
6A225A1F23679F2600F685C6 /* NotarizedArchives in Resources */ = {isa = PBXBuildFile; fileRef = 6A225A1E23679F2600F685C6 /* NotarizedArchives */; };
|
||||
6A225A232367A1D700F685C6 /* ArchiveUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A225A222367A1D700F685C6 /* ArchiveUtil.m */; };
|
||||
6A2E40F6253A69DA00D1AE1D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6A2E40F5253A69DA00D1AE1D /* Images.xcassets */; };
|
||||
6A2E40F9253A6AA000D1AE1D /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6A2E40F5253A69DA00D1AE1D /* Images.xcassets */; };
|
||||
6A38BC1515FC117A00A8A51F /* data.txt in Resources */ = {isa = PBXBuildFile; fileRef = 6A38BBF615FC117A00A8A51F /* data.txt */; };
|
||||
6A38BC1D15FC11C700A8A51F /* UpdateNotificationController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6A38BC1F15FC11C700A8A51F /* UpdateNotificationController.xib */; };
|
||||
6A38BC2815FC158A00A8A51F /* InputMethodKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A38BC2715FC158A00A8A51F /* InputMethodKit.framework */; };
|
||||
6A38BC2A15FC161000A8A51F /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A38BC2915FC161000A8A51F /* Carbon.framework */; };
|
||||
6A719D0415FC5FD200C8B8E3 /* McBopomofo.iconset in Resources */ = {isa = PBXBuildFile; fileRef = 6A719D0315FC5FD200C8B8E3 /* McBopomofo.iconset */; };
|
||||
6A719D0515FC5FD200C8B8E3 /* McBopomofo.iconset in Resources */ = {isa = PBXBuildFile; fileRef = 6A719D0315FC5FD200C8B8E3 /* McBopomofo.iconset */; };
|
||||
6AA67FEB15FC5B0D00B5A308 /* BopomofoTextMenu.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 6AA67FE915FC5B0D00B5A308 /* BopomofoTextMenu.tiff */; };
|
||||
6AA67FEC15FC5B0D00B5A308 /* BopomofoTextMenu@2x.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 6AA67FEA15FC5B0D00B5A308 /* BopomofoTextMenu@2x.tiff */; };
|
||||
6ACA41CD15FC1D7500935EF6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A0D4EA615FC0D2D00ABF4B3 /* Cocoa.framework */; };
|
||||
6ACA41F915FC1D9000935EF6 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ACA41E915FC1D9000935EF6 /* AppDelegate.m */; };
|
||||
6ACA41FA15FC1D9000935EF6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6ACA41EA15FC1D9000935EF6 /* InfoPlist.strings */; };
|
||||
|
@ -49,6 +45,8 @@
|
|||
6AD7CBC815FE555000691B5B /* data-plain-bpmf.txt in Resources */ = {isa = PBXBuildFile; fileRef = 6AD7CBC715FE555000691B5B /* data-plain-bpmf.txt */; };
|
||||
6AE210B215FC63CC003659FE /* PlainBopomofo.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 6AE210B015FC63CC003659FE /* PlainBopomofo.tiff */; };
|
||||
6AE210B315FC63CC003659FE /* PlainBopomofo@2x.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 6AE210B115FC63CC003659FE /* PlainBopomofo@2x.tiff */; };
|
||||
6AFF97F2253B299E007F1C49 /* OVNonModalAlertWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6AFF97F0253B299E007F1C49 /* OVNonModalAlertWindowController.xib */; };
|
||||
6AFF97F3253B299E007F1C49 /* OVNonModalAlertWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AFF97F1253B299E007F1C49 /* OVNonModalAlertWindowController.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -84,8 +82,6 @@
|
|||
6A0D4ECA15FC0D6400ABF4B3 /* OVInputSourceHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OVInputSourceHelper.m; sourceTree = "<group>"; };
|
||||
6A0D4ECB15FC0D6400ABF4B3 /* PreferencesWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreferencesWindowController.h; sourceTree = "<group>"; };
|
||||
6A0D4ECC15FC0D6400ABF4B3 /* PreferencesWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PreferencesWindowController.m; sourceTree = "<group>"; };
|
||||
6A0D4ECD15FC0D6400ABF4B3 /* UpdateNotificationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdateNotificationController.h; sourceTree = "<group>"; };
|
||||
6A0D4ECE15FC0D6400ABF4B3 /* UpdateNotificationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UpdateNotificationController.m; sourceTree = "<group>"; };
|
||||
6A0D4ED915FC0DA600ABF4B3 /* VTCandidateController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VTCandidateController.h; sourceTree = "<group>"; };
|
||||
6A0D4EDA15FC0DA600ABF4B3 /* VTCandidateController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VTCandidateController.m; sourceTree = "<group>"; };
|
||||
6A0D4EDB15FC0DA600ABF4B3 /* VTHorizontalCandidateController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VTHorizontalCandidateController.h; sourceTree = "<group>"; };
|
||||
|
@ -154,12 +150,12 @@
|
|||
6A0D4F5615FC0EF900ABF4B3 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "zh-Hant"; path = "Source/zh-Hant.lproj/preferences.xib"; sourceTree = "<group>"; };
|
||||
6A15B32421A51F2300B92CD3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
6A15B32521A51F2300B92CD3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
6A15B32621A51F2300B92CD3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UpdateNotificationController.xib; sourceTree = "<group>"; };
|
||||
6A15B32721A51F2300B92CD3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Source/Base.lproj/preferences.xib; sourceTree = "<group>"; };
|
||||
6A187E2916004C7300466B2E /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "zh-Hant"; path = "zh-Hant.lproj/MainMenu.xib"; sourceTree = "<group>"; };
|
||||
6A225A1E23679F2600F685C6 /* NotarizedArchives */ = {isa = PBXFileReference; lastKnownFileType = folder; path = NotarizedArchives; sourceTree = "<group>"; };
|
||||
6A225A212367A1D700F685C6 /* ArchiveUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArchiveUtil.h; sourceTree = "<group>"; };
|
||||
6A225A222367A1D700F685C6 /* ArchiveUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArchiveUtil.m; sourceTree = "<group>"; };
|
||||
6A2E40F5253A69DA00D1AE1D /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||
6A38BBDE15FC117A00A8A51F /* 4_in_5.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 4_in_5.txt; sourceTree = "<group>"; };
|
||||
6A38BBDF15FC117A00A8A51F /* 4_in_6.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 4_in_6.txt; sourceTree = "<group>"; };
|
||||
6A38BBE015FC117A00A8A51F /* 5_in_6.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 5_in_6.txt; sourceTree = "<group>"; };
|
||||
|
@ -191,12 +187,8 @@
|
|||
6A38BBFB15FC117A00A8A51F /* phrase.occ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = phrase.occ; sourceTree = "<group>"; };
|
||||
6A38BBFC15FC117A00A8A51F /* PhraseFreq.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PhraseFreq.txt; sourceTree = "<group>"; };
|
||||
6A38BBFD15FC117A00A8A51F /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
|
||||
6A38BC1E15FC11C700A8A51F /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "zh-Hant"; path = "zh-Hant.lproj/UpdateNotificationController.xib"; sourceTree = "<group>"; };
|
||||
6A38BC2715FC158A00A8A51F /* InputMethodKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InputMethodKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/InputMethodKit.framework; sourceTree = DEVELOPER_DIR; };
|
||||
6A38BC2915FC161000A8A51F /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Carbon.framework; sourceTree = DEVELOPER_DIR; };
|
||||
6A719D0315FC5FD200C8B8E3 /* McBopomofo.iconset */ = {isa = PBXFileReference; lastKnownFileType = folder.iconset; path = McBopomofo.iconset; sourceTree = "<group>"; };
|
||||
6AA67FE915FC5B0D00B5A308 /* BopomofoTextMenu.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = BopomofoTextMenu.tiff; sourceTree = "<group>"; };
|
||||
6AA67FEA15FC5B0D00B5A308 /* BopomofoTextMenu@2x.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "BopomofoTextMenu@2x.tiff"; sourceTree = "<group>"; };
|
||||
6ACA41CB15FC1D7500935EF6 /* McBopomofoInstaller.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = McBopomofoInstaller.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6ACA41E815FC1D9000935EF6 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Source/Installer/AppDelegate.h; sourceTree = SOURCE_ROOT; };
|
||||
6ACA41E915FC1D9000935EF6 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Source/Installer/AppDelegate.m; sourceTree = SOURCE_ROOT; };
|
||||
|
@ -213,6 +205,9 @@
|
|||
6AD7CBC715FE555000691B5B /* data-plain-bpmf.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "data-plain-bpmf.txt"; sourceTree = "<group>"; };
|
||||
6AE210B015FC63CC003659FE /* PlainBopomofo.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = PlainBopomofo.tiff; sourceTree = "<group>"; };
|
||||
6AE210B115FC63CC003659FE /* PlainBopomofo@2x.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "PlainBopomofo@2x.tiff"; sourceTree = "<group>"; };
|
||||
6AFF97EF253B299E007F1C49 /* OVNonModalAlertWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OVNonModalAlertWindowController.h; sourceTree = "<group>"; };
|
||||
6AFF97F0253B299E007F1C49 /* OVNonModalAlertWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OVNonModalAlertWindowController.xib; sourceTree = "<group>"; };
|
||||
6AFF97F1253B299E007F1C49 /* OVNonModalAlertWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OVNonModalAlertWindowController.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
@ -281,12 +276,12 @@
|
|||
6A0D4EC715FC0D6400ABF4B3 /* InputMethodController.mm */,
|
||||
6A0D4EC815FC0D6400ABF4B3 /* main.m */,
|
||||
6A0D4EF615FC0DA600ABF4B3 /* McBopomofo-Prefix.pch */,
|
||||
6AFF97EF253B299E007F1C49 /* OVNonModalAlertWindowController.h */,
|
||||
6AFF97F1253B299E007F1C49 /* OVNonModalAlertWindowController.m */,
|
||||
6A0D4EC915FC0D6400ABF4B3 /* OVInputSourceHelper.h */,
|
||||
6A0D4ECA15FC0D6400ABF4B3 /* OVInputSourceHelper.m */,
|
||||
6A0D4ECB15FC0D6400ABF4B3 /* PreferencesWindowController.h */,
|
||||
6A0D4ECC15FC0D6400ABF4B3 /* PreferencesWindowController.m */,
|
||||
6A0D4ECD15FC0D6400ABF4B3 /* UpdateNotificationController.h */,
|
||||
6A0D4ECE15FC0D6400ABF4B3 /* UpdateNotificationController.m */,
|
||||
);
|
||||
path = Source;
|
||||
sourceTree = "<group>";
|
||||
|
@ -313,11 +308,9 @@
|
|||
6A0D4EEE15FC0DA600ABF4B3 /* Images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6A2E40F5253A69DA00D1AE1D /* Images.xcassets */,
|
||||
6A0D4EEF15FC0DA600ABF4B3 /* Bopomofo.tiff */,
|
||||
6A0D4EF015FC0DA600ABF4B3 /* Bopomofo@2x.tiff */,
|
||||
6AA67FE915FC5B0D00B5A308 /* BopomofoTextMenu.tiff */,
|
||||
6AA67FEA15FC5B0D00B5A308 /* BopomofoTextMenu@2x.tiff */,
|
||||
6A719D0315FC5FD200C8B8E3 /* McBopomofo.iconset */,
|
||||
6AE210B015FC63CC003659FE /* PlainBopomofo.tiff */,
|
||||
6AE210B115FC63CC003659FE /* PlainBopomofo@2x.tiff */,
|
||||
);
|
||||
|
@ -405,12 +398,12 @@
|
|||
6A0D4F4715FC0EB900ABF4B3 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6AFF97F0253B299E007F1C49 /* OVNonModalAlertWindowController.xib */,
|
||||
6A0D4EEE15FC0DA600ABF4B3 /* Images */,
|
||||
6A0D4EF515FC0DA600ABF4B3 /* McBopomofo-Info.plist */,
|
||||
6A0D4F4815FC0EE100ABF4B3 /* InfoPlist.strings */,
|
||||
6A0D4F4A15FC0EE100ABF4B3 /* Localizable.strings */,
|
||||
6A187E2816004C5900466B2E /* MainMenu.xib */,
|
||||
6A38BC1F15FC11C700A8A51F /* UpdateNotificationController.xib */,
|
||||
6A0D4F4E15FC0EE100ABF4B3 /* preferences.xib */,
|
||||
);
|
||||
name = Resources;
|
||||
|
@ -573,16 +566,14 @@
|
|||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6A38BC1D15FC11C700A8A51F /* UpdateNotificationController.xib in Resources */,
|
||||
6A0D4F0815FC0DA600ABF4B3 /* Bopomofo.tiff in Resources */,
|
||||
6A0D4F0915FC0DA600ABF4B3 /* Bopomofo@2x.tiff in Resources */,
|
||||
6A0D4F5315FC0EE100ABF4B3 /* preferences.xib in Resources */,
|
||||
6A0D4F5715FC0EF900ABF4B3 /* InfoPlist.strings in Resources */,
|
||||
6A0D4F5815FC0EF900ABF4B3 /* Localizable.strings in Resources */,
|
||||
6A2E40F6253A69DA00D1AE1D /* Images.xcassets in Resources */,
|
||||
6A38BC1515FC117A00A8A51F /* data.txt in Resources */,
|
||||
6AA67FEB15FC5B0D00B5A308 /* BopomofoTextMenu.tiff in Resources */,
|
||||
6AA67FEC15FC5B0D00B5A308 /* BopomofoTextMenu@2x.tiff in Resources */,
|
||||
6A719D0415FC5FD200C8B8E3 /* McBopomofo.iconset in Resources */,
|
||||
6AFF97F2253B299E007F1C49 /* OVNonModalAlertWindowController.xib in Resources */,
|
||||
6AE210B215FC63CC003659FE /* PlainBopomofo.tiff in Resources */,
|
||||
6AE210B315FC63CC003659FE /* PlainBopomofo@2x.tiff in Resources */,
|
||||
6AD7CBC815FE555000691B5B /* data-plain-bpmf.txt in Resources */,
|
||||
|
@ -595,12 +586,12 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6ACA420215FC1E5200935EF6 /* McBopomofo.app in Resources */,
|
||||
6A2E40F9253A6AA000D1AE1D /* Images.xcassets in Resources */,
|
||||
6ACA41FA15FC1D9000935EF6 /* InfoPlist.strings in Resources */,
|
||||
6A225A1F23679F2600F685C6 /* NotarizedArchives in Resources */,
|
||||
6ACA41FB15FC1D9000935EF6 /* License.rtf in Resources */,
|
||||
6ACA41FC15FC1D9000935EF6 /* Localizable.strings in Resources */,
|
||||
6ACA41FD15FC1D9000935EF6 /* MainMenu.xib in Resources */,
|
||||
6A719D0515FC5FD200C8B8E3 /* McBopomofo.iconset in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -636,10 +627,10 @@
|
|||
6A0D4ED315FC0D6400ABF4B3 /* main.m in Sources */,
|
||||
6A0D4ED415FC0D6400ABF4B3 /* OVInputSourceHelper.m in Sources */,
|
||||
6A0D4ED515FC0D6400ABF4B3 /* PreferencesWindowController.m in Sources */,
|
||||
6A0D4ED615FC0D6400ABF4B3 /* UpdateNotificationController.m in Sources */,
|
||||
6A0D4EFE15FC0DA600ABF4B3 /* VTCandidateController.m in Sources */,
|
||||
6A0D4EFF15FC0DA600ABF4B3 /* VTHorizontalCandidateController.m in Sources */,
|
||||
6A0D4F0015FC0DA600ABF4B3 /* VTHorizontalCandidateView.m in Sources */,
|
||||
6AFF97F3253B299E007F1C49 /* OVNonModalAlertWindowController.m in Sources */,
|
||||
6A0D4F0115FC0DA600ABF4B3 /* VTVerticalCandidateController.m in Sources */,
|
||||
6A0D4F0215FC0DA600ABF4B3 /* VTVerticalCandidateTableView.m in Sources */,
|
||||
6A0D4F0315FC0DA600ABF4B3 /* VTVerticalKeyLabelStripView.m in Sources */,
|
||||
|
@ -713,15 +704,6 @@
|
|||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6A38BC1F15FC11C700A8A51F /* UpdateNotificationController.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
6A38BC1E15FC11C700A8A51F /* zh-Hant */,
|
||||
6A15B32621A51F2300B92CD3 /* Base */,
|
||||
);
|
||||
name = UpdateNotificationController.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6ACA41EA15FC1D9000935EF6 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
@ -837,6 +819,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
|
@ -887,6 +870,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
|
@ -987,6 +971,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
|
@ -1023,6 +1008,7 @@
|
|||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
|
|
|
@ -35,16 +35,16 @@
|
|||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@class PreferencesWindowController;
|
||||
@class UpdateNotificationController;
|
||||
|
||||
@interface AppDelegate : NSObject <NSApplicationDelegate>
|
||||
{
|
||||
@private
|
||||
NSWindow *_window;
|
||||
NSURLConnection *_updateCheckConnection;
|
||||
BOOL _currentUpdateCheckIsForced;
|
||||
NSMutableData *_receivingData;
|
||||
NSURL *_updateNextStepURL;
|
||||
PreferencesWindowController *_preferencesWindowController;
|
||||
UpdateNotificationController *_updateNotificationController;
|
||||
}
|
||||
|
||||
- (void)checkForUpdate;
|
||||
|
|
|
@ -33,18 +33,19 @@
|
|||
//
|
||||
|
||||
#import "AppDelegate.h"
|
||||
#import "UpdateNotificationController.h"
|
||||
#import "OVNonModalAlertWindowController.h"
|
||||
#import "PreferencesWindowController.h"
|
||||
|
||||
extern void LTLoadLanguageModel(void);
|
||||
|
||||
static NSString *kCheckUpdateAutomatically = @"CheckUpdateAutomatically";
|
||||
static NSString *kNextUpdateCheckDateKey = @"NextUpdateCheckDate";
|
||||
static NSString *kUpdateInfoEndpointKey = @"UpdateInfoEndpoint";
|
||||
static NSString *kUpdateInfoSiteKey = @"UpdateInfoSite";
|
||||
static const NSTimeInterval kNextCheckInterval = 86400.0;
|
||||
static const NSTimeInterval kTimeoutInterval = 60.0;
|
||||
|
||||
@interface AppDelegate () <NSURLConnectionDataDelegate>
|
||||
@interface AppDelegate () <NSURLConnectionDataDelegate, OVNonModalAlertWindowControllerDelegate>
|
||||
@end
|
||||
|
||||
@implementation AppDelegate
|
||||
|
@ -54,7 +55,6 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
|||
{
|
||||
[_preferencesWindowController release];
|
||||
[_updateCheckConnection release];
|
||||
[_updateNotificationController release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
@ -62,6 +62,11 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
|||
{
|
||||
LTLoadLanguageModel();
|
||||
|
||||
if (![[NSUserDefaults standardUserDefaults] objectForKey:kCheckUpdateAutomatically]) {
|
||||
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:kCheckUpdateAutomatically];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
}
|
||||
|
||||
[self checkForUpdate];
|
||||
}
|
||||
|
||||
|
@ -77,8 +82,14 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
|||
return;
|
||||
}
|
||||
|
||||
_currentUpdateCheckIsForced = forced;
|
||||
|
||||
// time for update?
|
||||
if (!forced) {
|
||||
if (![[NSUserDefaults standardUserDefaults] boolForKey:kCheckUpdateAutomatically]) {
|
||||
return;
|
||||
}
|
||||
|
||||
NSDate *now = [NSDate date];
|
||||
NSDate *date = [[NSUserDefaults standardUserDefaults] objectForKey:kNextUpdateCheckDateKey];
|
||||
if (![date isKindOfClass:[NSDate class]]) {
|
||||
|
@ -134,10 +145,22 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
|||
|
||||
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
|
||||
{
|
||||
BOOL isForcedCheck = _currentUpdateCheckIsForced;
|
||||
|
||||
[_receivingData release];
|
||||
_receivingData = nil;
|
||||
[_updateCheckConnection release];
|
||||
_updateCheckConnection = nil;
|
||||
_currentUpdateCheckIsForced = NO;
|
||||
|
||||
if (isForcedCheck) {
|
||||
[[OVNonModalAlertWindowController sharedInstance] showWithTitle:NSLocalizedString(@"Update Check Failed", nil) content:[NSString stringWithFormat:NSLocalizedString(@"There may be no internet connection or the server failed to respond.\n\nError message: %@", nil), [error localizedDescription]] confirmButtonTitle:NSLocalizedString(@"Dismiss", nil) cancelButtonTitle:nil cancelAsDefault:NO delegate:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)showNoUpdateAvailableAlert
|
||||
{
|
||||
[[OVNonModalAlertWindowController sharedInstance] showWithTitle:NSLocalizedString(@"Check for Update Completed", nil) content:NSLocalizedString(@"You are already using the latest version of McBopomofo.", nil) confirmButtonTitle:NSLocalizedString(@"OK", nil) cancelButtonTitle:nil cancelAsDefault:NO delegate:nil];
|
||||
}
|
||||
|
||||
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
|
||||
|
@ -147,12 +170,18 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
|||
NSLog(@"plist %@",plist);
|
||||
#endif
|
||||
|
||||
BOOL isForcedCheck = _currentUpdateCheckIsForced;
|
||||
|
||||
[_receivingData release];
|
||||
_receivingData = nil;
|
||||
[_updateCheckConnection release];
|
||||
_updateCheckConnection = nil;
|
||||
_currentUpdateCheckIsForced = NO;
|
||||
|
||||
if (!plist) {
|
||||
if (isForcedCheck) {
|
||||
[self showNoUpdateAvailableAlert];
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -161,6 +190,9 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
|||
NSLog(@"the remoteversion is %@",remoteVersion);
|
||||
#endif
|
||||
if (!remoteVersion) {
|
||||
if (isForcedCheck) {
|
||||
[self showNoUpdateAvailableAlert];
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -172,42 +204,78 @@ static const NSTimeInterval kTimeoutInterval = 60.0;
|
|||
NSComparisonResult result = [currentVersion compare:remoteVersion options:NSNumericSearch];
|
||||
|
||||
if (result != NSOrderedAscending) {
|
||||
if (isForcedCheck) {
|
||||
[self showNoUpdateAvailableAlert];
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
NSString *siteInfoURLString = [plist objectForKey:kUpdateInfoSiteKey];
|
||||
if (!siteInfoURLString) {
|
||||
if (isForcedCheck) {
|
||||
[self showNoUpdateAvailableAlert];
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
NSURL *siteInfoURL = [NSURL URLWithString:siteInfoURLString];
|
||||
if (!siteInfoURL) {
|
||||
if (isForcedCheck) {
|
||||
[self showNoUpdateAvailableAlert];
|
||||
}
|
||||
return;
|
||||
}
|
||||
[_updateNextStepURL release];
|
||||
_updateNextStepURL = nil;
|
||||
_updateNextStepURL = [siteInfoURL retain];
|
||||
|
||||
NSDictionary *versionDescriptions = [plist objectForKey:@"Description"];
|
||||
NSString *versionDescription = @"";
|
||||
if ([versionDescriptions isKindOfClass:[NSDictionary class]]) {
|
||||
NSString *locale = @"en";
|
||||
NSArray *supportedLocales = [NSArray arrayWithObjects:@"en", @"zh-Hant", @"zh-Hans", nil];
|
||||
NSArray *preferredTags = [NSBundle preferredLocalizationsFromArray:supportedLocales];
|
||||
if ([preferredTags count]) {
|
||||
locale = [preferredTags objectAtIndex:0];
|
||||
}
|
||||
versionDescription = [versionDescriptions objectForKey:locale];
|
||||
if (!versionDescription) {
|
||||
versionDescription = [versionDescriptions objectForKey:@"en"];
|
||||
}
|
||||
|
||||
if (_updateNotificationController) {
|
||||
[_updateNotificationController release];
|
||||
_updateNotificationController = nil;
|
||||
if (!versionDescription) {
|
||||
versionDescription = @"";
|
||||
}
|
||||
else {
|
||||
versionDescription = [@"\n\n" stringByAppendingString:versionDescription];
|
||||
}
|
||||
}
|
||||
|
||||
_updateNotificationController = [[UpdateNotificationController alloc] initWithWindowNibName:@"UpdateNotificationController"];
|
||||
NSString *content = [NSString stringWithFormat:NSLocalizedString(@"You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@", nil), [infoDict objectForKey:@"CFBundleShortVersionString"], currentVersion, [plist objectForKey:@"CFBundleShortVersionString"], remoteVersion, versionDescription];
|
||||
|
||||
_updateNotificationController.siteURL = siteInfoURL;
|
||||
_updateNotificationController.infoText = [NSString stringWithFormat:NSLocalizedString(@"You are running version %@ (%@), and the new version %@ (%@) is now available.\n\nVisit the website to download it?", @""),
|
||||
[infoDict objectForKey:@"CFBundleShortVersionString"],
|
||||
[infoDict objectForKey:(id)kCFBundleVersionKey],
|
||||
[plist objectForKey:@"CFBundleShortVersionString"],
|
||||
[plist objectForKey:(id)kCFBundleVersionKey],
|
||||
nil];
|
||||
|
||||
[_updateNotificationController showWindow:self];
|
||||
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
|
||||
[[OVNonModalAlertWindowController sharedInstance] showWithTitle:NSLocalizedString(@"New Version Available", nil) content:content confirmButtonTitle:NSLocalizedString(@"Visit Website", nil) cancelButtonTitle:NSLocalizedString(@"Not Now", nil) cancelAsDefault:NO delegate:self];
|
||||
}
|
||||
|
||||
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
|
||||
{
|
||||
[_receivingData appendData:data];
|
||||
}
|
||||
|
||||
- (void)nonModalAlertWindowControllerDidConfirm:(OVNonModalAlertWindowController *)controller
|
||||
{
|
||||
if (_updateNextStepURL) {
|
||||
[[NSWorkspace sharedWorkspace] openURL:_updateNextStepURL];
|
||||
}
|
||||
|
||||
[_updateNextStepURL release];
|
||||
_updateNextStepURL = nil;
|
||||
}
|
||||
|
||||
- (void)nonModalAlertWindowControllerDidCancel:(OVNonModalAlertWindowController *)controller
|
||||
{
|
||||
[_updateNextStepURL release];
|
||||
_updateNextStepURL = nil;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -1,452 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1070</int>
|
||||
<string key="IBDocument.SystemVersion">11A2063</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">1910</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.1</string>
|
||||
<string key="IBDocument.HIToolboxVersion">566.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">1910</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSTextField</string>
|
||||
<string>NSView</string>
|
||||
<string>NSWindowTemplate</string>
|
||||
<string>NSTextFieldCell</string>
|
||||
<string>NSButtonCell</string>
|
||||
<string>NSButton</string>
|
||||
<string>NSCustomObject</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSCustomObject" id="1001">
|
||||
<string key="NSClassName">UpdateNotificationController</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1003">
|
||||
<string key="NSClassName">FirstResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1004">
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="1005">
|
||||
<int key="NSWindowStyleMask">3</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{503, 500}, {433, 153}}</string>
|
||||
<int key="NSWTFlags">544735232</int>
|
||||
<string key="NSWindowTitle">New Version Available</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="1006">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSButton" id="562191803">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">289</int>
|
||||
<string key="NSFrame">{{283, 12}, {136, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="1033553056">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Visit</string>
|
||||
<object class="NSFont" key="NSSupport" id="161901745">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<reference key="NSControlView" ref="562191803"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="1017432015">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">289</int>
|
||||
<string key="NSFrame">{{147, 12}, {136, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="562191803"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="619506567">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Later</string>
|
||||
<reference key="NSSupport" ref="161901745"/>
|
||||
<reference key="NSControlView" ref="1017432015"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="373944060">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{17, 48}, {399, 85}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1017432015"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="171705107">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">272629760</int>
|
||||
<string key="NSContents">Version Info Text</string>
|
||||
<object class="NSFont" key="NSSupport">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="NSControlView" ref="373944060"/>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlTextColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{433, 153}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="373944060"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1366, 746}}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">laterAction:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1017432015"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">visitButton</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="562191803"/>
|
||||
</object>
|
||||
<int key="connectionID">9</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1005"/>
|
||||
</object>
|
||||
<int key="connectionID">10</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">visitAction:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="562191803"/>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">laterButton</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1017432015"/>
|
||||
</object>
|
||||
<int key="connectionID">17</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">infoTextField</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="373944060"/>
|
||||
</object>
|
||||
<int key="connectionID">18</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="1005"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
</object>
|
||||
<int key="connectionID">11</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<object class="NSArray" key="object" id="1002">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="1001"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="1003"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="1004"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="1005"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1006"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1002"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="1006"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="373944060"/>
|
||||
<reference ref="562191803"/>
|
||||
<reference ref="1017432015"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="562191803"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1033553056"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="1033553056"/>
|
||||
<reference key="parent" ref="562191803"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">5</int>
|
||||
<reference key="object" ref="1017432015"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="619506567"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="619506567"/>
|
||||
<reference key="parent" ref="1017432015"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">15</int>
|
||||
<reference key="object" ref="373944060"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="171705107"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="171705107"/>
|
||||
<reference key="parent" ref="373944060"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.IBPluginDependency</string>
|
||||
<string>-2.IBPluginDependency</string>
|
||||
<string>-3.IBPluginDependency</string>
|
||||
<string>1.IBNSWindowAutoPositionCentersHorizontal</string>
|
||||
<string>1.IBNSWindowAutoPositionCentersVertical</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>1.IBWindowTemplateEditedContentRect</string>
|
||||
<string>1.NSWindowTemplate.visibleAtLaunch</string>
|
||||
<string>15.IBPluginDependency</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>5.IBPluginDependency</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO"/>
|
||||
<boolean value="NO"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{357, 418}, {480, 270}}</string>
|
||||
<boolean value="NO"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="1002"/>
|
||||
<reference key="dict.values" ref="1002"/>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="1002"/>
|
||||
<reference key="dict.values" ref="1002"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">18</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UpdateNotificationController</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>laterAction:</string>
|
||||
<string>visitAction:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>laterAction:</string>
|
||||
<string>visitAction:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">laterAction:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">visitAction:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>infoTextField</string>
|
||||
<string>laterButton</string>
|
||||
<string>visitButton</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSTextField</string>
|
||||
<string>NSButton</string>
|
||||
<string>NSButton</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>infoTextField</string>
|
||||
<string>laterButton</string>
|
||||
<string>visitButton</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">infoTextField</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">laterButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">visitButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UpdateNotificationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3000" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
</data>
|
||||
</archive>
|
|
@ -1,8 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13D65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment defaultVersion="1060" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17505"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="PreferencesWindowController">
|
||||
|
@ -13,30 +14,30 @@
|
|||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application"/>
|
||||
<window title="Bopomofo Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" oneShot="NO" animationBehavior="default" id="1" userLabel="Window - Preferences">
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<window title="Bopomofo Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" animationBehavior="default" id="1" userLabel="Window - Preferences">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="401" y="295" width="460" height="266"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1366" height="746"/>
|
||||
<rect key="contentRect" x="401" y="295" width="462" height="288"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
|
||||
<view key="contentView" id="2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="460" height="266"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="462" height="288"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<popUpButton verticalHuggingPriority="750" id="3">
|
||||
<rect key="frame" x="226" y="222" width="132" height="26"/>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3">
|
||||
<rect key="frame" x="226" y="244" width="132" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Hanyu Pinyin" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="4" imageScaling="proportionallyDown" inset="2" selectedItem="10" id="4">
|
||||
<popUpButtonCell key="cell" type="push" title="Standard" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="6" id="4">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="5">
|
||||
<items>
|
||||
<menuItem title="Standard" id="6"/>
|
||||
<menuItem title="Standard" state="on" id="6"/>
|
||||
<menuItem title="ETen" tag="1" id="7"/>
|
||||
<menuItem title="Hsu" tag="2" id="8"/>
|
||||
<menuItem title="ETen26" tag="3" id="9"/>
|
||||
<menuItem title="IBM" tag="5" id="137"/>
|
||||
<menuItem title="Hanyu Pinyin" state="on" tag="4" id="10"/>
|
||||
<menuItem title="Hanyu Pinyin" tag="4" id="10"/>
|
||||
</items>
|
||||
</menu>
|
||||
<connections>
|
||||
|
@ -44,8 +45,8 @@
|
|||
</connections>
|
||||
</popUpButtonCell>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" id="11">
|
||||
<rect key="frame" x="39" y="228" width="183" height="17"/>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="11">
|
||||
<rect key="frame" x="39" y="250" width="183" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Bopomofo Keyboard Layout:" id="12">
|
||||
<font key="font" metaFont="system"/>
|
||||
|
@ -53,20 +54,20 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<popUpButton verticalHuggingPriority="750" id="124">
|
||||
<rect key="frame" x="226" y="181" width="156" height="26"/>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="124">
|
||||
<rect key="frame" x="226" y="203" width="156" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="127">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="128"/>
|
||||
</popUpButtonCell>
|
||||
<connections>
|
||||
<action selector="updateBasisKeyboardLayoutAction:" target="-2" id="136"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<textField verticalHuggingPriority="750" id="125">
|
||||
<rect key="frame" x="17" y="186" width="205" height="17"/>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="125">
|
||||
<rect key="frame" x="17" y="208" width="205" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Alphanumeric Keyboard Layout:" id="126">
|
||||
<font key="font" metaFont="system"/>
|
||||
|
@ -74,8 +75,8 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" id="13">
|
||||
<rect key="frame" x="67" y="149" width="155" height="17"/>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="13">
|
||||
<rect key="frame" x="67" y="171" width="155" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Show Candidate Phrase:" id="14">
|
||||
<font key="font" metaFont="system"/>
|
||||
|
@ -83,8 +84,8 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" id="23">
|
||||
<rect key="frame" x="84" y="103" width="138" height="17"/>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="23">
|
||||
<rect key="frame" x="84" y="125" width="138" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Candidate List Style:" id="24">
|
||||
<font key="font" metaFont="system"/>
|
||||
|
@ -92,8 +93,8 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" id="28">
|
||||
<rect key="frame" x="88" y="56" width="134" height="17"/>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="28">
|
||||
<rect key="frame" x="88" y="78" width="134" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Candidate Text Size:" id="29">
|
||||
<font key="font" metaFont="system"/>
|
||||
|
@ -101,8 +102,8 @@
|
|||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<matrix verticalHuggingPriority="750" tag="1" allowsEmptySelection="NO" id="15">
|
||||
<rect key="frame" x="228" y="128" width="213" height="38"/>
|
||||
<matrix verticalHuggingPriority="750" fixedFrame="YES" tag="1" allowsEmptySelection="NO" translatesAutoresizingMaskIntoConstraints="NO" id="15">
|
||||
<rect key="frame" x="228" y="150" width="213" height="38"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="cellSize" width="206" height="18"/>
|
||||
|
@ -127,8 +128,8 @@
|
|||
<binding destination="32" name="selectedTag" keyPath="values.SelectPhraseAfterCursorAsCandidate" id="104"/>
|
||||
</connections>
|
||||
</matrix>
|
||||
<matrix verticalHuggingPriority="750" allowsEmptySelection="NO" id="19">
|
||||
<rect key="frame" x="228" y="82" width="207" height="38"/>
|
||||
<matrix verticalHuggingPriority="750" fixedFrame="YES" allowsEmptySelection="NO" translatesAutoresizingMaskIntoConstraints="NO" id="19">
|
||||
<rect key="frame" x="228" y="104" width="207" height="38"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
<size key="cellSize" width="88" height="18"/>
|
||||
|
@ -153,12 +154,12 @@
|
|||
<binding destination="32" name="selectedTag" keyPath="values.UseHorizontalCandidateList" id="105"/>
|
||||
</connections>
|
||||
</matrix>
|
||||
<popUpButton verticalHuggingPriority="750" id="90">
|
||||
<rect key="frame" x="226" y="50" width="86" height="26"/>
|
||||
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="90">
|
||||
<rect key="frame" x="226" y="72" width="86" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="18" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="18" imageScaling="proportionallyDown" inset="2" selectedItem="96" id="91">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<menu key="menu" title="OtherViews" id="92">
|
||||
<items>
|
||||
<menuItem title="12" tag="12" id="93"/>
|
||||
|
@ -176,8 +177,8 @@
|
|||
<binding destination="32" name="selectedTag" keyPath="values.CandidateListTextSize" id="107"/>
|
||||
</connections>
|
||||
</popUpButton>
|
||||
<button id="109">
|
||||
<rect key="frame" x="226" y="18" width="217" height="18"/>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="109">
|
||||
<rect key="frame" x="226" y="40" width="217" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Space key chooses candidate" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="110">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
|
@ -187,8 +188,20 @@
|
|||
<binding destination="32" name="value" keyPath="values.ChooseCandidateUsingSpaceKey" id="112"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Fc2-qh-r1H">
|
||||
<rect key="frame" x="226" y="18" width="218" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Check for updates automatically" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="Z9t-P0-BLF">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="32" name="value" keyPath="values.CheckUpdateAutomatically" id="6WP-5h-sHG"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<point key="canvasLocation" x="142" y="158"/>
|
||||
</window>
|
||||
<userDefaultsController representsSharedInstance="YES" id="32"/>
|
||||
</objects>
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
//
|
||||
// AppIconRendererView.h
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
@interface AppIconRendererView : NSView {
|
||||
// CGImageRef image;
|
||||
NSImage *image;
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,229 +0,0 @@
|
|||
//
|
||||
// AppIconRendererView.m
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import "AppIconRendererView.h"
|
||||
|
||||
|
||||
@implementation AppIconRendererView
|
||||
|
||||
- (id)initWithFrame:(NSRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
// Initialization code here.
|
||||
|
||||
// CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
|
||||
// CGContextRef context = CGBitmapContextCreate(NULL, frame.size.width, frame.size.height, 8, frame.size.width, colorSpace, 0);
|
||||
// CGColorSpaceRelease(colorSpace);
|
||||
|
||||
// imageRep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL pixelsWide:frame.size.width pixelsHigh:frame.size.height bitsPerSample:8 samplesPerPixel:1 hasAlpha:NO isPlanar:NO colorSpaceName:NSDeviceWhiteColorSpace bytesPerRow:0 bitsPerPixel:0];
|
||||
|
||||
NSRect bounds = [self bounds];
|
||||
|
||||
image = [[NSImage alloc] initWithSize:frame.size];
|
||||
[image lockFocus];
|
||||
|
||||
[[NSColor blackColor] setFill];
|
||||
[NSBezierPath fillRect:bounds];
|
||||
|
||||
|
||||
CIContext *imageContext = [[NSGraphicsContext currentContext] CIContext];
|
||||
|
||||
CIFilter *filter = [CIFilter filterWithName:@"CIRandomGenerator"];
|
||||
[filter setDefaults];
|
||||
|
||||
// CIContext *imageContext = [CIContext contextWithCGContext:context options:nil];
|
||||
|
||||
CIImage *output = [filter valueForKey:@"outputImage"];
|
||||
|
||||
CIFilter *mono = [CIFilter filterWithName:@"CIColorMonochrome"];
|
||||
[mono setDefaults];
|
||||
[mono setValue:output forKey:@"inputImage"];
|
||||
|
||||
CIColor *color = [[[CIColor alloc] initWithColor:[NSColor blackColor]] autorelease];
|
||||
|
||||
[mono setValue:color forKey:@"inputColor"];
|
||||
[mono setValue:[NSNumber numberWithDouble:1.0] forKey:@"inputIntensity"];
|
||||
output = [mono valueForKey:@"outputImage"];
|
||||
|
||||
CIFilter *blur = [CIFilter filterWithName:@"CIMotionBlur"];
|
||||
[blur setDefaults];
|
||||
[blur setValue:output forKey:@"inputImage"];
|
||||
[blur setValue:[NSNumber numberWithDouble:25.0] forKey:@"inputRadius"];
|
||||
[blur setValue:[NSNumber numberWithDouble:0.0] forKey:@"inputAngle"];
|
||||
output = [blur valueForKey:@"outputImage"];
|
||||
|
||||
|
||||
[imageContext drawImage:output inRect:[self bounds] fromRect:[self bounds]];
|
||||
|
||||
|
||||
NSColor *transWhite = [NSColor colorWithDeviceWhite:0.9 alpha:0.2];
|
||||
NSColor *transBlack = [NSColor colorWithDeviceWhite:0.5 alpha:0.3];
|
||||
|
||||
NSGradient *gradient = // [[[NSGradient alloc] initWithStartingColor:transBlack endingColor:transWhite] autorelease];
|
||||
[[[NSGradient alloc] initWithColorsAndLocations:
|
||||
transBlack, 0.0,
|
||||
// [NSColor darkGrayColor], 0.1,
|
||||
transWhite, 0.5,
|
||||
// [NSColor darkGrayColor], 0.9,
|
||||
transBlack, 1.0,
|
||||
nil] autorelease];
|
||||
// bounds.size.width /= 2;
|
||||
[gradient drawInRect:bounds angle:0.0];
|
||||
|
||||
// bounds.origin.x += bounds.size.width;
|
||||
// [gradient drawInRect:bounds angle:180.0];
|
||||
|
||||
// CGBitmapContextCreateImage(context);
|
||||
|
||||
// CGColorSpaceRef colorColorSpace = CGColorSpaceCreateDeviceRGB();
|
||||
// CGImageRef tmpImage = CGBitmapContextCreateImage(context);
|
||||
// image = CGImageCreateCopyWithColorSpace(tmpImage, colorColorSpace);
|
||||
// CGImageRelease(tmpImage);
|
||||
// CGColorSpaceRelease(colorColorSpace);
|
||||
|
||||
|
||||
|
||||
// CGContextRelease(context);
|
||||
|
||||
[image unlockFocus];
|
||||
|
||||
// NSLog(@"%@", [image representations]);
|
||||
|
||||
// [image addRepresentation:imageRep];
|
||||
// NSLog(@"%@", [image representations]);
|
||||
|
||||
// for (NSBitmapImageRep *rep in [image representations]) {
|
||||
// [rep setColorSpaceName:NSDeviceWhiteColorSpace];
|
||||
// }
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
// CGImageRelease(image);
|
||||
[image release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)drawRect:(NSRect)dirtyRect
|
||||
{
|
||||
NSRect boundRect = [self bounds];
|
||||
CGFloat radius = 1.0;
|
||||
|
||||
if (boundRect.size.width > 16.0 && boundRect.size.width <= 32.0) {
|
||||
boundRect.origin.x += 1.0;
|
||||
boundRect.origin.y += 1.0;
|
||||
boundRect.size.width -= 2.0;
|
||||
boundRect.size.height -= 2.0;
|
||||
radius = 2.0;
|
||||
}
|
||||
else if (boundRect.size.width > 32.0) {
|
||||
boundRect.origin.x += 5.0;
|
||||
boundRect.origin.y += 5.0;
|
||||
boundRect.size.width -= 10.0;
|
||||
boundRect.size.height -= 10.0;
|
||||
radius = 7.0;
|
||||
}
|
||||
|
||||
NSShadow *imageShadow = [[[NSShadow alloc] init] autorelease];
|
||||
[imageShadow setShadowOffset:NSMakeSize(1.0, -1.0)];
|
||||
[imageShadow setShadowColor:[NSColor darkGrayColor]];
|
||||
[imageShadow setShadowBlurRadius:radius / 2];
|
||||
|
||||
|
||||
NSBezierPath *clipPath = [NSBezierPath bezierPathWithRoundedRect:boundRect xRadius:radius yRadius:radius];
|
||||
[[NSGraphicsContext currentContext] saveGraphicsState];
|
||||
[imageShadow set];
|
||||
[[NSColor whiteColor] setFill];
|
||||
[clipPath fill];
|
||||
[[NSGraphicsContext currentContext] restoreGraphicsState];
|
||||
|
||||
[clipPath setClip];
|
||||
|
||||
[image drawInRect:boundRect fromRect:boundRect operation:NSCompositeCopy fraction:1.0];
|
||||
|
||||
NSString *text = @"ㄅ";
|
||||
|
||||
if ([self bounds].size.width >= 32.0) {
|
||||
text = @"ㄅㄆ\nㄇㄈ";
|
||||
}
|
||||
|
||||
NSFont *font = [NSFont fontWithName:@"LiSong Pro" size:boundRect.size.width * 0.40];
|
||||
|
||||
NSShadow *shadow = [[[NSShadow alloc] init] autorelease];
|
||||
[shadow setShadowColor:[NSColor blackColor]];
|
||||
[shadow setShadowOffset:NSMakeSize(1.0, 1.0)];
|
||||
// [shadow setShadowBlurRadius:2.0];
|
||||
// [NSFont boldSystemFontOfSize:48.0];
|
||||
|
||||
|
||||
NSColor *textColor = [NSColor whiteColor];
|
||||
|
||||
NSMutableDictionary *attr = [NSMutableDictionary dictionaryWithObjectsAndKeys:
|
||||
font, NSFontAttributeName,
|
||||
textColor, NSForegroundColorAttributeName,
|
||||
shadow, NSShadowAttributeName,
|
||||
nil];
|
||||
|
||||
NSAttributedString *attrStr = [[[NSAttributedString alloc] initWithString:text attributes:attr] autorelease];
|
||||
|
||||
NSRect textRect = [attrStr boundingRectWithSize:boundRect.size options:NSStringDrawingUsesLineFragmentOrigin];
|
||||
|
||||
textRect.origin.x = boundRect.origin.x + (boundRect.size.width - textRect.size.width) / 2.0;
|
||||
textRect.origin.y = boundRect.origin.y + (boundRect.size.height - textRect.size.height) / 2.0;
|
||||
|
||||
textRect.origin.y += boundRect.size.height * 0.025;
|
||||
|
||||
[attrStr drawInRect:textRect];
|
||||
|
||||
|
||||
// NSBitmapImageRep *imageRep = [[[NSBitmapImageRep alloc] initWithCGImage:image] autorelease];
|
||||
//
|
||||
// [imageRep colorizeByMappingGray:0.2 toColor:[NSColor greenColor] blackMapping:[NSColor darkGrayColor] whiteMapping:[NSColor redColor]];
|
||||
|
||||
// NSImage *img = [[NSImage alloc] initWithCGImage:image size:NSZeroSize];
|
||||
// NSLog(@"%@", [img representations]);
|
||||
//
|
||||
// [img drawInRect:[self bounds] fromRect:[self bounds] operation:NSCompositeCopy fraction:1.0];
|
||||
// [img release];
|
||||
|
||||
// [image drawRepresentation:imageRep inRect:[self bounds]];
|
||||
// [imageRep draw];
|
||||
// [imageRep drawInRect:[self bounds] fromRect:[self bounds] operation:NSCompositeCopy fraction:1.0 respectFlipped:YES hints:nil];
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,14 +0,0 @@
|
|||
//
|
||||
// BopomofoIconRenderView.h
|
||||
// Lettuce
|
||||
//
|
||||
// Created by Lukhnos D. Liu on 9/3/12.
|
||||
//
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface BopomofoIconRenderView : NSView
|
||||
@property (assign, nonatomic) BOOL textMenuIcon;
|
||||
@property (assign, nonatomic) BOOL plainBopomofoIcon;
|
||||
@end
|
|
@ -1,115 +0,0 @@
|
|||
//
|
||||
// BopomofoIconRenderView.m
|
||||
// Lettuce
|
||||
//
|
||||
// Created by Lukhnos D. Liu on 9/3/12.
|
||||
//
|
||||
//
|
||||
|
||||
#import "BopomofoIconRenderView.h"
|
||||
|
||||
@implementation BopomofoIconRenderView
|
||||
- (void)drawRect:(NSRect)dirtyRect
|
||||
{
|
||||
NSAffineTransform *transform = [NSAffineTransform transform];
|
||||
[transform scaleBy:[self bounds].size.width / 16.0];
|
||||
[transform concat];
|
||||
|
||||
NSRect boundsRect = NSMakeRect(0.0, 0.0, 16.0, 16.0);
|
||||
|
||||
if ([self bounds].size.width > 16.0) {
|
||||
boundsRect.origin.x += 0.5;
|
||||
}
|
||||
|
||||
boundsRect.size.width -= 1.0;
|
||||
|
||||
NSBezierPath *backgroundPath = [NSBezierPath bezierPathWithRoundedRect:boundsRect xRadius:2.0 yRadius:2.0];
|
||||
if (self.textMenuIcon) {
|
||||
[[NSColor colorWithDeviceWhite:0.95 alpha:1.0] setFill];
|
||||
[[NSColor colorWithDeviceWhite:0.6 alpha:1.0] setStroke];
|
||||
[backgroundPath fill];
|
||||
|
||||
NSRect innerBoundRect = boundsRect;
|
||||
innerBoundRect.size.width -= 1.0;
|
||||
innerBoundRect.size.height -= 1.0;
|
||||
innerBoundRect.origin.x += 0.5;
|
||||
innerBoundRect.origin.y += 0.5;
|
||||
backgroundPath = [NSBezierPath bezierPathWithRoundedRect:innerBoundRect xRadius:2.0 yRadius:2.0];
|
||||
[backgroundPath stroke];
|
||||
|
||||
[NSGraphicsContext saveGraphicsState];
|
||||
NSBezierPath *coveringPath = [NSBezierPath bezierPath];
|
||||
[coveringPath appendBezierPathWithArcWithCenter:NSMakePoint(16.0, 1.0) radius:14.0 startAngle:0.0 endAngle:360.0];
|
||||
[coveringPath setClip];
|
||||
|
||||
[[NSColor colorWithDeviceWhite:0.3 alpha:1.0] setStroke];
|
||||
backgroundPath = [NSBezierPath bezierPathWithRoundedRect:innerBoundRect xRadius:2.0 yRadius:2.0];
|
||||
[backgroundPath stroke];
|
||||
[NSGraphicsContext restoreGraphicsState];
|
||||
}
|
||||
else {
|
||||
if (self.plainBopomofoIcon) {
|
||||
if ([self bounds].size.width > 16.0) {
|
||||
[[NSColor colorWithDeviceWhite:0.3 alpha:1.0] setFill];
|
||||
}
|
||||
else {
|
||||
[[NSColor colorWithDeviceWhite:0.1 alpha:1.0] setFill];
|
||||
}
|
||||
}
|
||||
else {
|
||||
[[NSColor colorWithDeviceWhite:0.3 alpha:1.0] setFill];
|
||||
}
|
||||
[backgroundPath fill];
|
||||
}
|
||||
|
||||
|
||||
CGFloat fontSize = ([self bounds].size.width > 16.0) ? 14.0 : 13.0;
|
||||
NSString *text = @"ㄅ";
|
||||
NSString *fontName = @"BiauKai";
|
||||
|
||||
NSColor *textColor = nil;
|
||||
|
||||
if (self.textMenuIcon) {
|
||||
textColor = [NSColor blackColor];
|
||||
}
|
||||
else if (self.plainBopomofoIcon) {
|
||||
textColor = [NSColor colorWithDeviceWhite:0.95 alpha:1.0];
|
||||
}
|
||||
else {
|
||||
textColor = [NSColor colorWithDeviceWhite:1.0 alpha:1.0];
|
||||
}
|
||||
|
||||
NSMutableDictionary *attrDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
|
||||
textColor, NSForegroundColorAttributeName,
|
||||
[NSFont fontWithName:fontName size:fontSize], NSFontAttributeName,
|
||||
nil];
|
||||
NSMutableAttributedString *attrString = [[[NSMutableAttributedString alloc] initWithString:text attributes:attrDict] autorelease];
|
||||
|
||||
NSRect textBounds = [attrString boundingRectWithSize:boundsRect.size options:NSStringDrawingUsesLineFragmentOrigin];
|
||||
|
||||
NSPoint textOrigin;
|
||||
textOrigin.x = boundsRect.origin.x + (boundsRect.size.width - textBounds.size.width) / 2.0;
|
||||
textOrigin.y = boundsRect.origin.y;
|
||||
|
||||
[attrString drawAtPoint:textOrigin];
|
||||
|
||||
if (self.plainBopomofoIcon) {
|
||||
NSBezierPath *coveringPath = [NSBezierPath bezierPath];
|
||||
[coveringPath appendBezierPathWithArcWithCenter:NSMakePoint(16.0, -3.0) radius:13.0 startAngle:0.0 endAngle:360.0];
|
||||
[coveringPath setClip];
|
||||
|
||||
if (!([self bounds].size.width > 16.0)) {
|
||||
[[NSColor colorWithDeviceWhite:0.6 alpha:1.0] setFill];
|
||||
}
|
||||
else {
|
||||
[[NSColor colorWithDeviceWhite:0.65 alpha:1.0] setFill];
|
||||
}
|
||||
|
||||
[backgroundPath fill];
|
||||
|
||||
[attrDict setObject:[NSColor colorWithDeviceWhite:1.0 alpha:1.0] forKey:NSForegroundColorAttributeName];
|
||||
[attrString setAttributes:attrDict range:NSMakeRange(0, [text length])];
|
||||
[attrString drawAtPoint:textOrigin];
|
||||
}
|
||||
}
|
||||
@end
|
|
@ -1,34 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2011-2012 Mengjuei Hsieh et al.</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.openvanilla.McBopomofo.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>MICM</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,7 +0,0 @@
|
|||
//
|
||||
// Prefix header for all source files of the 'IconMaker' target in the 'IconMaker' project
|
||||
//
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
|
@ -1,282 +0,0 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
6AA67F9E15FC429D00B5A308 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6AA67F9D15FC429D00B5A308 /* Cocoa.framework */; };
|
||||
6AA67FD315FC430F00B5A308 /* AppIconRendererView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA67FC015FC430F00B5A308 /* AppIconRendererView.m */; };
|
||||
6AA67FD415FC430F00B5A308 /* BopomofoIconRenderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA67FC215FC430F00B5A308 /* BopomofoIconRenderView.m */; };
|
||||
6AA67FD715FC430F00B5A308 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6AA67FC815FC430F00B5A308 /* MainMenu.xib */; };
|
||||
6AA67FD915FC430F00B5A308 /* IconMakerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA67FCD15FC430F00B5A308 /* IconMakerAppDelegate.m */; };
|
||||
6AA67FDA15FC430F00B5A308 /* ImageZoomInView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA67FCF15FC430F00B5A308 /* ImageZoomInView.m */; };
|
||||
6AA67FDB15FC430F00B5A308 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA67FD015FC430F00B5A308 /* main.m */; };
|
||||
6AA67FDC15FC430F00B5A308 /* TISIconRendererView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AA67FD215FC430F00B5A308 /* TISIconRendererView.m */; };
|
||||
6AA67FE215FC43BC00B5A308 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6AA67FE115FC43BC00B5A308 /* Quartz.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
6AA67F9915FC429D00B5A308 /* IconMaker.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IconMaker.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6AA67F9D15FC429D00B5A308 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
6AA67FBF15FC430F00B5A308 /* AppIconRendererView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppIconRendererView.h; sourceTree = "<group>"; };
|
||||
6AA67FC015FC430F00B5A308 /* AppIconRendererView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppIconRendererView.m; sourceTree = "<group>"; };
|
||||
6AA67FC115FC430F00B5A308 /* BopomofoIconRenderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BopomofoIconRenderView.h; sourceTree = "<group>"; };
|
||||
6AA67FC215FC430F00B5A308 /* BopomofoIconRenderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BopomofoIconRenderView.m; sourceTree = "<group>"; };
|
||||
6AA67FC915FC430F00B5A308 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = MainMenu.xib; sourceTree = "<group>"; };
|
||||
6AA67FCA15FC430F00B5A308 /* IconMaker-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "IconMaker-Info.plist"; sourceTree = "<group>"; };
|
||||
6AA67FCB15FC430F00B5A308 /* IconMaker-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IconMaker-Prefix.pch"; sourceTree = "<group>"; };
|
||||
6AA67FCC15FC430F00B5A308 /* IconMakerAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IconMakerAppDelegate.h; sourceTree = "<group>"; };
|
||||
6AA67FCD15FC430F00B5A308 /* IconMakerAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IconMakerAppDelegate.m; sourceTree = "<group>"; };
|
||||
6AA67FCE15FC430F00B5A308 /* ImageZoomInView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageZoomInView.h; sourceTree = "<group>"; };
|
||||
6AA67FCF15FC430F00B5A308 /* ImageZoomInView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageZoomInView.m; sourceTree = "<group>"; };
|
||||
6AA67FD015FC430F00B5A308 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
6AA67FD115FC430F00B5A308 /* TISIconRendererView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TISIconRendererView.h; sourceTree = "<group>"; };
|
||||
6AA67FD215FC430F00B5A308 /* TISIconRendererView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TISIconRendererView.m; sourceTree = "<group>"; };
|
||||
6AA67FE115FC43BC00B5A308 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = System/Library/Frameworks/Quartz.framework; sourceTree = SDKROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
6AA67F9615FC429D00B5A308 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6AA67FE215FC43BC00B5A308 /* Quartz.framework in Frameworks */,
|
||||
6AA67F9E15FC429D00B5A308 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
6AA67F8E15FC429D00B5A308 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6AA67FBF15FC430F00B5A308 /* AppIconRendererView.h */,
|
||||
6AA67FC015FC430F00B5A308 /* AppIconRendererView.m */,
|
||||
6AA67FC115FC430F00B5A308 /* BopomofoIconRenderView.h */,
|
||||
6AA67FC215FC430F00B5A308 /* BopomofoIconRenderView.m */,
|
||||
6AA67FCC15FC430F00B5A308 /* IconMakerAppDelegate.h */,
|
||||
6AA67FCD15FC430F00B5A308 /* IconMakerAppDelegate.m */,
|
||||
6AA67FCE15FC430F00B5A308 /* ImageZoomInView.h */,
|
||||
6AA67FCF15FC430F00B5A308 /* ImageZoomInView.m */,
|
||||
6AA67FD015FC430F00B5A308 /* main.m */,
|
||||
6AA67FD115FC430F00B5A308 /* TISIconRendererView.h */,
|
||||
6AA67FD215FC430F00B5A308 /* TISIconRendererView.m */,
|
||||
6AE210AF15FC6388003659FE /* Resources */,
|
||||
6AA67F9C15FC429D00B5A308 /* Frameworks */,
|
||||
6AA67F9A15FC429D00B5A308 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6AA67F9A15FC429D00B5A308 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6AA67F9915FC429D00B5A308 /* IconMaker.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6AA67F9C15FC429D00B5A308 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6AA67F9D15FC429D00B5A308 /* Cocoa.framework */,
|
||||
6AA67FE115FC43BC00B5A308 /* Quartz.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
6AE210AF15FC6388003659FE /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6AA67FCA15FC430F00B5A308 /* IconMaker-Info.plist */,
|
||||
6AA67FCB15FC430F00B5A308 /* IconMaker-Prefix.pch */,
|
||||
6AA67FC815FC430F00B5A308 /* MainMenu.xib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
6AA67F9815FC429D00B5A308 /* IconMaker */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 6AA67FB715FC429D00B5A308 /* Build configuration list for PBXNativeTarget "IconMaker" */;
|
||||
buildPhases = (
|
||||
6AA67F9515FC429D00B5A308 /* Sources */,
|
||||
6AA67F9615FC429D00B5A308 /* Frameworks */,
|
||||
6AA67F9715FC429D00B5A308 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = IconMaker;
|
||||
productName = IconMaker;
|
||||
productReference = 6AA67F9915FC429D00B5A308 /* IconMaker.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
6AA67F9015FC429D00B5A308 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0440;
|
||||
ORGANIZATIONNAME = OpenVanilla;
|
||||
};
|
||||
buildConfigurationList = 6AA67F9315FC429D00B5A308 /* Build configuration list for PBXProject "IconMaker" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 6AA67F8E15FC429D00B5A308;
|
||||
productRefGroup = 6AA67F9A15FC429D00B5A308 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
6AA67F9815FC429D00B5A308 /* IconMaker */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
6AA67F9715FC429D00B5A308 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6AA67FD715FC430F00B5A308 /* MainMenu.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
6AA67F9515FC429D00B5A308 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6AA67FD315FC430F00B5A308 /* AppIconRendererView.m in Sources */,
|
||||
6AA67FD415FC430F00B5A308 /* BopomofoIconRenderView.m in Sources */,
|
||||
6AA67FD915FC430F00B5A308 /* IconMakerAppDelegate.m in Sources */,
|
||||
6AA67FDA15FC430F00B5A308 /* ImageZoomInView.m in Sources */,
|
||||
6AA67FDB15FC430F00B5A308 /* main.m in Sources */,
|
||||
6AA67FDC15FC430F00B5A308 /* TISIconRendererView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
6AA67FC815FC430F00B5A308 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
6AA67FC915FC430F00B5A308 /* en */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
path = en.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
6AA67FB515FC429D00B5A308 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.7;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
6AA67FB615FC429D00B5A308 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.7;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
6AA67FB815FC429D00B5A308 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "IconMaker-Prefix.pch";
|
||||
INFOPLIST_FILE = "IconMaker-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
6AA67FB915FC429D00B5A308 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "IconMaker-Prefix.pch";
|
||||
INFOPLIST_FILE = "IconMaker-Info.plist";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
6AA67F9315FC429D00B5A308 /* Build configuration list for PBXProject "IconMaker" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
6AA67FB515FC429D00B5A308 /* Debug */,
|
||||
6AA67FB615FC429D00B5A308 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
6AA67FB715FC429D00B5A308 /* Build configuration list for PBXNativeTarget "IconMaker" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
6AA67FB815FC429D00B5A308 /* Debug */,
|
||||
6AA67FB915FC429D00B5A308 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 6AA67F9015FC429D00B5A308 /* Project object */;
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
//
|
||||
// IconMakerAppDelegate.h
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "TISIconRendererView.h"
|
||||
#import "BopomofoIconRenderView.h"
|
||||
|
||||
@interface IconMakerAppDelegate : NSObject <NSApplicationDelegate>
|
||||
@property (assign) IBOutlet NSWindow *window;
|
||||
@property (assign) IBOutlet TISIconRendererView *selectedTISIconRendererView;
|
||||
@property (assign) IBOutlet TISIconRendererView *faviconRenderView;
|
||||
@property (assign) IBOutlet BopomofoIconRenderView *bopomofoIconRenderView;
|
||||
@property (assign) IBOutlet BopomofoIconRenderView *bopomofoIconRenderView2x;
|
||||
@end
|
|
@ -1,112 +0,0 @@
|
|||
//
|
||||
// IconMakerAppDelegate.m
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import "IconMakerAppDelegate.h"
|
||||
|
||||
@implementation IconMakerAppDelegate
|
||||
|
||||
- (void)makeIconForObject:(id)object size:(NSSize)size filename:(NSString *)name
|
||||
{
|
||||
NSRect rect;
|
||||
rect.origin = NSZeroPoint;
|
||||
rect.size = size;
|
||||
|
||||
NSView *view = nil;
|
||||
if ([object isKindOfClass:[NSView class]]) {
|
||||
view = object;
|
||||
[view setFrame:NSMakeRect(0.0, 0.0, size.width, size.height)];
|
||||
}
|
||||
else if ([object isKindOfClass:[NSString class]]) {
|
||||
view = [[[NSClassFromString(object) alloc] initWithFrame:rect] autorelease];
|
||||
}
|
||||
|
||||
NSImage *image = [[[NSImage alloc] initWithSize:size] autorelease];
|
||||
[image lockFocus];
|
||||
[view drawRect:rect];
|
||||
[image unlockFocus];
|
||||
NSData *data = [image TIFFRepresentation];
|
||||
[data writeToFile:name atomically:YES];
|
||||
}
|
||||
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||
{
|
||||
// Insert code here to initialize your application
|
||||
self.selectedTISIconRendererView.selected = YES;
|
||||
[self.selectedTISIconRendererView setNeedsDisplay:YES];
|
||||
|
||||
self.faviconRenderView.favicon = YES;
|
||||
self.faviconRenderView.selected = YES;
|
||||
NSRect oldFrame = [self.faviconRenderView frame];
|
||||
[self makeIconForObject:self.faviconRenderView size:NSMakeSize(16, 16) filename:@"/tmp/BopomofoFavicon.tiff"];
|
||||
[self.faviconRenderView setFrame:oldFrame];
|
||||
[self.faviconRenderView setNeedsDisplay:YES];
|
||||
|
||||
self.bopomofoIconRenderView.textMenuIcon = NO;
|
||||
self.bopomofoIconRenderView.plainBopomofoIcon = NO;
|
||||
self.bopomofoIconRenderView2x.textMenuIcon = NO;
|
||||
self.bopomofoIconRenderView2x.plainBopomofoIcon = NO;
|
||||
[self.bopomofoIconRenderView setNeedsDisplay:YES];
|
||||
[self.bopomofoIconRenderView2x setNeedsDisplay:YES];
|
||||
|
||||
BopomofoIconRenderView *iconRenderView = [[[BopomofoIconRenderView alloc] init] autorelease];
|
||||
iconRenderView.textMenuIcon = NO;
|
||||
iconRenderView.plainBopomofoIcon = NO;
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(16, 16) filename:@"/tmp/Bopomofo.tiff"];
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(32, 32) filename:@"/tmp/Bopomofo@2x.tiff"];
|
||||
|
||||
iconRenderView.textMenuIcon = NO;
|
||||
iconRenderView.plainBopomofoIcon = YES;
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(16, 16) filename:@"/tmp/PlainBopomofo.tiff"];
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(32, 32) filename:@"/tmp/PlainBopomofo@2x.tiff"];
|
||||
|
||||
iconRenderView.plainBopomofoIcon = NO;
|
||||
iconRenderView.textMenuIcon = YES;
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(16, 16) filename:@"/tmp/BopomofoTextMenu.tiff"];
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(32, 32) filename:@"/tmp/BopomofoTextMenu@2x.tiff"];
|
||||
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(16, 16) filename:@"/tmp/icon_16x16.tiff"];
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(32, 32) filename:@"/tmp/icon_16x16@2x.tiff"];
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(32, 32) filename:@"/tmp/icon_32x32.tiff"];
|
||||
[self makeIconForObject:iconRenderView size:NSMakeSize(64, 64) filename:@"/tmp/icon_32x32@2x.tiff"];
|
||||
[self makeIconForObject:@"AppIconRendererView" size:NSMakeSize(128, 128) filename:@"/tmp/icon_128x128.tiff"];
|
||||
[self makeIconForObject:@"AppIconRendererView" size:NSMakeSize(256, 256) filename:@"/tmp/icon_128x128@2x.tiff"];
|
||||
[self makeIconForObject:@"AppIconRendererView" size:NSMakeSize(256, 256) filename:@"/tmp/icon_256x256.tiff"];
|
||||
[self makeIconForObject:@"AppIconRendererView" size:NSMakeSize(512, 512) filename:@"/tmp/icon_256x256@2x.tiff"];
|
||||
[self makeIconForObject:@"AppIconRendererView" size:NSMakeSize(512, 512) filename:@"/tmp/icon_512x512.tiff"];
|
||||
[self makeIconForObject:@"AppIconRendererView" size:NSMakeSize(1024, 1024) filename:@"/tmp/icon_512x512@2x.tiff"];
|
||||
|
||||
NSRunAlertPanel(@"Icons Generated", @"TIFF files are placed in /tmp", @"Dismiss", nil, nil);
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,42 +0,0 @@
|
|||
//
|
||||
// ImageZoomInView.h
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface ImageZoomInView : NSView
|
||||
{
|
||||
NSRect imageBoundRect;
|
||||
}
|
||||
@property (nonatomic, retain) NSImage *image;
|
||||
@end
|
|
@ -1,77 +0,0 @@
|
|||
//
|
||||
// ImageZoomInView.m
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import "ImageZoomInView.h"
|
||||
#import "TISIconRendererView.h"
|
||||
|
||||
@implementation ImageZoomInView
|
||||
@synthesize image;
|
||||
|
||||
- (id)initWithFrame:(NSRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
// Initialization code here.
|
||||
|
||||
image = [[NSImage alloc] initWithSize:NSMakeSize(16.0, 16.0)];
|
||||
[image lockFocus];
|
||||
imageBoundRect = NSMakeRect(0.0, 0.0, 16.0, 16.0);
|
||||
|
||||
// [[NSColor clearColor] setFill];
|
||||
// [NSBezierPath fillRect:imageBoundRect];
|
||||
|
||||
TISIconRendererView *rendererView = [[TISIconRendererView alloc] initWithFrame:imageBoundRect];
|
||||
[rendererView drawRect:imageBoundRect];
|
||||
[image unlockFocus];
|
||||
}
|
||||
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[image release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)drawRect:(NSRect)dirtyRect
|
||||
{
|
||||
[[NSColor blackColor] setStroke];
|
||||
[NSBezierPath strokeRect:[self bounds]];
|
||||
|
||||
[image drawInRect:[self bounds] fromRect:imageBoundRect operation:NSCompositeSourceOver fraction:1.0];
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,40 +0,0 @@
|
|||
//
|
||||
// TISIconRendererView.h
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface TISIconRendererView : NSView
|
||||
@property (nonatomic, assign) BOOL favicon;
|
||||
@property (nonatomic, assign) BOOL selected;
|
||||
@end
|
|
@ -1,116 +0,0 @@
|
|||
//
|
||||
// TISIconRendererView.m
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import "TISIconRendererView.h"
|
||||
|
||||
@implementation TISIconRendererView
|
||||
@synthesize selected;
|
||||
@synthesize favicon;
|
||||
|
||||
- (void)drawRect:(NSRect)dirtyRect
|
||||
{
|
||||
NSRect boundsRect = [self bounds];
|
||||
|
||||
if (favicon) {
|
||||
boundsRect.origin.x += 0.0;
|
||||
boundsRect.origin.y += 1.0;
|
||||
boundsRect.size.width -= 1.0;
|
||||
boundsRect.size.height -= 2.0;
|
||||
|
||||
NSBezierPath *roundRectPath = [NSBezierPath bezierPathWithRoundedRect:boundsRect xRadius:1 yRadius:2];
|
||||
[[NSColor grayColor] setFill];
|
||||
[roundRectPath fill];
|
||||
|
||||
boundsRect.origin.x += 0.0;
|
||||
boundsRect.origin.y += 1.0;
|
||||
boundsRect.size.width -= 1.0;
|
||||
boundsRect.size.height -= 1.0;
|
||||
|
||||
}
|
||||
else {
|
||||
boundsRect.origin.x += 0.0;
|
||||
boundsRect.origin.y += 1.0;
|
||||
boundsRect.size.width -= 1.0;
|
||||
boundsRect.size.height -= 1.0;
|
||||
}
|
||||
|
||||
NSInteger fontSize = 16;
|
||||
if (favicon) {
|
||||
fontSize = 11;
|
||||
}
|
||||
|
||||
NSString *text = @"ㄅ";
|
||||
NSString *fontName = @"LiSong Pro";
|
||||
|
||||
NSColor *textColor = nil;
|
||||
NSColor *shadowColor = nil;
|
||||
if (!selected) {
|
||||
textColor = [NSColor blackColor];
|
||||
shadowColor = [NSColor colorWithDeviceWhite:0.9 alpha:0.9];
|
||||
}
|
||||
else {
|
||||
shadowColor = [NSColor darkGrayColor];
|
||||
textColor = [NSColor colorWithDeviceWhite:1.0 alpha:1.0];
|
||||
}
|
||||
|
||||
NSShadow *textShadow = [[NSShadow alloc] init];
|
||||
[textShadow setShadowColor:shadowColor];
|
||||
[textShadow setShadowOffset:NSMakeSize(-1, -1)];
|
||||
|
||||
NSMutableDictionary *attrDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
|
||||
textColor, NSForegroundColorAttributeName,
|
||||
textShadow, NSShadowAttributeName,
|
||||
[NSFont fontWithName:fontName size:fontSize], NSFontAttributeName,
|
||||
nil];
|
||||
NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:text attributes:attrDict];
|
||||
|
||||
NSRect textBounds = [attrString boundingRectWithSize:boundsRect.size options:NSStringDrawingUsesLineFragmentOrigin];
|
||||
|
||||
NSPoint textOrigin;
|
||||
textOrigin.x = boundsRect.origin.x + (boundsRect.size.width - textBounds.size.width) / 2.0;
|
||||
|
||||
if (favicon) {
|
||||
textOrigin.x += 1;
|
||||
textOrigin.y = boundsRect.origin.y;
|
||||
}
|
||||
else {
|
||||
textOrigin.y = boundsRect.origin.y - 2;
|
||||
}
|
||||
|
||||
attrString = [[NSAttributedString alloc] initWithString:text attributes:attrDict];
|
||||
[attrString drawAtPoint:textOrigin];
|
||||
|
||||
}
|
||||
|
||||
@end
|
|
@ -1,40 +0,0 @@
|
|||
//
|
||||
// main.m
|
||||
//
|
||||
// Copyright (c) 2011 The McBopomofo Project.
|
||||
//
|
||||
// Contributors:
|
||||
// Mengjuei Hsieh (@mjhsieh)
|
||||
// Weizhong Yang (@zonble)
|
||||
//
|
||||
// Based on the Syrup Project and the Formosana Library
|
||||
// by Lukhnos Liu (@lukhnos).
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person
|
||||
// obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without
|
||||
// restriction, including without limitation the rights to use,
|
||||
// copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following
|
||||
// conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
return NSApplicationMain(argc, (const char **)argv);
|
||||
}
|
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "64X64.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "128X128.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "192x192.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 495 B |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 869 B |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "16X16.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "16x16"
|
||||
},
|
||||
{
|
||||
"filename" : "32X32.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "16x16"
|
||||
},
|
||||
{
|
||||
"filename" : "32X32.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "32x32"
|
||||
},
|
||||
{
|
||||
"filename" : "64X64.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "32x32"
|
||||
},
|
||||
{
|
||||
"filename" : "128X128.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "128x128"
|
||||
},
|
||||
{
|
||||
"filename" : "256X256.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "128x128"
|
||||
},
|
||||
{
|
||||
"filename" : "256X256.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "256x256"
|
||||
},
|
||||
{
|
||||
"filename" : "512X512.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "256x256"
|
||||
},
|
||||
{
|
||||
"filename" : "512X512.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x",
|
||||
"size" : "512x512"
|
||||
},
|
||||
{
|
||||
"filename" : "1024X1024.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x",
|
||||
"size" : "512x512"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 351 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 6.2 KiB |
|
@ -240,10 +240,8 @@ public:
|
|||
}
|
||||
#endif //DEBUG
|
||||
|
||||
#if DEBUG
|
||||
NSMenuItem *updateCheckItem = [[[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"Check for Updates…", @"") action:@selector(checkForUpdate:) keyEquivalent:@""] autorelease];
|
||||
[menu addItem:updateCheckItem];
|
||||
#endif
|
||||
|
||||
NSMenuItem *aboutMenuItem = [[[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"About McBopomofo…", @"") action:@selector(showAbout:) keyEquivalent:@""] autorelease];
|
||||
[menu addItem:aboutMenuItem];
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>McBopomofo.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
|
@ -17,11 +15,11 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.9.11</string>
|
||||
<string>1.0-beta3</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>MBIN</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>812</string>
|
||||
<string>844</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSHasLocalizedDisplayName</key>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Localized versions of Info.plist keys */
|
||||
|
||||
CFBundleName = "Install McBopomofo";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2018 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2020 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
\f0\b\fs36 \cf0 McBopomofo License Agreement
|
||||
\f1\b0\fs24 \
|
||||
\
|
||||
Copyright \'a9 2011-2018 Mengjuei Hsieh et al.\
|
||||
Copyright \'a9 2011-2020 Mengjuei Hsieh et al.\
|
||||
\
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \'93Software\'94), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\
|
||||
\
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Localized versions of Info.plist keys */
|
||||
|
||||
CFBundleName = "安裝小麥注音";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2018 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2020 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
\f0\b\fs36 \cf0 McBopomofo License Agreement
|
||||
\f1\b0\fs24 \
|
||||
\
|
||||
Copyright \'a9 2011-2018 Mengjuei Hsieh et al.\
|
||||
Copyright \'a9 2011-2020 Mengjuei Hsieh et al.\
|
||||
|
||||
\f2 \'b5\'db\'a7\'40\'c5\'76\'a7\'51\'a9\'d2\'a6\'b3
|
||||
\f1 \'a9 2011-2018 Mengjuei Hsieh
|
||||
\f1 \'a9 2011-2020 Mengjuei Hsieh
|
||||
\f2 \'b5\'a5\'a4\'48
|
||||
\f1 \
|
||||
\
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>McBopomofo.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
|
@ -17,11 +15,11 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.9.11</string>
|
||||
<string>1.0-beta3</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>BPMF</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>812</string>
|
||||
<string>844</string>
|
||||
<key>ComponentInputModeDict</key>
|
||||
<dict>
|
||||
<key>tsInputModeListKey</key>
|
||||
|
@ -30,12 +28,21 @@
|
|||
<dict>
|
||||
<key>TISDoubleSpaceSubstitution</key>
|
||||
<string>。</string>
|
||||
<key>TISIntendedLanguage</key>
|
||||
<string>zh-Hant</string>
|
||||
<key>tsInputModeAlternateMenuIconFileKey</key>
|
||||
<string>Bopomofo.tiff</string>
|
||||
<key>tsInputModeCharacterRepertoireKey</key>
|
||||
<array>
|
||||
<string>Hant</string>
|
||||
<string>Han</string>
|
||||
</array>
|
||||
<key>tsInputModeDefaultStateKey</key>
|
||||
<true/>
|
||||
<key>tsInputModeIsVisibleKey</key>
|
||||
<true/>
|
||||
<key>tsInputModeKeyEquivalentModifiersKey</key>
|
||||
<integer>4608</integer>
|
||||
<key>tsInputModeMenuIconFileKey</key>
|
||||
<string>Bopomofo.tiff</string>
|
||||
<key>tsInputModePaletteIconFileKey</key>
|
||||
|
@ -44,26 +51,26 @@
|
|||
<true/>
|
||||
<key>tsInputModeScriptKey</key>
|
||||
<string>smTradChinese</string>
|
||||
<key>TISIntendedLanguage</key>
|
||||
<string>zh-Hant</string>
|
||||
<key>tsInputModeCharacterRepertoireKey</key>
|
||||
<array>
|
||||
<string>Hant</string>
|
||||
<string>Han</string>
|
||||
</array>
|
||||
<key>tsInputModeKeyEquivalentModifiersKey</key>
|
||||
<integer>4608</integer>
|
||||
</dict>
|
||||
<key>org.openvanilla.inputmethod.McBopomofo.PlainBopomofo</key>
|
||||
<dict>
|
||||
<key>TISDoubleSpaceSubstitution</key>
|
||||
<string>。</string>
|
||||
<key>TISIntendedLanguage</key>
|
||||
<string>zh-Hant</string>
|
||||
<key>tsInputModeAlternateMenuIconFileKey</key>
|
||||
<string>PlainBopomofo.tiff</string>
|
||||
<key>tsInputModeCharacterRepertoireKey</key>
|
||||
<array>
|
||||
<string>Hant</string>
|
||||
<string>Han</string>
|
||||
</array>
|
||||
<key>tsInputModeDefaultStateKey</key>
|
||||
<true/>
|
||||
<key>tsInputModeIsVisibleKey</key>
|
||||
<true/>
|
||||
<key>tsInputModeKeyEquivalentModifiersKey</key>
|
||||
<integer>4608</integer>
|
||||
<key>tsInputModeMenuIconFileKey</key>
|
||||
<string>PlainBopomofo.tiff</string>
|
||||
<key>tsInputModePaletteIconFileKey</key>
|
||||
|
@ -72,15 +79,6 @@
|
|||
<true/>
|
||||
<key>tsInputModeScriptKey</key>
|
||||
<string>smTradChinese</string>
|
||||
<key>TISIntendedLanguage</key>
|
||||
<string>zh-Hant</string>
|
||||
<key>tsInputModeCharacterRepertoireKey</key>
|
||||
<array>
|
||||
<string>Hant</string>
|
||||
<string>Han</string>
|
||||
</array>
|
||||
<key>tsInputModeKeyEquivalentModifiersKey</key>
|
||||
<integer>4608</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>tsVisibleInputModeOrderedArrayKey</key>
|
||||
|
@ -106,7 +104,7 @@
|
|||
<key>LSUIElement</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2011-2018 Mengjuei Hsieh et al.</string>
|
||||
<string>Copyright © 2011-2020 Mengjuei Hsieh et al.</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
@ -129,6 +127,6 @@
|
|||
<string>Hans</string>
|
||||
</array>
|
||||
<key>tsInputMethodIconFileKey</key>
|
||||
<string>BopomofoTextMenu.tiff</string>
|
||||
<string>Bopomofo.tiff</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
//
|
||||
// OVNonModalAlertWindowController.h
|
||||
// OpenVanilla
|
||||
//
|
||||
// Created by Lukhnos Liu on 10/17/12.
|
||||
// Copyright (c) 2012 The OpenVanilla Project. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@class OVNonModalAlertWindowController;
|
||||
|
||||
@protocol OVNonModalAlertWindowControllerDelegate <NSObject>
|
||||
- (void)nonModalAlertWindowControllerDidConfirm:(OVNonModalAlertWindowController *)controller;
|
||||
|
||||
@optional
|
||||
- (void)nonModalAlertWindowControllerDidCancel:(OVNonModalAlertWindowController *)controller;
|
||||
@end
|
||||
|
||||
@interface OVNonModalAlertWindowController : NSWindowController
|
||||
{
|
||||
@private
|
||||
NSTextField *_titleTextField;
|
||||
NSTextField *_contentTextField;
|
||||
NSButton *_confirmButton;
|
||||
NSButton *_cancelButton;
|
||||
id<OVNonModalAlertWindowControllerDelegate> _delegate;
|
||||
}
|
||||
|
||||
+ (OVNonModalAlertWindowController *)sharedInstance;
|
||||
- (void)showWithTitle:(NSString *)title content:(NSString *)content confirmButtonTitle:(NSString *)confirmTitle cancelButtonTitle:(NSString *)cancelButtonTitle cancelAsDefault:(BOOL)cancelAsDefault delegate:(id<OVNonModalAlertWindowControllerDelegate>)delegate;
|
||||
- (IBAction)confirmButtonAction:(id)sender;
|
||||
- (IBAction)cancelButtonAction:(id)sender;
|
||||
@property (assign, nonatomic) IBOutlet NSTextField *titleTextField;
|
||||
@property (assign, nonatomic) IBOutlet NSTextField *contentTextField;
|
||||
@property (assign, nonatomic) IBOutlet NSButton *confirmButton;
|
||||
@property (assign, nonatomic) IBOutlet NSButton *cancelButton;
|
||||
@property (assign, nonatomic) id<OVNonModalAlertWindowControllerDelegate> delegate;
|
||||
@end
|
|
@ -0,0 +1,131 @@
|
|||
//
|
||||
// OVNonModalAlertWindowController.m
|
||||
// OpenVanilla
|
||||
//
|
||||
// Created by Lukhnos Liu on 10/17/12.
|
||||
// Copyright (c) 2012 The OpenVanilla Project. All rights reserved.
|
||||
//
|
||||
|
||||
#import "OVNonModalAlertWindowController.h"
|
||||
|
||||
@implementation OVNonModalAlertWindowController
|
||||
@synthesize titleTextField = _titleTextField;
|
||||
@synthesize contentTextField = _contentTextField;
|
||||
@synthesize confirmButton = _confirmButton;
|
||||
@synthesize cancelButton = _cancelButton;
|
||||
@synthesize delegate = _delegate;
|
||||
|
||||
+ (OVNonModalAlertWindowController *)sharedInstance
|
||||
{
|
||||
static OVNonModalAlertWindowController *instance;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
instance = [[OVNonModalAlertWindowController alloc] initWithWindowNibName:@"OVNonModalAlertWindowController"];
|
||||
[instance window];
|
||||
});
|
||||
return instance;
|
||||
}
|
||||
|
||||
// Suppress the use of the MIN/MAX macros
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wgnu-statement-expression"
|
||||
|
||||
- (void)showWithTitle:(NSString *)title content:(NSString *)content confirmButtonTitle:(NSString *)confirmTitle cancelButtonTitle:(NSString *)cancelButtonTitle cancelAsDefault:(BOOL)cancelAsDefault delegate:(id<OVNonModalAlertWindowControllerDelegate>)delegate;
|
||||
{
|
||||
// cancel previous alert
|
||||
if ([[self window] isVisible]) {
|
||||
if ([_delegate respondsToSelector:@selector(nonModalAlertWindowControllerDidCancel:)]) {
|
||||
[_delegate nonModalAlertWindowControllerDidCancel:self];
|
||||
}
|
||||
}
|
||||
|
||||
_delegate = delegate;
|
||||
|
||||
NSRect oldFrame = [self.confirmButton frame];
|
||||
[self.confirmButton setTitle:confirmTitle];
|
||||
[self.confirmButton sizeToFit];
|
||||
|
||||
NSRect newFrame = [self.confirmButton frame];
|
||||
|
||||
newFrame.size.width = MAX(90.0, (newFrame.size.width + 10.0));
|
||||
newFrame.origin.x += (oldFrame.size.width - newFrame.size.width);
|
||||
[self.confirmButton setFrame:newFrame];
|
||||
|
||||
if (cancelButtonTitle) {
|
||||
[self.cancelButton setTitle:cancelButtonTitle];
|
||||
[self.cancelButton sizeToFit];
|
||||
NSRect adjustedFrame = [self.cancelButton frame];
|
||||
adjustedFrame.size.width = MAX(90.0, (adjustedFrame.size.width + 10.0));
|
||||
adjustedFrame.origin.x = newFrame.origin.x - adjustedFrame.size.width;
|
||||
[self.cancelButton setFrame:adjustedFrame];
|
||||
[self.cancelButton setHidden:NO];
|
||||
}
|
||||
else {
|
||||
[self.cancelButton setHidden:YES];
|
||||
}
|
||||
|
||||
[self.cancelButton setNextKeyView:self.confirmButton];
|
||||
[self.confirmButton setNextKeyView:self.cancelButton];
|
||||
|
||||
if (cancelButtonTitle) {
|
||||
if (cancelAsDefault) {
|
||||
[[self window] setDefaultButtonCell:[self.cancelButton cell]];
|
||||
}
|
||||
else {
|
||||
[self.cancelButton setKeyEquivalent:@" "];
|
||||
[[self window] setDefaultButtonCell:[self.confirmButton cell]];
|
||||
}
|
||||
}
|
||||
else {
|
||||
[[self window] setDefaultButtonCell:[self.confirmButton cell]];
|
||||
}
|
||||
|
||||
[self.titleTextField setStringValue:title];
|
||||
|
||||
oldFrame = [self.contentTextField frame];
|
||||
[self.contentTextField setStringValue:content];
|
||||
|
||||
NSRect infiniteHeightFrame = oldFrame;
|
||||
infiniteHeightFrame.size.width -= 4.0;
|
||||
infiniteHeightFrame.size.height = 10240;
|
||||
newFrame = [content boundingRectWithSize:infiniteHeightFrame.size options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:[self.contentTextField font], NSFontAttributeName, nil]];
|
||||
newFrame.size.width = MAX(newFrame.size.width, oldFrame.size.width);
|
||||
newFrame.size.height += 4.0;
|
||||
newFrame.origin = oldFrame.origin;
|
||||
newFrame.origin.y -= (newFrame.size.height - oldFrame.size.height);
|
||||
[self.contentTextField setFrame:newFrame];
|
||||
|
||||
NSRect windowFrame = [[self window] frame];
|
||||
windowFrame.size.height += (newFrame.size.height - oldFrame.size.height);
|
||||
|
||||
[[self window] setLevel:CGShieldingWindowLevel() + 1];
|
||||
[[self window] setFrame:windowFrame display:YES];
|
||||
[[self window] center];
|
||||
[[self window] makeKeyAndOrderFront:self];
|
||||
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
- (IBAction)confirmButtonAction:(id)sender
|
||||
{
|
||||
[_delegate nonModalAlertWindowControllerDidConfirm:self];
|
||||
[[self window] orderOut:self];
|
||||
}
|
||||
|
||||
- (IBAction)cancelButtonAction:(id)sender
|
||||
{
|
||||
[self cancel:sender];
|
||||
}
|
||||
|
||||
- (void)cancel:(id)sender
|
||||
{
|
||||
if ([_delegate respondsToSelector:@selector(nonModalAlertWindowControllerDidCancel:)]) {
|
||||
[_delegate nonModalAlertWindowControllerDidCancel:self];
|
||||
}
|
||||
|
||||
_delegate = nil;
|
||||
|
||||
[[self window] orderOut:self];
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17156" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17156"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="OVNonModalAlertWindowController">
|
||||
<connections>
|
||||
<outlet property="cancelButton" destination="71" id="83"/>
|
||||
<outlet property="confirmButton" destination="5" id="82"/>
|
||||
<outlet property="contentTextField" destination="59" id="79"/>
|
||||
<outlet property="titleTextField" destination="39" id="78"/>
|
||||
<outlet property="window" destination="1" id="3"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" visibleAtLaunch="NO" animationBehavior="default" id="1">
|
||||
<windowStyleMask key="styleMask" titled="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="420" height="130"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
|
||||
<view key="contentView" id="2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="420" height="130"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5">
|
||||
<rect key="frame" x="314" y="13" width="92" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Button" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="confirmButtonAction:" target="-2" id="85"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="71">
|
||||
<rect key="frame" x="222" y="13" width="92" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Button" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="73">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="cancelButtonAction:" target="-2" id="86"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="12">
|
||||
<rect key="frame" x="24" y="50" width="64" height="64"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="AlertIcon" id="13"/>
|
||||
</imageView>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="39">
|
||||
<rect key="frame" x="103" y="97" width="300" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Lorem ipsum" id="40">
|
||||
<font key="font" metaFont="systemBold"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" preferredMaxLayoutWidth="296" translatesAutoresizingMaskIntoConstraints="NO" id="59">
|
||||
<rect key="frame" x="103" y="72" width="300" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Lorem ipsum" id="60">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="4"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="140" y="146"/>
|
||||
</window>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="AlertIcon" width="64" height="64"/>
|
||||
</resources>
|
||||
</document>
|
|
@ -1,6 +1,6 @@
|
|||
CFBundleName = "McBopomofo";
|
||||
CFBundleDisplayName = "McBopomofo";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2018 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2020 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
"org.openvanilla.inputmethod.McBopomofo.Bopomofo" = "Bopomofo";
|
||||
"org.openvanilla.inputmethod.McBopomofo.PlainBopomofo" = "Plain Bopomofo";
|
||||
|
||||
|
|
|
@ -16,14 +16,35 @@
|
|||
/* No comment provided by engineer. */
|
||||
"Check Later" = "Check Later";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Check for Updates…" = "Check for Updates…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Check for Update Completed" = "Check for Update Completed";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are already using the latest version of McBopomofo." = "You are already using the latest version of McBopomofo.";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Update Check Failed" = "Update Check Failed";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"There may be no internet connection or the server failed to respond.\n\nError message: %@" = "There may be no internet connection or the server failed to respond.\n\nError message: %@";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"OK" = "OK";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Dismiss" = "Dismiss";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"New Version Available" = "New Version Available";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Not Now" = "Not Now";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Visit Website" = "Visit Website";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are running version %@ (%@), and the new version %@ (%@) is now available.\n\nVisit the website to download it?" = "You are running version %1$@ (%2$@), and the new version %3$@ (%4$@) is now available.\n\nVisit the website to download it?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Check for Updates…" = "Check for Updates…";
|
||||
"You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@" = "You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CFBundleName = "小麥注音";
|
||||
CFBundleDisplayName = "小麥注音";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2018 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
NSHumanReadableCopyright = "Copyright © 2011-2020 Mengjuei Hsieh et al.\nAll Rights Reserved.";
|
||||
"org.openvanilla.inputmethod.McBopomofo.Bopomofo" = "小麥注音";
|
||||
"org.openvanilla.inputmethod.McBopomofo.PlainBopomofo" = "傳統注音";
|
||||
|
|
|
@ -16,14 +16,35 @@
|
|||
/* No comment provided by engineer. */
|
||||
"Check Later" = "晚點再通知我";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"New Version Available" = "New Version Available";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Visit Website" = "開啟網站";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are running version %@ (%@), and the new version %@ (%@) is now available.\n\nVisit the website to download it?" = "目前的輸入法版本是 %1$@ 版 (%2$@),目前最新版本已經到第 %3$@ 版 (%4$@)。\n\n是否要前往輸入法網站,下載最新版本?";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Check for Updates…" = "檢查是否有新版…";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Check for Update Completed" = "新版檢查完畢";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You are already using the latest version of McBopomofo." = "目前使用的已經是最新版本。";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Update Check Failed" = "無法檢查新版";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"There may be no internet connection or the server failed to respond.\n\nError message: %@" = "網路連線失敗,或是伺服器沒有回應。\n\n錯誤說明:%@";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"OK" = "好";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Dismiss" = "關閉本視窗";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"New Version Available" = "有新版可下載";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Not Now" = "以後再說";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"Visit Website" = "前往網站";
|
||||
|
||||
/* No comment provided by engineer. */
|
||||
"You're currently using McBopomofo %@ (%@), a new version %@ (%@) is now available. Do you want to visit McBopomofo's website to download the version?%@" = "目前使用的小麥注音版本是 %1$@ (%2$@),網路上有更新版本 %3$@ (%4$@) 可供下載。是否要前往小麥注音網站下載新版來安裝?%5$@";
|
||||
|
|
|
@ -1,452 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1070</int>
|
||||
<string key="IBDocument.SystemVersion">11A2063</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">1910</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.1</string>
|
||||
<string key="IBDocument.HIToolboxVersion">566.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">1910</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSTextField</string>
|
||||
<string>NSView</string>
|
||||
<string>NSWindowTemplate</string>
|
||||
<string>NSTextFieldCell</string>
|
||||
<string>NSButtonCell</string>
|
||||
<string>NSButton</string>
|
||||
<string>NSCustomObject</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSCustomObject" id="1001">
|
||||
<string key="NSClassName">UpdateNotificationController</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1003">
|
||||
<string key="NSClassName">FirstResponder</string>
|
||||
</object>
|
||||
<object class="NSCustomObject" id="1004">
|
||||
<string key="NSClassName">NSApplication</string>
|
||||
</object>
|
||||
<object class="NSWindowTemplate" id="1005">
|
||||
<int key="NSWindowStyleMask">3</int>
|
||||
<int key="NSWindowBacking">2</int>
|
||||
<string key="NSWindowRect">{{503, 500}, {433, 153}}</string>
|
||||
<int key="NSWTFlags">544735232</int>
|
||||
<string key="NSWindowTitle">New Version Available</string>
|
||||
<string key="NSWindowClass">NSWindow</string>
|
||||
<nil key="NSViewClass"/>
|
||||
<nil key="NSUserInterfaceItemIdentifier"/>
|
||||
<object class="NSView" key="NSWindowView" id="1006">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSButton" id="562191803">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">289</int>
|
||||
<string key="NSFrame">{{283, 12}, {136, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="1033553056">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Visit</string>
|
||||
<object class="NSFont" key="NSSupport" id="161901745">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">1044</int>
|
||||
</object>
|
||||
<reference key="NSControlView" ref="562191803"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSButton" id="1017432015">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">289</int>
|
||||
<string key="NSFrame">{{147, 12}, {136, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="562191803"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="619506567">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">134217728</int>
|
||||
<string key="NSContents">Later</string>
|
||||
<reference key="NSSupport" ref="161901745"/>
|
||||
<reference key="NSControlView" ref="1017432015"/>
|
||||
<int key="NSButtonFlags">-2038284033</int>
|
||||
<int key="NSButtonFlags2">129</int>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="373944060">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{17, 48}, {399, 85}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1017432015"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="171705107">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">272629760</int>
|
||||
<string key="NSContents">Version Info Text</string>
|
||||
<object class="NSFont" key="NSSupport">
|
||||
<string key="NSName">LucidaGrande</string>
|
||||
<double key="NSSize">13</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<reference key="NSControlView" ref="373944060"/>
|
||||
<object class="NSColor" key="NSBackgroundColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSColor" key="NSTextColor">
|
||||
<int key="NSColorSpace">6</int>
|
||||
<string key="NSCatalogName">System</string>
|
||||
<string key="NSColorName">controlTextColor</string>
|
||||
<object class="NSColor" key="NSColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{433, 153}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="373944060"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1366, 746}}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">laterAction:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1017432015"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">visitButton</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="562191803"/>
|
||||
</object>
|
||||
<int key="connectionID">9</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">window</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1005"/>
|
||||
</object>
|
||||
<int key="connectionID">10</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">visitAction:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="562191803"/>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">laterButton</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1017432015"/>
|
||||
</object>
|
||||
<int key="connectionID">17</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">infoTextField</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="373944060"/>
|
||||
</object>
|
||||
<int key="connectionID">18</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="1005"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
</object>
|
||||
<int key="connectionID">11</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<object class="NSArray" key="object" id="1002">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="1001"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="1003"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">First Responder</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-3</int>
|
||||
<reference key="object" ref="1004"/>
|
||||
<reference key="parent" ref="1002"/>
|
||||
<string key="objectName">Application</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="1005"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1006"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1002"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="1006"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="373944060"/>
|
||||
<reference ref="562191803"/>
|
||||
<reference ref="1017432015"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1005"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="562191803"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="1033553056"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="1033553056"/>
|
||||
<reference key="parent" ref="562191803"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">5</int>
|
||||
<reference key="object" ref="1017432015"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="619506567"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="619506567"/>
|
||||
<reference key="parent" ref="1017432015"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">15</int>
|
||||
<reference key="object" ref="373944060"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="171705107"/>
|
||||
</object>
|
||||
<reference key="parent" ref="1006"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">16</int>
|
||||
<reference key="object" ref="171705107"/>
|
||||
<reference key="parent" ref="373944060"/>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.IBPluginDependency</string>
|
||||
<string>-2.IBPluginDependency</string>
|
||||
<string>-3.IBPluginDependency</string>
|
||||
<string>1.IBNSWindowAutoPositionCentersHorizontal</string>
|
||||
<string>1.IBNSWindowAutoPositionCentersVertical</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>1.IBWindowTemplateEditedContentRect</string>
|
||||
<string>1.NSWindowTemplate.visibleAtLaunch</string>
|
||||
<string>15.IBPluginDependency</string>
|
||||
<string>16.IBPluginDependency</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>5.IBPluginDependency</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<boolean value="NO"/>
|
||||
<boolean value="NO"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>{{357, 418}, {480, 270}}</string>
|
||||
<boolean value="NO"/>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="1002"/>
|
||||
<reference key="dict.values" ref="1002"/>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference key="dict.sortedKeys" ref="1002"/>
|
||||
<reference key="dict.values" ref="1002"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">18</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UpdateNotificationController</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>laterAction:</string>
|
||||
<string>visitAction:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>laterAction:</string>
|
||||
<string>visitAction:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">laterAction:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">visitAction:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>infoTextField</string>
|
||||
<string>laterButton</string>
|
||||
<string>visitButton</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSTextField</string>
|
||||
<string>NSButton</string>
|
||||
<string>NSButton</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>infoTextField</string>
|
||||
<string>laterButton</string>
|
||||
<string>visitButton</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">infoTextField</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">laterButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">visitButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UpdateNotificationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3000" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
</data>
|
||||
</archive>
|