Skip to content
Browse files

Doubleclicking an .exportformat file installs it. Fixes and tweaks wh…

…en importing big files.
  • Loading branch information...
1 parent 1c09897 commit fbe75841469ff397f287428d93ca843ba7a44d6a svnuser committed Feb 26, 2010
View
1,725 CSVManipulator.xcodeproj/pp.pbxuser
1,627 additions, 98 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
55 CSVManipulator.xcodeproj/pp.perspectivev3
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>ActivePerspectiveName</key>
- <string>Debug</string>
+ <string>Project</string>
<key>AllowedModules</key>
<array>
<dict>
@@ -216,7 +216,6 @@
<string>action</string>
<string>NSToolbarFlexibleSpaceItem</string>
<string>debugger-enable-breakpoints</string>
- <string>go</string>
<string>build-and-go</string>
<string>com.apple.ide.PBXToolbarStopButton</string>
<string>get-info</string>
@@ -277,18 +276,18 @@
<string>EE137AB31090566500D31816</string>
<string>2A37F4B8FDCFA73011CA2CEA</string>
<string>2A37F4C3FDCFA73011CA2CEA</string>
+ <string>1C37FBAC04509CD000000102</string>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>24</integer>
- <integer>22</integer>
+ <integer>8</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 2}, {298, 867}}</string>
+ <string>{{0, 0}, {298, 867}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -306,6 +305,8 @@
<string>MainColumn</string>
<real>276</real>
</array>
+ <key>RubberWindowFrame</key>
+ <string>208 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -316,24 +317,26 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>EEF027910D6D8015000532A4</string>
<key>PBXProjectModuleLabel</key>
- <string>PPStringFormat.m</string>
+ <string>CSVWindowController.m</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>EEF027920D6D8015000532A4</string>
<key>PBXProjectModuleLabel</key>
- <string>PPStringFormat.m</string>
+ <string>CSVWindowController.m</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>EE7148481136DEF100418030</string>
+ <string>EE7149731137DCCC00418030</string>
<key>history</key>
<array>
<string>EECAA3C10D803E5200AE2D4A</string>
@@ -350,7 +353,6 @@
<string>EEF072F4108630B900C05DE9</string>
<string>EEF07453108781AD00C05DE9</string>
<string>EE13773B1088A0B700D31816</string>
- <string>EE13773C1088A0B700D31816</string>
<string>EE13778E1088A95400D31816</string>
<string>EE1379E7108F07B200D31816</string>
<string>EE137A9D10904B7A00D31816</string>
@@ -363,7 +365,6 @@
<string>EE118A4E109AFA990072804F</string>
<string>EE118A4F109AFA990072804F</string>
<string>EE118B09109B30470072804F</string>
- <string>EE118D6210A1C7C80072804F</string>
<string>EE118D8310A1D0310072804F</string>
<string>EE118DBE10A1D5320072804F</string>
<string>EE118EF210A1F78A0072804F</string>
@@ -382,9 +383,7 @@
<string>EE7146A911367CE300418030</string>
<string>EE7146AF11367D7D00418030</string>
<string>EE7146B111367D7D00418030</string>
- <string>EE7146EE1136972000418030</string>
<string>EE7146FC11369A2800418030</string>
- <string>EE7146FD11369A2800418030</string>
<string>EE7146FE11369A2800418030</string>
<string>EE7146FF11369A2800418030</string>
<string>EE7147231136A57900418030</string>
@@ -393,18 +392,22 @@
<string>EE7147311136B1DC00418030</string>
<string>EE7147321136B1DC00418030</string>
<string>EE7147331136B1DC00418030</string>
- <string>EE7147371136B4A300418030</string>
- <string>EE7147431136B73500418030</string>
<string>EE7147C61136C6C600418030</string>
<string>EE7147CF1136C70200418030</string>
<string>EE71481A1136DD7D00418030</string>
<string>EE71481B1136DD7D00418030</string>
<string>EE71481C1136DD7D00418030</string>
<string>EE71481D1136DD7D00418030</string>
<string>EE71481E1136DD7D00418030</string>
- <string>EE7148201136DD7D00418030</string>
- <string>EE7148431136DEED00418030</string>
- <string>EE7148441136DEED00418030</string>
+ <string>EE7148561137BE8600418030</string>
+ <string>EE7148C01137C6AA00418030</string>
+ <string>EE7149081137D5A700418030</string>
+ <string>EE7149171137D6F800418030</string>
+ <string>EE7149201137D7C900418030</string>
+ <string>EE71496F1137DCCC00418030</string>
+ <string>EE7149701137DCCC00418030</string>
+ <string>EE7149711137DCCC00418030</string>
+ <string>EE7149721137DCCC00418030</string>
</array>
</dict>
<key>SplitCount</key>
@@ -419,6 +422,8 @@
<dict>
<key>Frame</key>
<string>{{0, 0}, {1110, 880}}</string>
+ <key>RubberWindowFrame</key>
+ <string>208 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -441,7 +446,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {1143, -27}}</string>
+ <string>{{10, 27}, {1110, 309}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -457,7 +462,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {1143, -27}}</string>
+ <string>{{10, 27}, {1110, -27}}</string>
+ <key>RubberWindowFrame</key>
+ <string>208 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXProjectFindModule</string>
@@ -589,8 +596,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -602,8 +607,6 @@
<dict>
<key>Frame</key>
<string>{{0, 0}, {1430, 501}}</string>
- <key>RubberWindowFrame</key>
- <string>208 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
@@ -678,11 +681,7 @@
</array>
<key>Frame</key>
<string>{{0, 183}, {462, 196}}</string>
- <key>RubberWindowFrame</key>
- <string>208 102 1430 926 0 0 1680 1028 </string>
</dict>
- <key>RubberWindowFrame</key>
- <string>208 102 1430 926 0 0 1680 1028 </string>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
@@ -744,7 +743,7 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>EE7148491136DEF100418030</string>
+ <string>EE7149741137DCCC00418030</string>
<string>EEF071321086083800C05DE9</string>
<string>EE7144BB113535C600418030</string>
<string>EE7144BC113535C600418030</string>
View
1 CSVWindowController.h
@@ -78,6 +78,7 @@
// Progress Sheet Actions
- (void) showProgressSheet;
- (void) updateProgressSheetProgress:(CGFloat)percentage;
+- (void) setProgressSheetIndeterminate:(NSNumber *)flag;
- (void) hideProgressSheet;
- (IBAction) abortImport:(id)sender;
- (void) didAbortImport:(BOOL)flag;
View
10 CSVWindowController.m
@@ -348,15 +348,25 @@ - (void) showProgressSheet
- (void) updateProgressSheetProgress:(CGFloat)percentage
{
if ([progressSheet isVisible]) {
+ [progressIndicator setIndeterminate:NO];
[progressIndicator setDoubleValue:(double)percentage];
[progressPercentage setFloatValue:(100 * percentage)];
}
}
+- (void) setProgressSheetIndeterminate:(NSNumber *)flag
+{
+ if ([progressSheet isVisible]) {
+ [progressIndicator setIndeterminate:[flag boolValue]];
+ [progressIndicator startAnimation:nil];
+ }
+}
+
- (void) hideProgressSheet
{
if ([progressSheet isVisible]) {
[self updateProgressSheetProgress:1.0];
+ [progressIndicator stopAnimation:nil];
[progressSheet orderOut:nil];
[NSApp endSheet:progressSheet];
View
1 FileExport/PPStringFormatManager.h
@@ -57,6 +57,7 @@
- (IBAction) copySelectedFormat:(id)sender;
- (IBAction) loadFormatPlugins:(NSError **)outError;
+- (BOOL) installFormat:(NSURL *)path error:(NSError **)outError;
@end
View
84 FileExport/PPStringFormatManager.m
@@ -14,7 +14,7 @@
#import "MyDocument.h"
#import "CSVDocument.h"
-#define kPluginFormatFileExtension @"stringformat"
+#define kPluginFormatFileExtension @"exportformat"
@interface PPStringFormatManager ()
@@ -349,13 +349,79 @@ - (IBAction) loadFormatPlugins:(NSError **)outError
if ([[file pathExtension] isEqualToString:kPluginFormatFileExtension]) {
NSURL *fileURL = [NSURL fileURLWithPath:[pluginPath stringByAppendingPathComponent:file]];
- PPStringFormat *pluginFormat = [PPStringFormat formatFromFile:fileURL error:outError];
- if (nil != pluginFormat) {
- [formatController addObject:pluginFormat];
+ // only instantiate if it's not already open
+ BOOL alreadyOpen = NO;
+ for (PPStringFormat *openFormat in [formatController arrangedObjects]) {
+ if ([openFormat.fileURL isEqual:fileURL]) {
+ alreadyOpen = YES;
+ break;
+ }
}
+
+ // not opened yet - instantiate
+ if (!alreadyOpen) {
+ PPStringFormat *pluginFormat = [PPStringFormat formatFromFile:fileURL error:outError];
+ if (nil != pluginFormat) {
+ [formatController addObject:pluginFormat];
+ }
+ }
+ }
+ }
+ }
+}
+
+- (BOOL) installFormat:(NSURL *)source error:(NSError **)outError
+{
+ if (nil != source) {
+ if ([self formatPluginDirectoryExistsOrCreate:outError]) {
+ NSString *pluginPath = [self formatPluginPath];
+ NSString *fileNameExt = [[[source path] lastPathComponent] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+
+ // failed replacing percent escape signs
+ if (nil == fileNameExt) {
+ NSString *err = [NSString stringWithFormat:@"The source path %@ could not be converted to UTF-8", source];
+ if (outError) {
+ NSDictionary *errorDict = [NSDictionary dictionaryWithObject:err forKey:NSLocalizedDescriptionKey];
+ *outError = [NSError errorWithDomain:NSCocoaErrorDomain code:200 userInfo:errorDict];
+ }
+ else {
+ NSLog(@"%@", err);
+ }
+ return NO;
}
+ NSURL *destinationPath = [NSURL fileURLWithPath:[pluginPath stringByAppendingPathComponent:fileNameExt]];
+
+ // is it already at the right spot?
+ if ([destinationPath isEqual:source]) {
+ [self loadFormatPlugins:outError];
+ return YES;
+ }
+
+ // no; move there!
+ NSFileManager *fm = [[[NSFileManager alloc] init] autorelease];
+ NSString *fileName = [fileNameExt stringByDeletingPathExtension];
+ NSString *name = fileName;
+
+ // try whether this filename already exists
+ NSString *proposedPath = [[pluginPath stringByAppendingPathComponent:fileName] stringByAppendingPathExtension:kPluginFormatFileExtension];
+ NSUInteger i = 0;
+ while ([fm fileExistsAtPath:proposedPath]) {
+ fileName = [NSString stringWithFormat:@"%@-%i", name, ++i];
+ proposedPath = [[pluginPath stringByAppendingPathComponent:fileName] stringByAppendingPathExtension:kPluginFormatFileExtension];
+ }
+
+ // move there
+ if ([fm moveItemAtPath:[source path] toPath:proposedPath error:outError]) {
+ [self loadFormatPlugins:outError];
+ return YES;
+ }
+ return NO;
}
}
+ else if (NULL != outError) {
+
+ }
+ return NO;
}
#pragma mark -
@@ -389,17 +455,17 @@ - (NSString *) formatPluginPath
- (NSURL *) possiblePathForName:(NSString *)name
{
- NSString *appSupportPath = [self formatPluginPath];
+ NSString *pluginPath = [self formatPluginPath];
NSString *fileName = name;
- NSString *proposedPath = [[appSupportPath stringByAppendingPathComponent:fileName] stringByAppendingPathExtension:kPluginFormatFileExtension];
+ NSString *proposedPath = [[pluginPath stringByAppendingPathComponent:fileName] stringByAppendingPathExtension:kPluginFormatFileExtension];
// check if the file exists
NSFileManager *fm = [[[NSFileManager alloc] init] autorelease];
- NSUInteger i = 1;
+ NSUInteger i = 0;
while ([fm fileExistsAtPath:proposedPath]) {
- fileName = [NSString stringWithFormat:@"%@-%i", name, i];
- proposedPath = [[appSupportPath stringByAppendingPathComponent:fileName] stringByAppendingPathExtension:kPluginFormatFileExtension];
+ fileName = [NSString stringWithFormat:@"%@-%i", name, ++i];
+ proposedPath = [[pluginPath stringByAppendingPathComponent:fileName] stringByAppendingPathExtension:kPluginFormatFileExtension];
}
return [NSURL fileURLWithPath:proposedPath isDirectory:NO];
View
18 Info.plist
@@ -9,6 +9,22 @@
<dict>
<key>CFBundleTypeExtensions</key>
<array>
+ <string>exportformat</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>Export Format</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ <key>LSTypeIsPackage</key>
+ <false/>
+ <key>NSDocumentClass</key>
+ <string>MyDocument</string>
+ <key>NSPersistentStoreTypeKey</key>
+ <string>Binary</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
<string>txt</string>
</array>
<key>CFBundleTypeName</key>
@@ -64,6 +80,6 @@
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>SVNRevision</key>
- <string>1523</string>
+ <string>1524</string>
</dict>
</plist>
View
75 MyDocument.m
@@ -12,6 +12,7 @@
#import "CSVRow.h"
#import "CSVColumn.h"
#import "PPStringFormat.h"
+#import "PPStringFormatManager.h"
#import "DataTableView.h"
#import "DataTableColumn.h"
@@ -30,6 +31,7 @@
@interface MyDocument ()
@property (nonatomic, readwrite, retain) CSVWindowController *mainWindowController;
+
- (void) detachStringParsing:(NSString *)string;
@end
@@ -139,43 +141,55 @@ - (void) setExportFormat:(PPStringFormat *)newFormat
- (BOOL) readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError
{
- self.documentLoaded = NO;
- [self setFileURL:absoluteURL];
-
- // TODO: create an NSFileWrapper > fileWrapperOfType:error:
-
- // Load document data using NSStrings house methods
- // For huge files, maybe guess file encoding using `file --brief --mime` and use NSFileHandle? Not for now...
- NSStringEncoding stringEncoding;
- NSString *fileString = [NSString stringWithContentsOfURL:absoluteURL usedEncoding:&stringEncoding error:outError];
+ // an export format was loaded -> install
+ if ([typeName isEqualToString:@"Export Format"]) {
+ if ([[PPStringFormatManager sharedManager] installFormat:absoluteURL error:outError]) {
+ [PPStringFormatManager show:nil];
+ return YES;
+ }
+ }
- // We could not open the file, explicitly try utf-8
- if (nil == fileString) {
- stringEncoding = NSUTF8StringEncoding;
- fileString = [NSString stringWithContentsOfURL:absoluteURL encoding:stringEncoding error:outError];
+ // a csv/tsv document was opened -> parse
+ else {
+ self.documentLoaded = NO;
+ [self setFileURL:absoluteURL];
+
+ // TODO: create an NSFileWrapper > fileWrapperOfType:error:
+
+ // Load document data using NSStrings house methods
+ // For huge files, maybe guess file encoding using `file --brief --mime` and use NSFileHandle? Not for now...
+ NSStringEncoding stringEncoding;
+ NSString *fileString = [NSString stringWithContentsOfURL:absoluteURL usedEncoding:&stringEncoding error:outError];
- // We could still not open the file, probably unknown encoding; try ISO-8859-1
+ // We could not open the file, explicitly try utf-8
if (nil == fileString) {
- stringEncoding = NSISOLatin1StringEncoding;
+ stringEncoding = NSUTF8StringEncoding;
fileString = [NSString stringWithContentsOfURL:absoluteURL encoding:stringEncoding error:outError];
- // Still no success, give up
+ // We could still not open the file, probably unknown encoding; try ISO-8859-1
if (nil == fileString) {
- [self presentError:(outError ? *outError : NULL)];
+ stringEncoding = NSISOLatin1StringEncoding;
+ fileString = [NSString stringWithContentsOfURL:absoluteURL encoding:stringEncoding error:outError];
- return NO;
+ // Still no success, give up
+ if (nil == fileString) {
+ [self presentError:(outError ? *outError : NULL)];
+
+ return NO;
+ }
}
}
+
+ // parse the CSV on another thread
+ self.fileEncoding = stringEncoding;
+ numRowsToExpect = [csvDocument numRowsToExpect:fileString];
+
+ // detach to new thread
+ [NSThread detachNewThreadSelector:@selector(detachStringParsing:) toTarget:self withObject:fileString];
+
+ return YES;
}
-
- // parse the CSV on another thread
- self.fileEncoding = stringEncoding;
- numRowsToExpect = [csvDocument numRowsToExpect:fileString];
-
- // detach to new thread
- [NSThread detachNewThreadSelector:@selector(detachStringParsing:) toTarget:self withObject:fileString];
-
- return YES;
+ return NO;
}
- (void) detachStringParsing:(NSString *)string
@@ -197,6 +211,7 @@ - (void) detachStringParsing:(NSString *)string
#pragma mark CSVDocument Delegate
+// The parsing delegate methods will be called from and run on the separate thread created in "detachStringParsing:" !!
- (void) csvDocument:(CSVDocument *)document didParseNumRows:(NSUInteger)num_parsed
{
CGFloat expecting = (numRowsToExpect > 0) ? (CGFloat)numRowsToExpect : 1.0;
@@ -210,6 +225,9 @@ - (void) csvDocumentDidParseString:(CSVDocument *)document
{
self.documentLoaded = YES;
+ [mainWindowController performSelectorOnMainThread:@selector(setProgressSheetIndeterminate:)
+ withObject:[NSNumber numberWithBool:YES]
+ waitUntilDone:NO];
[mainWindowController redefineTable];
[mainWindowController hideProgressSheet];
@@ -331,6 +349,9 @@ - (void) abortImport
if (!documentLoaded) {
csvDocument.mustAbortImport = YES;
}
+ else {
+ [mainWindowController hideProgressSheet];
+ }
}
#pragma mark -
View
74 PPStringFormatManager.xib
@@ -41,12 +41,12 @@
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="494406532">
- <int key="NSWindowStyleMask">15</int>
+ <int key="NSWindowStyleMask">31</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{791, 599}, {583, 386}}</string>
<int key="NSWTFlags">-461896704</int>
<string key="NSWindowTitle">Formats</string>
- <string key="NSWindowClass">NSWindow</string>
+ <string key="NSWindowClass">NSPanel</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<string key="NSWindowContentMinSize">{583, 386}</string>
@@ -316,7 +316,7 @@
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
- <string key="NSMinSize">{583, 408}</string>
+ <string key="NSMinSize">{583, 402}</string>
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
<string key="NSFrameAutosaveName"/>
</object>
@@ -361,25 +361,25 @@
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextField" id="548717336">
+ <object class="NSTextField" id="709548366">
<reference key="NSNextResponder" ref="589581180"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{17, 20}, {385, 112}}</string>
<reference key="NSSuperview" ref="589581180"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="240034012">
+ <object class="NSTextFieldCell" key="NSCell" id="149403761">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">138412032</int>
<string type="base64-UTF8" key="NSContents">Q3VzdG9tIGZvcm1hdHMgYXJlIHN0b3JlZCBpbiB0aGUgZGlyZWN0b3J5Cgp+L0xpYnJhcnkvQXBwbGlj
YXRpb24gU3VwcG9ydC9DU1ZNYW5pcHVsYXRvci9Gb3JtYXRzCgpZb3UgY2FuIHNoYXJlIHRoZXNlIGZv
cm1hdHMgd2l0aCBvdGhlciB1c2VycyBieSBnaXZpbmcgdGhlbSB0aGUgYXBwcm9wcmlhdGUgZm9ybWF0
IGZpbGUuA</string>
- <object class="NSFont" key="NSSupport" id="395591902">
+ <object class="NSFont" key="NSSupport" id="965051543">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">16</int>
</object>
- <reference key="NSControlView" ref="548717336"/>
+ <reference key="NSControlView" ref="709548366"/>
<object class="NSColor" key="NSBackgroundColor" id="699481158">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
@@ -399,7 +399,7 @@ IGZpbGUuA</string>
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">138412032</int>
<string key="NSContents">Create a copy of this format in order to edit the properties</string>
- <reference key="NSSupport" ref="395591902"/>
+ <reference key="NSSupport" ref="965051543"/>
<reference key="NSControlView" ref="956176887"/>
<reference key="NSBackgroundColor" ref="699481158"/>
<reference key="NSTextColor" ref="438798139"/>
@@ -848,22 +848,22 @@ IGZpbGUuA</string>
<reference key="NSHScroller" ref="513692035"/>
<reference key="NSContentView" ref="883215519"/>
</object>
- <object class="NSButton" id="743326924">
+ <object class="NSButton" id="725161305">
<reference key="NSNextResponder" ref="503915447"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{15, 268}, {392, 18}}</string>
<reference key="NSSuperview" ref="503915447"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="5353783">
+ <object class="NSButtonCell" key="NSCell" id="797415562">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Export Headers</string>
<reference key="NSSupport" ref="487227377"/>
- <reference key="NSControlView" ref="743326924"/>
+ <reference key="NSControlView" ref="725161305"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
- <object class="NSCustomResource" key="NSNormalImage" id="438355507">
+ <object class="NSCustomResource" key="NSNormalImage" id="64641498">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSSwitch</string>
</object>
@@ -876,22 +876,22 @@ IGZpbGUuA</string>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
- <object class="NSButton" id="335950633">
+ <object class="NSButton" id="563736017">
<reference key="NSNextResponder" ref="503915447"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{15, 248}, {392, 18}}</string>
<reference key="NSSuperview" ref="503915447"/>
<reference key="NSWindow"/>
<bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="311735947">
+ <object class="NSButtonCell" key="NSCell" id="569692283">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Use Header Names as Keys</string>
<reference key="NSSupport" ref="487227377"/>
- <reference key="NSControlView" ref="335950633"/>
+ <reference key="NSControlView" ref="563736017"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
- <reference key="NSNormalImage" ref="438355507"/>
+ <reference key="NSNormalImage" ref="64641498"/>
<reference key="NSAlternateImage" ref="24352232"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -929,7 +929,7 @@ IGZpbGUuA</string>
<reference key="NSControlView" ref="623589137"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
- <reference key="NSNormalImage" ref="438355507"/>
+ <reference key="NSNormalImage" ref="64641498"/>
<reference key="NSAlternateImage" ref="24352232"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -1361,7 +1361,7 @@ IGZpbGUuA</string>
<reference key="NSControlView" ref="522829011"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
- <reference key="NSNormalImage" ref="438355507"/>
+ <reference key="NSNormalImage" ref="64641498"/>
<reference key="NSAlternateImage" ref="24352232"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -2548,10 +2548,10 @@ IGZpbGUuA</string>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: selection.useHeaderNamesAsKey</string>
- <reference key="source" ref="335950633"/>
+ <reference key="source" ref="563736017"/>
<reference key="destination" ref="617837885"/>
<object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="335950633"/>
+ <reference key="NSSource" ref="563736017"/>
<reference key="NSDestination" ref="617837885"/>
<string key="NSLabel">value: selection.useHeaderNamesAsKey</string>
<string key="NSBinding">value</string>
@@ -2564,10 +2564,10 @@ IGZpbGUuA</string>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: selection.exportHeaders</string>
- <reference key="source" ref="743326924"/>
+ <reference key="source" ref="725161305"/>
<reference key="destination" ref="617837885"/>
<object class="NSNibBindingConnector" key="connector">
- <reference key="NSSource" ref="743326924"/>
+ <reference key="NSSource" ref="725161305"/>
<reference key="NSDestination" ref="617837885"/>
<string key="NSLabel">value: selection.exportHeaders</string>
<string key="NSBinding">value</string>
@@ -2804,8 +2804,8 @@ IGZpbGUuA</string>
<reference ref="81545208"/>
<reference ref="155399785"/>
<reference ref="114944929"/>
- <reference ref="743326924"/>
- <reference ref="335950633"/>
+ <reference ref="725161305"/>
+ <reference ref="563736017"/>
</object>
<reference key="parent" ref="890921181"/>
</object>
@@ -2928,7 +2928,7 @@ IGZpbGUuA</string>
<reference ref="469149791"/>
<reference ref="18802098"/>
<reference ref="854616307"/>
- <reference ref="548717336"/>
+ <reference ref="709548366"/>
</object>
<reference key="parent" ref="0"/>
<string key="objectName">System Format</string>
@@ -3695,45 +3695,45 @@ IGZpbGUuA</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">498</int>
- <reference key="object" ref="743326924"/>
+ <reference key="object" ref="725161305"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="5353783"/>
+ <reference ref="797415562"/>
</object>
<reference key="parent" ref="503915447"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">499</int>
- <reference key="object" ref="5353783"/>
- <reference key="parent" ref="743326924"/>
+ <reference key="object" ref="797415562"/>
+ <reference key="parent" ref="725161305"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">500</int>
- <reference key="object" ref="335950633"/>
+ <reference key="object" ref="563736017"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="311735947"/>
+ <reference ref="569692283"/>
</object>
<reference key="parent" ref="503915447"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">501</int>
- <reference key="object" ref="311735947"/>
- <reference key="parent" ref="335950633"/>
+ <reference key="object" ref="569692283"/>
+ <reference key="parent" ref="563736017"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">510</int>
- <reference key="object" ref="548717336"/>
+ <reference key="object" ref="709548366"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="240034012"/>
+ <reference ref="149403761"/>
</object>
<reference key="parent" ref="589581180"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">511</int>
- <reference key="object" ref="240034012"/>
- <reference key="parent" ref="548717336"/>
+ <reference key="object" ref="149403761"/>
+ <reference key="parent" ref="709548366"/>
</object>
</object>
</object>

0 comments on commit fbe7584

Please sign in to comment.
Something went wrong with that request. Please try again.