Text export of tags / annotations

This commit is contained in:
Matthias Neeracher 2011-08-18 16:30:20 +02:00
parent 925b645993
commit 1ffab4eced
9 changed files with 339 additions and 31 deletions

View File

@ -21,6 +21,7 @@
@property (nonatomic, retain) NSManagedObject *media; @property (nonatomic, retain) NSManagedObject *media;
- (QTTime)qtLocation; - (QTTime)qtLocation;
- (NSString *)exportText;
/* /*
* Tags are never manipulated through the tag objects, but always through * Tags are never manipulated through the tag objects, but always through

View File

@ -58,4 +58,13 @@
return [NSSet setWithObject:@"tags"]; return [NSSet setWithObject:@"tags"];
} }
- (NSString *)exportText
{
NSMutableString * text = [NSMutableString stringWithFormat:@"%@\t%@", self.location, self.notes];
for (MATagDescription * tag in [self tagDescriptions])
[text appendFormat:@"\t%@", [tag name]];
return text;
}
@end @end

View File

@ -14,11 +14,16 @@
IBOutlet QTMovieView * movieView; IBOutlet QTMovieView * movieView;
IBOutlet NSTableView * mediaTable; IBOutlet NSTableView * mediaTable;
IBOutlet NSTableView * annotationTable; IBOutlet NSTableView * annotationTable;
IBOutlet NSView * textExportAccessoryView;
QTTime lastMovieTime; QTTime lastMovieTime;
} }
@property BOOL exportAnnotations;
@property BOOL exportTags;
- (IBAction)addMediaFiles:(id)sender; - (IBAction)addMediaFiles:(id)sender;
- (IBAction)exportMedia:(id)sender; - (IBAction)exportMedia:(id)sender;
- (IBAction)exportText:(id)sender;
- (void)addMedia:(NSArray *)urls; - (void)addMedia:(NSArray *)urls;
- (IBAction)addAnnotation:(id)sender; - (IBAction)addAnnotation:(id)sender;
- (IBAction)mediaSkipBackward:(id)sender; - (IBAction)mediaSkipBackward:(id)sender;

View File

@ -11,14 +11,21 @@
#import "MADocWindow.h" #import "MADocWindow.h"
#import "MAAddMediaSheet.h" #import "MAAddMediaSheet.h"
#import "MADocument.h" #import "MADocument.h"
#import "MAMedia.h"
#import "MAAnno.h" #import "MAAnno.h"
#import "MATag.h"
#import "MATagDescription.h"
@implementation MADocWindow @implementation MADocWindow
@synthesize exportAnnotations, exportTags;
- (id)initWithWindow:(NSWindow *)window - (id)initWithWindow:(NSWindow *)window
{ {
self = [super initWithWindow:window]; self = [super initWithWindow:window];
exportAnnotations = YES;
return self; return self;
} }
@ -171,17 +178,6 @@
}]; }];
} }
- (IBAction)addAnnotation:(id)sender
{
[movieView pause:sender];
QTTime location = [[self currentMovie] currentTime];
MAAnno * anno = [[self document] addAnnotationForMedia:[[mediaController selectedObjects] objectAtIndex:0] location:location];
[annotationController setSelectedObjects:[NSArray arrayWithObject:anno]];
[annotationTable editColumn:[annotationTable columnWithIdentifier:@"tags"]
row:[annotationController selectionIndex]
withEvent:nil select:YES];
}
- (void)delete:(id)sender - (void)delete:(id)sender
{ {
NSResponder * responder = [[self window] firstResponder]; NSResponder * responder = [[self window] firstResponder];
@ -207,6 +203,9 @@
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item - (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
{ {
if ([item action] == @selector(addMedia:))
return YES;
if ([item action] == @selector(toggleMediaPlay:)) { if ([item action] == @selector(toggleMediaPlay:)) {
NSMenuItem * menuItem = (NSMenuItem *)item; NSMenuItem * menuItem = (NSMenuItem *)item;
if ([[self currentMovie] rate] > 0.0f) if ([[self currentMovie] rate] > 0.0f)
@ -214,7 +213,7 @@
else else
[menuItem setTitle:NSLocalizedString(@"Play", @"Start playback")]; [menuItem setTitle:NSLocalizedString(@"Play", @"Start playback")];
} }
return YES; return [mediaController selectionIndex] != NSNotFound;
} }
#pragma mark Media navigation #pragma mark Media navigation
@ -292,7 +291,7 @@ static NSTimeInterval sLastSkip = 0.0;
return subview != [[splitView subviews] objectAtIndex:0]; return subview != [[splitView subviews] objectAtIndex:0];
} }
#pragma mark Annotation Table #pragma mark Annotations
- (void)tableViewSelectionDidChange:(NSNotification *)notification - (void)tableViewSelectionDidChange:(NSNotification *)notification
{ {
@ -302,6 +301,67 @@ static NSTimeInterval sLastSkip = 0.0;
[[self currentMovie] setCurrentTime:[firstSelectedAnno qtLocation]]; [[self currentMovie] setCurrentTime:[firstSelectedAnno qtLocation]];
} }
- (IBAction)addAnnotation:(id)sender
{
[movieView pause:sender];
QTTime location = [[self currentMovie] currentTime];
MAAnno * anno = [[self document] addAnnotationForMedia:[[mediaController selectedObjects] objectAtIndex:0] location:location];
[annotationController setSelectedObjects:[NSArray arrayWithObject:anno]];
[annotationTable editColumn:[annotationTable columnWithIdentifier:@"tags"]
row:[annotationController selectionIndex]
withEvent:nil select:YES];
}
- (void)exportTextToURL:(NSURL *)url
{
NSMutableString * text = [NSMutableString string];
if (exportTags) {
NSSet * tagSet;
if (!exportAnnotations) {
tagSet = [[self document] allTags];
} else {
NSMutableSet * tags = [NSMutableSet set];
NSArray * annos;
if ([[annotationController selectionIndexes] count] > 0)
annos = [annotationController selectedObjects];
else
annos = [annotationController arrangedObjects];
for (MAAnno * anno in annos)
for (MATag * tag in [anno tags])
[tags addObject:[tag tag]];
tagSet = tags;
}
NSArray * tagsToExport = [tagSet sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]]];
for (MATagDescription * tag in tagsToExport)
[text appendFormat:@"%@\n", [tag exportText]];
if (exportAnnotations)
[text appendString:@"\n"];
}
if (exportAnnotations) {
NSArray * annosToExport;
if ([[annotationController selectionIndexes] count] > 0)
annosToExport = [annotationController selectedObjects];
else
annosToExport = [annotationController arrangedObjects];
for (MAAnno * anno in annosToExport)
[text appendFormat:@"%@\n", [anno exportText]];
}
[text writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
}
- (IBAction)exportText:(id)sender
{
NSSavePanel * savePanel = [NSSavePanel savePanel];
[savePanel setAllowedFileTypes:[NSArray arrayWithObject:@"txt"]];
[savePanel setAccessoryView:textExportAccessoryView];
exportAnnotations = [mediaController selectionIndex] != NSNotFound && (exportAnnotations || !exportTags);
exportTags = exportTags || !exportAnnotations;
[savePanel beginSheetModalForWindow:[self window] completionHandler:^(NSInteger result) {
[savePanel orderOut:self];
if (result == NSFileHandlingPanelOKButton)
[self exportTextToURL:[savePanel URL]];
}];
}
@end @end
@implementation MADocumentWindow @implementation MADocumentWindow

View File

@ -21,5 +21,6 @@
- (MAAnno *)addAnnotationForMedia:(MAMedia *)media location:(QTTime)location; - (MAAnno *)addAnnotationForMedia:(MAMedia *)media location:(QTTime)location;
- (MATagDescription *)tagDescriptionForName:(NSString *)name; - (MATagDescription *)tagDescriptionForName:(NSString *)name;
- (NSArray *)tagNamesMatchingPrefix:(NSString *)prefix; - (NSArray *)tagNamesMatchingPrefix:(NSString *)prefix;
- (NSSet *)allTags;
@end @end

View File

@ -17,6 +17,9 @@
@property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * notes; @property (nonatomic, retain) NSString * notes;
@property (nonatomic, retain) NSSet *uses; @property (nonatomic, retain) NSSet *uses;
- (NSString *)exportText;
@end @end
@interface MATagDescription (CoreDataGeneratedAccessors) @interface MATagDescription (CoreDataGeneratedAccessors)

View File

@ -15,4 +15,9 @@
@dynamic notes; @dynamic notes;
@dynamic uses; @dynamic uses;
- (NSString *)exportText
{
return [NSString stringWithFormat:@"%@\t%@", self.name, self.notes];
}
@end @end

View File

@ -623,7 +623,7 @@
<int key="NSCellFlags2">0</int> <int key="NSCellFlags2">0</int>
<string key="NSContents">Box</string> <string key="NSContents">Box</string>
<reference key="NSSupport" ref="26"/> <reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor"> <object class="NSColor" key="NSBackgroundColor" id="710226200">
<int key="NSColorSpace">6</int> <int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string> <string key="NSCatalogName">System</string>
<string key="NSColorName">textBackgroundColor</string> <string key="NSColorName">textBackgroundColor</string>
@ -692,6 +692,104 @@
<bool key="NSClearsFilterPredicateOnInsertion">YES</bool> <bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
<bool key="NSAutomaticallyRearrangesObjects">YES</bool> <bool key="NSAutomaticallyRearrangesObjects">YES</bool>
</object> </object>
<object class="NSBox" id="572125044">
<reference key="NSNextResponder"/>
<int key="NSvFlags">34</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSView" id="910416729">
<reference key="NSNextResponder" ref="572125044"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSButton" id="323199538">
<reference key="NSNextResponder" ref="910416729"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{16, 39}, {144, 18}}</string>
<reference key="NSSuperview" ref="910416729"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1023793026"/>
<string key="NSReuseIdentifierKey">_NS:239</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="67521533">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Export Annotations</string>
<reference key="NSSupport" ref="23905036"/>
<string key="NSCellIdentifier">_NS:239</string>
<reference key="NSControlView" ref="323199538"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="120174209">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSSwitch</string>
</object>
<object class="NSButtonImageSource" key="NSAlternateImage" id="743178658">
<string key="NSImageName">NSSwitch</string>
</object>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="1023793026">
<reference key="NSNextResponder" ref="910416729"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{16, 20}, {98, 18}}</string>
<reference key="NSSuperview" ref="910416729"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:239</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="397127771">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Export Tags</string>
<reference key="NSSupport" ref="23905036"/>
<string key="NSCellIdentifier">_NS:239</string>
<reference key="NSControlView" ref="1023793026"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="120174209"/>
<reference key="NSAlternateImage" ref="743178658"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
</object>
<string key="NSFrameSize">{166, 65}</string>
<reference key="NSSuperview" ref="572125044"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="323199538"/>
<string key="NSReuseIdentifierKey">_NS:632</string>
</object>
</object>
<string key="NSFrameSize">{166, 65}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="910416729"/>
<string key="NSReuseIdentifierKey">_NS:630</string>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Export</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="710226200"/>
<object class="NSColor" key="NSTextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
</object>
</object>
<reference key="NSContentView" ref="910416729"/>
<int key="NSBorderType">0</int>
<int key="NSBoxType">0</int>
<int key="NSTitlePosition">0</int>
<bool key="NSTransparent">NO</bool>
</object>
</object> </object>
<object class="IBObjectContainer" key="IBDocument.Objects"> <object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords"> <object class="NSMutableArray" key="connectionRecords">
@ -1176,6 +1274,46 @@
</object> </object>
<int key="connectionID">100228</int> <int key="connectionID">100228</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">textExportAccessoryView</string>
<reference key="source" ref="512844837"/>
<reference key="destination" ref="572125044"/>
</object>
<int key="connectionID">100240</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: exportAnnotations</string>
<reference key="source" ref="323199538"/>
<reference key="destination" ref="512844837"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="323199538"/>
<reference key="NSDestination" ref="512844837"/>
<string key="NSLabel">value: exportAnnotations</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">exportAnnotations</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">100242</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: exportTags</string>
<reference key="source" ref="1023793026"/>
<reference key="destination" ref="512844837"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="1023793026"/>
<reference key="NSDestination" ref="512844837"/>
<string key="NSLabel">value: exportTags</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">exportTags</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">100243</int>
</object>
</object> </object>
<object class="IBMutableOrderedSet" key="objectRecords"> <object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects"> <object class="NSArray" key="orderedObjects">
@ -1525,6 +1663,45 @@
<reference key="object" ref="678542468"/> <reference key="object" ref="678542468"/>
<reference key="parent" ref="670804923"/> <reference key="parent" ref="670804923"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">100229</int>
<reference key="object" ref="572125044"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="323199538"/>
<reference ref="1023793026"/>
</object>
<reference key="parent" ref="0"/>
<string key="objectName">Text Export Options</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">100236</int>
<reference key="object" ref="323199538"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="67521533"/>
</object>
<reference key="parent" ref="572125044"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">100237</int>
<reference key="object" ref="67521533"/>
<reference key="parent" ref="323199538"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">100238</int>
<reference key="object" ref="1023793026"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="397127771"/>
</object>
<reference key="parent" ref="572125044"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">100239</int>
<reference key="object" ref="397127771"/>
<reference key="parent" ref="1023793026"/>
</object>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="flattenedProperties"> <object class="NSMutableDictionary" key="flattenedProperties">
@ -1584,6 +1761,11 @@
<string>100221.IBPluginDependency</string> <string>100221.IBPluginDependency</string>
<string>100222.CustomClassName</string> <string>100222.CustomClassName</string>
<string>100222.IBPluginDependency</string> <string>100222.IBPluginDependency</string>
<string>100229.IBPluginDependency</string>
<string>100236.IBPluginDependency</string>
<string>100237.IBPluginDependency</string>
<string>100238.IBPluginDependency</string>
<string>100239.IBPluginDependency</string>
<string>5.IBNSWindowAutoPositionCentersHorizontal</string> <string>5.IBNSWindowAutoPositionCentersHorizontal</string>
<string>5.IBNSWindowAutoPositionCentersVertical</string> <string>5.IBNSWindowAutoPositionCentersVertical</string>
<string>5.IBPluginDependency</string> <string>5.IBPluginDependency</string>
@ -1654,6 +1836,11 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>MATokenFieldCell</string> <string>MATokenFieldCell</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>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<boolean value="NO"/> <boolean value="NO"/>
<boolean value="NO"/> <boolean value="NO"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@ -1673,7 +1860,7 @@
<reference key="dict.values" ref="0"/> <reference key="dict.values" ref="0"/>
</object> </object>
<nil key="sourceID"/> <nil key="sourceID"/>
<int key="maxID">100228</int> <int key="maxID">100243</int>
</object> </object>
<object class="IBClassDescriber" key="IBDocument.Classes"> <object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1688,6 +1875,7 @@
<string>addAnnotation:</string> <string>addAnnotation:</string>
<string>addMediaFiles:</string> <string>addMediaFiles:</string>
<string>exportMedia:</string> <string>exportMedia:</string>
<string>exportText:</string>
<string>mediaSkipBackward:</string> <string>mediaSkipBackward:</string>
<string>mediaSkipForward:</string> <string>mediaSkipForward:</string>
<string>toggleMediaPlay:</string> <string>toggleMediaPlay:</string>
@ -1700,6 +1888,7 @@
<string>id</string> <string>id</string>
<string>id</string> <string>id</string>
<string>id</string> <string>id</string>
<string>id</string>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="actionInfosByName"> <object class="NSMutableDictionary" key="actionInfosByName">
@ -1709,6 +1898,7 @@
<string>addAnnotation:</string> <string>addAnnotation:</string>
<string>addMediaFiles:</string> <string>addMediaFiles:</string>
<string>exportMedia:</string> <string>exportMedia:</string>
<string>exportText:</string>
<string>mediaSkipBackward:</string> <string>mediaSkipBackward:</string>
<string>mediaSkipForward:</string> <string>mediaSkipForward:</string>
<string>toggleMediaPlay:</string> <string>toggleMediaPlay:</string>
@ -1727,6 +1917,10 @@
<string key="name">exportMedia:</string> <string key="name">exportMedia:</string>
<string key="candidateClassName">id</string> <string key="candidateClassName">id</string>
</object> </object>
<object class="IBActionInfo">
<string key="name">exportText:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo"> <object class="IBActionInfo">
<string key="name">mediaSkipBackward:</string> <string key="name">mediaSkipBackward:</string>
<string key="candidateClassName">id</string> <string key="candidateClassName">id</string>
@ -1750,6 +1944,7 @@
<string>mediaController</string> <string>mediaController</string>
<string>mediaTable</string> <string>mediaTable</string>
<string>movieView</string> <string>movieView</string>
<string>textExportAccessoryView</string>
</object> </object>
<object class="NSMutableArray" key="dict.values"> <object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -1758,6 +1953,7 @@
<string>NSArrayController</string> <string>NSArrayController</string>
<string>NSTableView</string> <string>NSTableView</string>
<string>QTMovieView</string> <string>QTMovieView</string>
<string>NSView</string>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName"> <object class="NSMutableDictionary" key="toOneOutletInfosByName">
@ -1769,6 +1965,7 @@
<string>mediaController</string> <string>mediaController</string>
<string>mediaTable</string> <string>mediaTable</string>
<string>movieView</string> <string>movieView</string>
<string>textExportAccessoryView</string>
</object> </object>
<object class="NSMutableArray" key="dict.values"> <object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -1792,6 +1989,10 @@
<string key="name">movieView</string> <string key="name">movieView</string>
<string key="candidateClassName">QTMovieView</string> <string key="candidateClassName">QTMovieView</string>
</object> </object>
<object class="IBToOneOutletInfo">
<string key="name">textExportAccessoryView</string>
<string key="candidateClassName">NSView</string>
</object>
</object> </object>
</object> </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier"> <object class="IBClassDescriptionSource" key="sourceIdentifier">
@ -1825,5 +2026,9 @@
</object> </object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int> <int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NS.key.0">NSSwitch</string>
<string key="NS.object.0">{15, 15}</string>
</object>
</data> </data>
</archive> </archive>

View File

@ -2,7 +2,7 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data> <data>
<int key="IBDocument.SystemTarget">1070</int> <int key="IBDocument.SystemTarget">1070</int>
<string key="IBDocument.SystemVersion">11A511</string> <string key="IBDocument.SystemVersion">11B26</string>
<string key="IBDocument.InterfaceBuilderVersion">1617</string> <string key="IBDocument.InterfaceBuilderVersion">1617</string>
<string key="IBDocument.AppKitVersion">1138</string> <string key="IBDocument.AppKitVersion">1138</string>
<string key="IBDocument.HIToolboxVersion">566.00</string> <string key="IBDocument.HIToolboxVersion">566.00</string>
@ -302,6 +302,16 @@
<reference key="NSOnImage" ref="1033313550"/> <reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/> <reference key="NSMixedImage" ref="310636482"/>
</object> </object>
<object class="NSMenuItem" id="995690267">
<reference key="NSMenu" ref="720053764"/>
<bool key="NSIsAlternate">YES</bool>
<string key="NSTitle">Export As Text…</string>
<string key="NSKeyEquiv">s</string>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="1033313550"/>
<reference key="NSMixedImage" ref="310636482"/>
</object>
<object class="NSMenuItem" id="1010469920"> <object class="NSMenuItem" id="1010469920">
<reference key="NSMenu" ref="720053764"/> <reference key="NSMenu" ref="720053764"/>
<bool key="NSIsDisabled">YES</bool> <bool key="NSIsDisabled">YES</bool>
@ -1361,6 +1371,14 @@
</object> </object>
<int key="connectionID">592</int> <int key="connectionID">592</int>
</object> </object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">exportText:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="995690267"/>
</object>
<int key="connectionID">595</int>
</object>
</object> </object>
<object class="IBMutableOrderedSet" key="objectRecords"> <object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects"> <object class="NSArray" key="orderedObjects">
@ -1458,6 +1476,7 @@
<reference ref="906148750"/> <reference ref="906148750"/>
<reference ref="7029338"/> <reference ref="7029338"/>
<reference ref="678484874"/> <reference ref="678484874"/>
<reference ref="995690267"/>
</object> </object>
<reference key="parent" ref="379814623"/> <reference key="parent" ref="379814623"/>
</object> </object>
@ -2065,6 +2084,11 @@
<reference key="object" ref="678484874"/> <reference key="object" ref="678484874"/>
<reference key="parent" ref="720053764"/> <reference key="parent" ref="720053764"/>
</object> </object>
<object class="IBObjectRecord">
<int key="objectID">593</int>
<reference key="object" ref="995690267"/>
<reference key="parent" ref="720053764"/>
</object>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="flattenedProperties"> <object class="NSMutableDictionary" key="flattenedProperties">
@ -2162,6 +2186,7 @@
<string>580.IBPluginDependency</string> <string>580.IBPluginDependency</string>
<string>583.IBPluginDependency</string> <string>583.IBPluginDependency</string>
<string>590.IBPluginDependency</string> <string>590.IBPluginDependency</string>
<string>593.IBPluginDependency</string>
<string>72.IBPluginDependency</string> <string>72.IBPluginDependency</string>
<string>73.IBPluginDependency</string> <string>73.IBPluginDependency</string>
<string>74.IBPluginDependency</string> <string>74.IBPluginDependency</string>
@ -2278,6 +2303,7 @@
<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> </object>
<object class="NSMutableDictionary" key="unlocalizedProperties"> <object class="NSMutableDictionary" key="unlocalizedProperties">
@ -2292,7 +2318,7 @@
<reference key="dict.values" ref="0"/> <reference key="dict.values" ref="0"/>
</object> </object>
<nil key="sourceID"/> <nil key="sourceID"/>
<int key="maxID">592</int> <int key="maxID">595</int>
</object> </object>
<object class="IBClassDescriber" key="IBDocument.Classes"> <object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -2333,6 +2359,7 @@
<string>addAnnotation:</string> <string>addAnnotation:</string>
<string>addMediaFiles:</string> <string>addMediaFiles:</string>
<string>exportMedia:</string> <string>exportMedia:</string>
<string>exportText:</string>
<string>mediaSkipBackward:</string> <string>mediaSkipBackward:</string>
<string>mediaSkipForward:</string> <string>mediaSkipForward:</string>
<string>toggleMediaPlay:</string> <string>toggleMediaPlay:</string>
@ -2345,6 +2372,7 @@
<string>id</string> <string>id</string>
<string>id</string> <string>id</string>
<string>id</string> <string>id</string>
<string>id</string>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="actionInfosByName"> <object class="NSMutableDictionary" key="actionInfosByName">
@ -2354,6 +2382,7 @@
<string>addAnnotation:</string> <string>addAnnotation:</string>
<string>addMediaFiles:</string> <string>addMediaFiles:</string>
<string>exportMedia:</string> <string>exportMedia:</string>
<string>exportText:</string>
<string>mediaSkipBackward:</string> <string>mediaSkipBackward:</string>
<string>mediaSkipForward:</string> <string>mediaSkipForward:</string>
<string>toggleMediaPlay:</string> <string>toggleMediaPlay:</string>
@ -2372,6 +2401,10 @@
<string key="name">exportMedia:</string> <string key="name">exportMedia:</string>
<string key="candidateClassName">id</string> <string key="candidateClassName">id</string>
</object> </object>
<object class="IBActionInfo">
<string key="name">exportText:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo"> <object class="IBActionInfo">
<string key="name">mediaSkipBackward:</string> <string key="name">mediaSkipBackward:</string>
<string key="candidateClassName">id</string> <string key="candidateClassName">id</string>
@ -2395,8 +2428,6 @@
<string>mediaController</string> <string>mediaController</string>
<string>mediaTable</string> <string>mediaTable</string>
<string>movieView</string> <string>movieView</string>
<string>tokenColumn</string>
<string>tokenFieldProto</string>
</object> </object>
<object class="NSMutableArray" key="dict.values"> <object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -2405,8 +2436,6 @@
<string>NSArrayController</string> <string>NSArrayController</string>
<string>NSTableView</string> <string>NSTableView</string>
<string>QTMovieView</string> <string>QTMovieView</string>
<string>NSTableColumn</string>
<string>NSTokenField</string>
</object> </object>
</object> </object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName"> <object class="NSMutableDictionary" key="toOneOutletInfosByName">
@ -2418,8 +2447,6 @@
<string>mediaController</string> <string>mediaController</string>
<string>mediaTable</string> <string>mediaTable</string>
<string>movieView</string> <string>movieView</string>
<string>tokenColumn</string>
<string>tokenFieldProto</string>
</object> </object>
<object class="NSMutableArray" key="dict.values"> <object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool> <bool key="EncodedWithXMLCoder">YES</bool>
@ -2443,14 +2470,6 @@
<string key="name">movieView</string> <string key="name">movieView</string>
<string key="candidateClassName">QTMovieView</string> <string key="candidateClassName">QTMovieView</string>
</object> </object>
<object class="IBToOneOutletInfo">
<string key="name">tokenColumn</string>
<string key="candidateClassName">NSTableColumn</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">tokenFieldProto</string>
<string key="candidateClassName">NSTokenField</string>
</object>
</object> </object>
</object> </object>
<object class="IBClassDescriptionSource" key="sourceIdentifier"> <object class="IBClassDescriptionSource" key="sourceIdentifier">