adium 4300:5119edb7b304: Start with implementing client-side cer...
commits at adium.im
commits at adium.im
Fri Nov 18 22:01:23 UTC 2011
details: http://hg.adium.im/adium/rev/5119edb7b304
revision: 4300:5119edb7b304
branch: XMPPClientCerts
author: Thijs Alkemade <thijsalkemade at gmail.com>
date: Fri Nov 18 22:59:31 2011 +0100
Start with implementing client-side certificates for XMPP. Still contains a number of TODO's, but signing in works, and some of the UI is there.
diffs (truncated from 2695 to 1000 lines):
diff -r de1960114cf5 -r 5119edb7b304 Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Mon Nov 14 16:24:44 2011 +0100
+++ b/Adium.xcodeproj/project.pbxproj Fri Nov 18 22:59:31 2011 +0100
@@ -1456,7 +1456,7 @@
7EC033B214590E0700CF24FB /* MessageWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7EC033B114590E0700CF24FB /* MessageWindow.xib */; };
7EDDBF141130D02400D31F1E /* libgsttag.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EDDBF131130D02400D31F1E /* libgsttag.framework */; };
7EDDBF1F1130D06700D31F1E /* libgsttag.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 7EDDBF131130D02400D31F1E /* libgsttag.framework */; };
- 811033510CDE170B00EC6038 /* ssl-cdsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 811033500CDE170B00EC6038 /* ssl-cdsa.c */; };
+ 811033510CDE170B00EC6038 /* ssl-cdsa.m in Sources */ = {isa = PBXBuildFile; fileRef = 811033500CDE170B00EC6038 /* ssl-cdsa.m */; };
811034050CDE216F00EC6038 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340C1ABE0BD58FAB00D09235 /* Security.framework */; };
811035180CDE783800EC6038 /* SecurityInterface.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 811035170CDE783800EC6038 /* SecurityInterface.framework */; };
811036180CDE8A2500EC6038 /* AIPurpleCertificateViewer.h in Headers */ = {isa = PBXBuildFile; fileRef = 811036160CDE8A2500EC6038 /* AIPurpleCertificateViewer.h */; };
@@ -4641,7 +4641,7 @@
7EA7F0461124AA8500E0C1F0 /* liboil.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = liboil.framework; path = Frameworks/liboil.framework; sourceTree = "<group>"; };
7EC033B114590E0700CF24FB /* MessageWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MessageWindow.xib; path = "Plugins/Dual Window Interface/MessageWindow.xib"; sourceTree = "<group>"; };
7EDDBF131130D02400D31F1E /* libgsttag.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libgsttag.framework; path = Frameworks/libgsttag.framework; sourceTree = "<group>"; };
- 811033500CDE170B00EC6038 /* ssl-cdsa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "ssl-cdsa.c"; sourceTree = "<group>"; };
+ 811033500CDE170B00EC6038 /* ssl-cdsa.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "ssl-cdsa.m"; sourceTree = "<group>"; };
811035170CDE783800EC6038 /* SecurityInterface.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityInterface.framework; path = /System/Library/Frameworks/SecurityInterface.framework; sourceTree = "<absolute>"; };
811036160CDE8A2500EC6038 /* AIPurpleCertificateViewer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIPurpleCertificateViewer.h; path = "Plugins/Purple Service/AIPurpleCertificateViewer.h"; sourceTree = "<group>"; };
811036170CDE8A2500EC6038 /* AIPurpleCertificateViewer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIPurpleCertificateViewer.m; path = "Plugins/Purple Service/AIPurpleCertificateViewer.m"; sourceTree = "<group>"; };
@@ -5092,7 +5092,7 @@
34D8154C13B663A80022C8C4 /* fbapi.h */,
11EE1B490CDCFAF40097F246 /* oscar-adium.c */,
11EE1B4A0CDCFAF40097F246 /* oscar-adium.h */,
- 811033500CDE170B00EC6038 /* ssl-cdsa.c */,
+ 811033500CDE170B00EC6038 /* ssl-cdsa.m */,
11EE1B4B0CDCFAF40097F246 /* ssl-openssl.c */,
11EE1B4C0CDCFAF40097F246 /* ssl.c */,
);
@@ -10132,7 +10132,7 @@
11EE1B4D0CDCFAF40097F246 /* oscar-adium.c in Sources */,
11EE1B4F0CDCFAF40097F246 /* ssl-openssl.c in Sources */,
11EE1B500CDCFAF40097F246 /* ssl.c in Sources */,
- 811033510CDE170B00EC6038 /* ssl-cdsa.c in Sources */,
+ 811033510CDE170B00EC6038 /* ssl-cdsa.m in Sources */,
811036190CDE8A2500EC6038 /* AIPurpleCertificateViewer.m in Sources */,
811036260CDE8C2100EC6038 /* adiumPurpleCertificateTrustWarning.m in Sources */,
8110362D0CDE8F5800EC6038 /* AIPurpleCertificateTrustWarningAlert.m in Sources */,
diff -r de1960114cf5 -r 5119edb7b304 Plugins/Purple Service/ESPurpleJabberAccount.h
--- a/Plugins/Purple Service/ESPurpleJabberAccount.h Mon Nov 14 16:24:44 2011 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.h Fri Nov 18 22:59:31 2011 +0100
@@ -29,6 +29,7 @@
#define KEY_JABBER_SUBSCRIPTION_GROUP @"Jabber:Default Subscription Group"
#define KEY_JABBER_VERIFY_CERTS @"Jabber:Verify Certificates"
#define KEY_JABBER_FT_PROXIES @"Jabber:File Transfer Proxies"
+#define KEY_JABBER_AUTHENTICATION_METHOD @"Jabber:Authentication Method"
@class AMXMLConsoleController, AMPurpleJabberServiceDiscoveryBrowsing, AMPurpleJabberAdHocServer;
diff -r de1960114cf5 -r 5119edb7b304 Plugins/Purple Service/ESPurpleJabberAccount.m
--- a/Plugins/Purple Service/ESPurpleJabberAccount.m Mon Nov 14 16:24:44 2011 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.m Fri Nov 18 22:59:31 2011 +0100
@@ -48,8 +48,44 @@
- (void)removeGateway:(NSMenuItem *)mitem;
@end
+// TODO: move to a seperate file in ./libpurple_extensions
+
+static JabberSaslState
+external_start(JabberStream *js, xmlnode *packet, xmlnode **response, char **error)
+{
+ xmlnode *auth = xmlnode_new("auth");
+ xmlnode_set_namespace(auth, "urn:ietf:params:xml:ns:xmpp-sasl");
+ xmlnode_set_attrib(auth, "mechanism", "EXTERNAL");
+
+ xmlnode_insert_data(auth, "=", -1);
+
+ *response = auth;
+
+ return JABBER_SASL_STATE_OK;
+}
+
+static JabberSaslMech external_mech = {
+ 127, /* priority; gint8 (-128 to 127). higher will be tried sooner if offerred by the server */
+ "EXTERNAL", /* name */
+ external_start,
+ NULL, /* handle_challenge */
+ NULL, /* handle_success */
+ NULL, /* handle_failure */
+ NULL /* dispose */
+};
+
+JabberSaslMech *jabber_auth_get_external_mech(void)
+{
+ return &external_mech;
+}
+
@implementation ESPurpleJabberAccount
++ (void)initialize
+{
+ jabber_auth_add_mech(jabber_auth_get_external_mech());
+}
+
- (void)initAccount
{
[super initAccount];
@@ -964,4 +1000,4 @@
return adhocServer;
}
- at end
+ at end
\ No newline at end of file
diff -r de1960114cf5 -r 5119edb7b304 Plugins/Purple Service/ESPurpleJabberAccountViewController.h
--- a/Plugins/Purple Service/ESPurpleJabberAccountViewController.h Mon Nov 14 16:24:44 2011 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccountViewController.h Fri Nov 18 22:59:31 2011 +0100
@@ -32,6 +32,8 @@
IBOutlet NSPopUpButton *popup_subscriptionBehavior;
IBOutlet NSTextField *textField_subscriptionModeLabel;
IBOutlet NSComboBox *comboBox_subscriptionGroup;
+ IBOutlet NSPopUpButton *popup_authenticationMethod;
+ IBOutlet NSPopUpButton *popup_clientSideCertificates;
IBOutlet NSButton *button_register;
@@ -53,4 +55,6 @@
- (IBAction)visitServerHomepage:(id)sender;
+- (IBAction)changeAuthenticationType:(id)sender;
+
@end
diff -r de1960114cf5 -r 5119edb7b304 Plugins/Purple Service/ESPurpleJabberAccountViewController.m
--- a/Plugins/Purple Service/ESPurpleJabberAccountViewController.m Mon Nov 14 16:24:44 2011 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccountViewController.m Fri Nov 18 22:59:31 2011 +0100
@@ -22,6 +22,11 @@
#import <SystemConfiguration/SystemConfiguration.h>
#include <tgmath.h>
+
+#import <Security/Security.h>
+#import <unistd.h>
+#include <sys/param.h>
+
#define SERVERFEEDRSSURL @"http://xmpp.org/services/services-full.xml"
@interface ESPurpleJabberAccountViewController ()
@@ -52,6 +57,10 @@
{
[super configureForAccount:inAccount];
+ [popup_authenticationMethod selectItemAtIndex:[[account preferenceForKey:KEY_JABBER_AUTHENTICATION_METHOD group:GROUP_ACCOUNT_STATUS] integerValue]];
+
+ [self changeAuthenticationType:popup_authenticationMethod];
+
//Connection security
[checkBox_forceOldSSL setState:[[account preferenceForKey:KEY_JABBER_FORCE_OLD_SSL group:GROUP_ACCOUNT_STATUS] boolValue]];
[checkBox_requireTLS setState:[[account preferenceForKey:KEY_JABBER_REQUIRE_TLS group:GROUP_ACCOUNT_STATUS] boolValue]];
@@ -102,6 +111,9 @@
{
[super saveConfiguration];
+ [account setPreference:[NSNumber numberWithInteger:[popup_authenticationMethod indexOfItem:[popup_authenticationMethod selectedItem]]]
+ forKey:KEY_JABBER_AUTHENTICATION_METHOD group:GROUP_ACCOUNT_STATUS];
+
//Connection security
[account setPreference:[NSNumber numberWithBool:[checkBox_forceOldSSL state]]
forKey:KEY_JABBER_FORCE_OLD_SSL group:GROUP_ACCOUNT_STATUS];
@@ -144,6 +156,74 @@
forKey:KEY_JABBER_SUBSCRIPTION_GROUP group:GROUP_ACCOUNT_STATUS];
}
+- (IBAction)changeAuthenticationType:(id)sender {
+ // if client-side is used, get all possible certificates, and hide the password field
+
+ if ([popup_authenticationMethod selectedTag] == 1) {
+ [[textField_password animator] setHidden:TRUE];
+ [[popup_clientSideCertificates animator] setHidden:FALSE];
+
+ [popup_clientSideCertificates removeAllItems];
+
+ char kcPath[MAXPATHLEN + 1];
+ UInt32 kcPathLen = MAXPATHLEN + 1;
+ SecKeychainRef kcRef = nil;
+ OSStatus err;
+
+ err = SecKeychainCopyDefault(&kcRef);
+ if(err) {
+ AILogWithSignature(@"SecKeychainCopyDefault returned %d; aborting.", (int)err);
+ return;
+ }
+ err = SecKeychainGetPath(kcRef, &kcPathLen, kcPath);
+ if(err) {
+ AILogWithSignature(@"SecKeychainGetPath returned %d; aborting.", (int)err);
+ return;
+ }
+
+ CFRelease(kcRef);
+
+ err = SecKeychainOpen(kcPath, &kcRef);
+ if(err) {
+ AILogWithSignature(@"SecKeychainOpen returned %d.", (int)err);
+ AILogWithSignature(@"Cannot open keychain at %s. Aborting.", kcPath);
+ return;
+ }
+
+ SecIdentitySearchRef srchRef = nil;
+ err = SecIdentitySearchCreate(kcRef, CSSM_KEYUSE_SIGN, &srchRef);
+ if(err) {
+ AILogWithSignature(@"SecIdentitySearchCreate returned %d.", (int)err);
+ AILogWithSignature(@"Cannot find signing key in keychain at %s. Aborting.", kcPath);
+ return;
+ }
+
+ SecIdentityRef identity = nil;
+
+ while(1) {
+ err = SecIdentitySearchCopyNext(srchRef, &identity);
+
+ if(err) {
+ break;
+ }
+
+ if(CFGetTypeID(identity) != SecIdentityGetTypeID()) {
+ AILogWithSignature(@"SecIdentitySearchCopyNext CFTypeID failure!");
+ continue;
+ }
+
+ SecCertificateRef client_cert = nil;
+ SecIdentityCopyCertificate(identity, &client_cert);
+
+ [popup_clientSideCertificates addItemWithTitle:[(NSString *)SecCertificateCopySubjectSummary(client_cert) autorelease]];
+ }
+
+ } else {
+ [[textField_password animator] setHidden:FALSE];
+ [[popup_clientSideCertificates animator] setHidden:TRUE];
+ }
+}
+
- (IBAction)subscriptionModeDidChange:(id)sender {
// only show these two when "accept and add to contact list" is selected
NSInteger tag = [[popup_subscriptionBehavior selectedItem] tag];
diff -r de1960114cf5 -r 5119edb7b304 Plugins/Purple Service/en.lproj/ESPurpleJabberAccountView.xib
--- a/Plugins/Purple Service/en.lproj/ESPurpleJabberAccountView.xib Mon Nov 14 16:24:44 2011 +0100
+++ b/Plugins/Purple Service/en.lproj/ESPurpleJabberAccountView.xib Fri Nov 18 22:59:31 2011 +0100
@@ -2,7 +2,7 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">11A511</string>
+ <string key="IBDocument.SystemVersion">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.00</string>
@@ -51,23 +51,126 @@
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
- <object class="NSTextField" id="779272059">
+ <object class="NSPopUpButton" id="917195583">
<reference key="NSNextResponder" ref="837853317"/>
- <int key="NSvFlags">264</int>
- <string key="NSFrame">{{53, 65}, {68, 17}}</string>
+ <int key="NSvFlags">-2147483380</int>
+ <string key="NSFrame">{{172, 58}, {197, 26}}</string>
<reference key="NSSuperview" ref="837853317"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="286029264"/>
+ <bool key="NSViewIsLayerTreeHost">YES</bool>
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
+ <string key="NSReuseIdentifierKey">_NS:179</string>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="763478478">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">71303168</int>
- <string key="NSContents">Password:</string>
+ <object class="NSPopUpButtonCell" key="NSCell" id="617114090">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">2048</int>
<object class="NSFont" key="NSSupport" id="745543233">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
- <reference key="NSControlView" ref="779272059"/>
+ <string key="NSCellIdentifier">_NS:179</string>
+ <reference key="NSControlView" ref="917195583"/>
+ <int key="NSButtonFlags">109199615</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <nil key="NSMenuItem"/>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="251923499">
+ <string key="NSTitle">OtherViews</string>
+ <array class="NSMutableArray" key="NSMenuItems"/>
+ <reference key="NSMenuFont" ref="745543233"/>
+ </object>
+ <int key="NSSelectedIndex">-1</int>
+ <int key="NSPreferredEdge">1</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">2</int>
+ </object>
+ </object>
+ <object class="NSPopUpButton" id="900883061">
+ <reference key="NSNextResponder" ref="837853317"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{172, 86}, {197, 26}}</string>
+ <reference key="NSSuperview" ref="837853317"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="125554776"/>
+ <string key="NSReuseIdentifierKey">_NS:179</string>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSPopUpButtonCell" key="NSCell" id="686617043">
+ <int key="NSCellFlags">-2076049856</int>
+ <int key="NSCellFlags2">2048</int>
+ <reference key="NSSupport" ref="745543233"/>
+ <string key="NSCellIdentifier">_NS:179</string>
+ <reference key="NSControlView" ref="900883061"/>
+ <int key="NSButtonFlags">109199615</int>
+ <int key="NSButtonFlags2">129</int>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">400</int>
+ <int key="NSPeriodicInterval">75</int>
+ <nil key="NSMenuItem"/>
+ <bool key="NSMenuItemRespectAlignment">YES</bool>
+ <object class="NSMenu" key="NSMenu" id="39853116">
+ <string key="NSTitle">OtherViews</string>
+ <array class="NSMutableArray" key="NSMenuItems">
+ <object class="NSMenuItem" id="823446143">
+ <reference key="NSMenu" ref="39853116"/>
+ <string key="NSTitle">Password</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <object class="NSCustomResource" key="NSOnImage" id="896922436">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuCheckmark</string>
+ </object>
+ <object class="NSCustomResource" key="NSMixedImage" id="540522738">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">NSMenuMixedState</string>
+ </object>
+ <string key="NSAction">_popUpItemAction:</string>
+ <reference key="NSTarget" ref="686617043"/>
+ </object>
+ <object class="NSMenuItem" id="277688469">
+ <reference key="NSMenu" ref="39853116"/>
+ <string key="NSTitle">Client-side Certificate</string>
+ <string key="NSKeyEquiv"/>
+ <int key="NSKeyEquivModMask">1048576</int>
+ <int key="NSMnemonicLoc">2147483647</int>
+ <reference key="NSOnImage" ref="896922436"/>
+ <reference key="NSMixedImage" ref="540522738"/>
+ <string key="NSAction">_popUpItemAction:</string>
+ <int key="NSTag">1</int>
+ <reference key="NSTarget" ref="686617043"/>
+ </object>
+ </array>
+ <reference key="NSMenuFont" ref="745543233"/>
+ </object>
+ <int key="NSSelectedIndex">-1</int>
+ <int key="NSPreferredEdge">1</int>
+ <bool key="NSUsesItemFromMenu">YES</bool>
+ <bool key="NSAltersState">YES</bool>
+ <int key="NSArrowPosition">2</int>
+ </object>
+ </object>
+ <object class="NSTextField" id="125554776">
+ <reference key="NSNextResponder" ref="837853317"/>
+ <int key="NSvFlags">264</int>
+ <string key="NSFrame">{{102, 64}, {68, 17}}</string>
+ <reference key="NSSuperview" ref="837853317"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="917195583"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="628957241">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">71303168</int>
+ <string key="NSContents">Password:</string>
+ <reference key="NSSupport" ref="745543233"/>
+ <reference key="NSControlView" ref="125554776"/>
<object class="NSColor" key="NSBackgroundColor" id="701108434">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
@@ -88,12 +191,31 @@
</object>
</object>
</object>
+ <object class="NSTextField" id="779272059">
+ <reference key="NSNextResponder" ref="837853317"/>
+ <int key="NSvFlags">264</int>
+ <string key="NSFrame">{{17, 90}, {153, 17}}</string>
+ <reference key="NSSuperview" ref="837853317"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="900883061"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="763478478">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">71303168</int>
+ <string key="NSContents">Authentication Method:</string>
+ <reference key="NSSupport" ref="745543233"/>
+ <reference key="NSControlView" ref="779272059"/>
+ <reference key="NSBackgroundColor" ref="701108434"/>
+ <reference key="NSTextColor" ref="564835922"/>
+ </object>
+ </object>
<object class="NSTextField" id="385654329">
<reference key="NSNextResponder" ref="837853317"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{44, 90}, {77, 17}}</string>
+ <string key="NSFrame">{{93, 118}, {77, 17}}</string>
<reference key="NSSuperview" ref="837853317"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="812273374"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1072137665">
<int key="NSCellFlags">67239424</int>
@@ -108,9 +230,10 @@
<object class="NSTextField" id="812273374">
<reference key="NSNextResponder" ref="837853317"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{126, 88}, {240, 22}}</string>
+ <string key="NSFrame">{{175, 116}, {191, 22}}</string>
<reference key="NSSuperview" ref="837853317"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="779272059"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="819061816">
<int key="NSCellFlags">-1804468671</int>
@@ -140,9 +263,12 @@
<object class="NSTextField" id="286029264">
<reference key="NSNextResponder" ref="837853317"/>
<int key="NSvFlags">264</int>
- <string key="NSFrame">{{126, 60}, {240, 22}}</string>
+ <string key="NSFrame">{{175, 61}, {191, 22}}</string>
<reference key="NSSuperview" ref="837853317"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="850011028"/>
+ <bool key="NSViewIsLayerTreeHost">YES</bool>
+ <int key="NSViewLayerContentsRedrawPolicy">2</int>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="619892709">
<int key="NSCellFlags">-1804468671</int>
@@ -161,6 +287,7 @@
<string key="NSFrame">{{150, 12}, {200, 32}}</string>
<reference key="NSSuperview" ref="837853317"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="712274320">
<int key="NSCellFlags">67239424</int>
@@ -183,9 +310,10 @@
<reference key="NSNextResponder" ref="837853317"/>
<int key="NSvFlags">-2147482368</int>
<object class="NSPSMatrix" key="NSDrawMatrix"/>
- <string key="NSFrame">{{20, 22}, {16, 16}}</string>
+ <string key="NSFrame">{{20, 21}, {16, 16}}</string>
<reference key="NSSuperview" ref="837853317"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="688169103"/>
<int key="NSpiFlags">28938</int>
<double key="NSMaxValue">100</double>
</object>
@@ -195,6 +323,7 @@
<string key="NSFrame">{{41, 23}, {76, 14}}</string>
<reference key="NSSuperview" ref="837853317"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="272517914"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="924854234">
<int key="NSCellFlags">67239424</int>
@@ -211,14 +340,15 @@
</object>
</object>
</array>
- <string key="NSFrameSize">{457, 127}</string>
+ <string key="NSFrameSize">{457, 155}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
+ <reference key="NSNextKeyView" ref="385654329"/>
<string key="NSClassName">NSView</string>
<string key="NSExtension">NSResponder</string>
</object>
<object class="NSCustomView" id="881248978">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="611926856">
@@ -226,6 +356,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{160, 113}, {212, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="1069823102"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="685121442">
<int key="NSCellFlags">67239424</int>
@@ -253,6 +384,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{160, 93}, {143, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="755212957"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="866512058">
<int key="NSCellFlags">67239424</int>
@@ -275,6 +407,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{160, 160}, {211, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="13153345"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="355466928">
<int key="NSCellFlags">67239424</int>
@@ -297,6 +430,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{162, 283}, {240, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="1071692987"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="557983517">
<int key="NSCellFlags">-1804468671</int>
@@ -314,6 +448,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{17, 285}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="23953802"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1046731873">
<int key="NSCellFlags">67239424</int>
@@ -330,6 +465,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{162, 311}, {240, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="795157005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="897297612">
<int key="NSCellFlags">-1804468671</int>
@@ -347,6 +483,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{17, 313}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="993950755"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="675922156">
<int key="NSCellFlags">67239424</int>
@@ -363,6 +500,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{162, 253}, {240, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="164156726"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="483716033">
<int key="NSCellFlags">-1804468671</int>
@@ -380,6 +518,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{17, 255}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="223022732"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="275398507">
<int key="NSCellFlags">67239424</int>
@@ -396,6 +535,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{329, 223}, {73, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="909698960"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="474262400">
<int key="NSCellFlags">-1804468671</int>
@@ -413,6 +553,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{286, 225}, {38, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="979941359"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="937801845">
<int key="NSCellFlags">67239424</int>
@@ -429,6 +570,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{162, 223}, {119, 22}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="198507305"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="27008867">
<int key="NSCellFlags">-1804468671</int>
@@ -446,6 +588,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{17, 225}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="56382938"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="820922822">
<int key="NSCellFlags">67239424</int>
@@ -462,6 +605,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{17, 161}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="767871570"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="260175574">
<int key="NSCellFlags">67239424</int>
@@ -478,6 +622,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{17, 114}, {140, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="611926856"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="230227050">
<int key="NSCellFlags">67239424</int>
@@ -494,6 +639,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{43, 192}, {114, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="348268130"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1007024952">
<int key="NSCellFlags">67239424</int>
@@ -510,6 +656,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{162, 189}, {61, 23}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="463018609"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1041524998">
<int key="NSCellFlags">-1804468671</int>
@@ -527,6 +674,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{233, 192}, {91, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="400793057"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="277652672">
<int key="NSCellFlags">67239424</int>
@@ -543,6 +691,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{329, 188}, {73, 24}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="1036357624"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="481365549">
<int key="NSCellFlags">-1804468671</int>
@@ -560,6 +709,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{159, 23}, {198, 26}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="520236742"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="686819324">
<int key="NSCellFlags">-2080244160</int>
@@ -582,14 +732,8 @@
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<int key="NSState">1</int>
- <object class="NSCustomResource" key="NSOnImage" id="687604397">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">NSMenuCheckmark</string>
- </object>
- <object class="NSCustomResource" key="NSMixedImage" id="959336238">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">NSMenuMixedState</string>
- </object>
+ <reference key="NSOnImage" ref="896922436"/>
+ <reference key="NSMixedImage" ref="540522738"/>
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="686819324"/>
</object>
@@ -606,8 +750,8 @@
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="687604397"/>
- <reference key="NSMixedImage" ref="959336238"/>
+ <reference key="NSOnImage" ref="896922436"/>
+ <reference key="NSMixedImage" ref="540522738"/>
<string key="NSAction">_popUpItemAction:</string>
<int key="NSTag">1</int>
<reference key="NSTarget" ref="686819324"/>
@@ -618,8 +762,8 @@
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="687604397"/>
- <reference key="NSMixedImage" ref="959336238"/>
+ <reference key="NSOnImage" ref="896922436"/>
+ <reference key="NSMixedImage" ref="540522738"/>
<string key="NSAction">_popUpItemAction:</string>
<int key="NSTag">2</int>
<reference key="NSTarget" ref="686819324"/>
@@ -630,8 +774,8 @@
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="687604397"/>
- <reference key="NSMixedImage" ref="959336238"/>
+ <reference key="NSOnImage" ref="896922436"/>
+ <reference key="NSMixedImage" ref="540522738"/>
<string key="NSAction">_popUpItemAction:</string>
<int key="NSTag">3</int>
<reference key="NSTarget" ref="686819324"/>
@@ -649,6 +793,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{1, 29}, {156, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="86797681"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="21353665">
<int key="NSCellFlags">67239424</int>
@@ -665,6 +810,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{68, 2}, {142, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="71054177"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="414517125">
<int key="NSCellFlags">67239424</int>
@@ -681,6 +827,7 @@
<int key="NSvFlags">266</int>
<string key="NSFrame">{{215, -3}, {190, 26}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSComboBoxCell" key="NSCell" id="863874436">
<int key="NSCellFlags">343014976</int>
@@ -777,6 +924,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{160, 73}, {143, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="1011876758"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="927025696">
<int key="NSCellFlags">67239424</int>
@@ -799,6 +947,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{160, 53}, {244, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="129057903"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="883625994">
<int key="NSCellFlags">67239424</int>
@@ -821,6 +970,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{83, 138}, {74, 17}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="753162121"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="499131302">
<int key="NSCellFlags">68288064</int>
@@ -837,6 +987,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{160, 137}, {188, 18}}</string>
<reference key="NSSuperview" ref="881248978"/>
+ <reference key="NSNextKeyView" ref="835653998"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="246744812">
<int key="NSCellFlags">67239424</int>
@@ -856,11 +1007,13 @@
</object>
</array>
<string key="NSFrameSize">{424, 333}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSNextKeyView" ref="416544706"/>
<string key="NSClassName">NSView</string>
<string key="NSExtension">NSResponder</string>
</object>
<object class="NSCustomView" id="809544060">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSButton" id="8487197">
@@ -868,6 +1021,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{90, 24}, {309, 18}}</string>
<reference key="NSSuperview" ref="809544060"/>
+ <reference key="NSNextKeyView" ref="609337263"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="767290510">
<int key="NSCellFlags">67239424</int>
@@ -890,6 +1044,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{35, 25}, {52, 17}}</string>
<reference key="NSSuperview" ref="809544060"/>
+ <reference key="NSNextKeyView" ref="8487197"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="492202865">
<int key="NSCellFlags">67239424</int>
@@ -906,6 +1061,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{12, 54}, {75, 17}}</string>
<reference key="NSSuperview" ref="809544060"/>
+ <reference key="NSNextKeyView" ref="918185157"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="632016050">
<int key="NSCellFlags">67239424</int>
@@ -922,6 +1078,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{89, 48}, {307, 26}}</string>
<reference key="NSSuperview" ref="809544060"/>
+ <reference key="NSNextKeyView" ref="174273451"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPopUpButtonCell" key="NSCell" id="1034471844">
<int key="NSCellFlags">-2080244160</int>
@@ -944,8 +1101,8 @@
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<int key="NSState">1</int>
- <reference key="NSOnImage" ref="687604397"/>
- <reference key="NSMixedImage" ref="959336238"/>
+ <reference key="NSOnImage" ref="896922436"/>
+ <reference key="NSMixedImage" ref="540522738"/>
<string key="NSAction">_popUpItemAction:</string>
<reference key="NSTarget" ref="1034471844"/>
</object>
@@ -969,6 +1126,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{42, 0}, {45, 17}}</string>
<reference key="NSSuperview" ref="809544060"/>
+ <reference key="NSNextKeyView" ref="462740945"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="457025165">
<int key="NSCellFlags">67239424</int>
@@ -985,6 +1143,7 @@
<int key="NSvFlags">264</int>
<string key="NSFrame">{{90, -1}, {312, 18}}</string>
<reference key="NSSuperview" ref="809544060"/>
+ <reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="490598706">
<int key="NSCellFlags">67239424</int>
@@ -1004,6 +1163,8 @@
</object>
</array>
<string key="NSFrameSize">{393, 75}</string>
+ <reference key="NSSuperview"/>
+ <reference key="NSNextKeyView" ref="571454235"/>
<object class="NSMutableString" key="NSClassName">
<characters key="NS.bytes">NSView</characters>
</object>
@@ -1022,7 +1183,7 @@
<nil key="NSUserInterfaceItemIdentifier"/>
<string key="NSWindowContentMinSize">{213, 107}</string>
<object class="NSView" key="NSWindowView" id="76601519">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSTextField" id="817647129">
@@ -1030,6 +1191,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 307}, {280, 17}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView" ref="596837261"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="377334044">
<int key="NSCellFlags">67239424</int>
@@ -1046,6 +1208,7 @@
<int key="NSvFlags">266</int>
<string key="NSFrame">{{101, 277}, {193, 22}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView" ref="723971470"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="3174051">
<int key="NSCellFlags">-1804468671</int>
@@ -1063,6 +1226,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 280}, {79, 17}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView" ref="179284965"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="129129203">
<int key="NSCellFlags">67239424</int>
@@ -1079,6 +1243,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{338, 278}, {60, 22}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView" ref="717094965"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="228444455">
<int key="NSCellFlags">-1804468671</int>
@@ -1091,9 +1256,9 @@
<string key="NSString">0</string>
<dictionary key="NSAttributes" id="248562360"/>
</object>
- <string key="decimalSeparator">.</string>
+ <string key="decimalSeparator">,</string>
<integer value="1000" key="formatterBehavior"/>
- <string key="groupingSeparator">,</string>
+ <string key="groupingSeparator">.</string>
<object class="NSDecimalNumberPlaceholder" key="maximum" id="955832763">
<int key="NS.exponent">0</int>
<int key="NS.length">1</int>
@@ -1129,8 +1294,8 @@
<reference key="NS.min" ref="655256037"/>
<reference key="NS.max" ref="955832763"/>
<nil key="NS.rounding"/>
- <string key="NS.decimal">.</string>
- <string key="NS.thousand">,</string>
+ <string key="NS.decimal">,</string>
+ <string key="NS.thousand">.</string>
<bool key="NS.hasthousands">NO</bool>
<bool key="NS.localized">YES</bool>
<bool key="NS.allowsfloats">YES</bool>
@@ -1147,6 +1312,7 @@
<int key="NSvFlags">265</int>
<string key="NSFrame">{{299, 280}, {34, 17}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView" ref="687226273"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="688292495">
<int key="NSCellFlags">67239424</int>
@@ -1163,6 +1329,7 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 252}, {242, 17}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView" ref="208815502"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="995640262">
<int key="NSCellFlags">67239424</int>
@@ -1187,6 +1354,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{243, 157}</string>
<reference key="NSSuperview" ref="514102083"/>
+ <reference key="NSNextKeyView" ref="77982398"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
@@ -1243,7 +1411,7 @@
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</array>
- <string key="NSFrame">{{1, 1}, {206, 157}}</string>
+ <string key="NSFrame">{{1, 1}, {217, 157}}</string>
<reference key="NSSuperview" ref="208815502"/>
<reference key="NSNextKeyView" ref="398564099"/>
<reference key="NSDocView" ref="398564099"/>
@@ -1255,6 +1423,7 @@
<int key="NSvFlags">256</int>
<string key="NSFrame">{{207, 1}, {11, 157}}</string>
<reference key="NSSuperview" ref="208815502"/>
+ <reference key="NSNextKeyView" ref="1073507928"/>
<int key="NSsFlags">256</int>
<reference key="NSTarget" ref="208815502"/>
<string key="NSAction">_doScroller:</string>
@@ -1265,6 +1434,7 @@
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {431, 15}}</string>
<reference key="NSSuperview" ref="208815502"/>
+ <reference key="NSNextKeyView" ref="514102083"/>
<bool key="NSEnabled">YES</bool>
<int key="NSsFlags">257</int>
<reference key="NSTarget" ref="208815502"/>
@@ -1274,7 +1444,7 @@
</array>
<string key="NSFrame">{{20, 85}, {219, 159}}</string>
<reference key="NSSuperview" ref="76601519"/>
- <reference key="NSNextKeyView" ref="514102083"/>
+ <reference key="NSNextKeyView" ref="1065021731"/>
<int key="NSsFlags">133266</int>
<reference key="NSVScroller" ref="77982398"/>
<reference key="NSHScroller" ref="1065021731"/>
@@ -1286,6 +1456,7 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{264, 12}, {177, 32}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="396158839">
<int key="NSCellFlags">67239424</int>
@@ -1307,6 +1478,7 @@
<int key="NSvFlags">292</int>
<string key="NSFrame">{{14, 12}, {91, 32}}</string>
<reference key="NSSuperview" ref="76601519"/>
+ <reference key="NSNextKeyView" ref="738913079"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="447968405">
<int key="NSCellFlags">67239424</int>
@@ -1334,28 +1506,9 @@
<object class="NSTextView" id="548084419">
<reference key="NSNextResponder" ref="913185530"/>
<int key="NSvFlags">2322</int>
- <set class="NSMutableSet" key="NSDragTypes">
- <string>Apple HTML pasteboard type</string>
- <string>Apple PDF pasteboard type</string>
- <string>Apple PICT pasteboard type</string>
- <string>Apple PNG pasteboard type</string>
- <string>Apple URL pasteboard type</string>
- <string>CorePasteboardFlavorType 0x6D6F6F76</string>
- <string>CorePasteboardFlavorType 0x75726C20</string>
- <string>NSColor pasteboard type</string>
- <string>NSFilenamesPboardType</string>
- <string>NSStringPboardType</string>
- <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
- <string>NeXT RTFD pasteboard type</string>
- <string>NeXT Rich Text Format v1.0 pasteboard type</string>
- <string>NeXT TIFF v4.0 pasteboard type</string>
- <string>NeXT font pasteboard type</string>
- <string>NeXT ruler pasteboard type</string>
- <string>WebURLsWithTitlesPboardType</string>
- <string>public.url</string>
- </set>
- <string key="NSFrameSize">{175, 240}</string>
+ <string key="NSFrameSize">{186, 228}</string>
More information about the commits
mailing list