Compare commits
No commits in common. "master" and "Feature-Toolbars" have entirely different histories.
master
...
Feature-To
BIN
Artwork/.DS_Store
vendored
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
@ -1,71 +0,0 @@
|
|||
%PDF-1.3
|
||||
%Äåòåë§ó ÐÄÆ
|
||||
4 0 obj
|
||||
<< /Length 5 0 R /Filter /FlateDecode >>
|
||||
stream
|
||||
x]ÍK
|
||||
€ Eṫ8+0_8o®Aˆˆû‡¨@²á÷p™†Ñ‘ƒeíBézA$ Îë$Ñs>ôÁQ±V´Ÿ˜©Æ¸²cÃTß|ç.Nõà·V¿ï<C2BF>|¯¡"é
|
||||
endstream
|
||||
endobj
|
||||
5 0 obj
|
||||
91
|
||||
endobj
|
||||
2 0 obj
|
||||
<< /Type /Page /Parent 3 0 R /Resources 6 0 R /Contents 4 0 R /MediaBox [115 134 362 453]
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<< /ProcSet [ /PDF ] /ColorSpace << /Cs1 7 0 R >> >>
|
||||
endobj
|
||||
8 0 obj
|
||||
<< /Length 9 0 R /N 1 /Alternate /DeviceGray /Filter /FlateDecode >>
|
||||
stream
|
||||
x…TMLA~-K½bâO2'%ÈBüMÔBK-<2D>ZÄ¢F³l§ta»]g· „½)ñàÝÄx6žñà<C3B1>Äh4!èÝăñ'&Î~o·¥ÔÄ0Ít¿™÷Í{ß{ó2Dk†ëÚQATv|•ÊÅgó³×Å¡¥vj#ÃôÜx6;ÉØ©8’¿Íc÷#Exg»<67>}5Û\µ¤g‚õ³RðÌ2QD'jùiºÊ'jØZö]Æy࣋ӹQ`ŽÓ^;HÇRÒ‘Ê2EJ+"«*EËÞ¯õ ;û8p”í*kåq³ÍõGrøö`þ)ª±™GºVKÓ×€#—Ë–ŸžîÎ;s™+À½À÷+|¶øEA&’Àç€ßxKSŒÁ<C592>j«¥Ñ0üDŒñ,ðqà×ϲŸ!à¼cgøn !º!½äp7ðfÑK#Vô³k÷wumWÕë<œ0T2ò[¤3S;Ûò¨`$&°
|
||||
œMÊ’$EE²È&A£ø:´Jp
|
||||
‡¾Âj‘I0þëÌyXêÖ;TWÐ|Àõ6:«Ý®ûøÁººm™ïþj:YÙãÍÃo¸â8¬"ŒÆ
×-Öø_È›ynCÇÖÚ«Ž@©‚â;ÚË›Ûm[kG66ôH*crN’¼=f؇æ"vêkÒ÷¿è¬Ä€Ï¦øEg£Óuo=ã,åýÌn†Ö{õçúwý©þIÿ¡ïèO€¾ýScVU¯×UP;5kÏVÎÕ²¨çÀ»õ
|
||||
/ÀÖ¨‚„ªæ[¬ÝCÀoŽ5dÖƒý•<C3BD>“B<E2809C>ü¹,šAD‹–¡M!çîp<C3AE>÷ñ¸c¼ [Бœ<>Ö¥
himH&¡ÅµÓÚ%m"À<17>.h XÎk“±d,‹“ˆõĆc±qÆè·Ú-ÆNÂ:Œÿdë½±<C2BD>Ótgr<1F>«Ö©Ñ1sÈ<73>ï<EFBFBD>;l ØÆ
|
||||
¯‡/ïâÝ!¸+Êš/ùbP×ÏŠ8ž9)ÒŽÙß+Û<16>ÉJzR-ÉB?ñÊçˆ~_
ÞÆÈñ·fU-…{‰¼#úy<>
|
||||
endstream
|
||||
endobj
|
||||
9 0 obj
|
||||
774
|
||||
endobj
|
||||
7 0 obj
|
||||
[ /ICCBased 8 0 R ]
|
||||
endobj
|
||||
3 0 obj
|
||||
<< /Type /Pages /MediaBox [115 134 362 453] /Count 1 /Kids [ 2 0 R ] >>
|
||||
endobj
|
||||
10 0 obj
|
||||
<< /Type /Catalog /Pages 3 0 R >>
|
||||
endobj
|
||||
11 0 obj
|
||||
(Mac OS X 10.7.1 Quartz PDFContext)
|
||||
endobj
|
||||
12 0 obj
|
||||
(D:20110823021422Z00'00')
|
||||
endobj
|
||||
1 0 obj
|
||||
<< /Producer 11 0 R /CreationDate 12 0 R /ModDate 12 0 R >>
|
||||
endobj
|
||||
xref
|
||||
0 13
|
||||
0000000000 65535 f
|
||||
0000001542 00000 n
|
||||
0000000205 00000 n
|
||||
0000001311 00000 n
|
||||
0000000022 00000 n
|
||||
0000000187 00000 n
|
||||
0000000313 00000 n
|
||||
0000001276 00000 n
|
||||
0000000381 00000 n
|
||||
0000001257 00000 n
|
||||
0000001398 00000 n
|
||||
0000001448 00000 n
|
||||
0000001500 00000 n
|
||||
trailer
|
||||
<< /Size 13 /Root 10 0 R /Info 1 0 R /ID [ <1d0e9c160b34370fcd9479d55fca29b1>
|
||||
<1d0e9c160b34370fcd9479d55fca29b1> ] >>
|
||||
startxref
|
||||
1617
|
||||
%%EOF
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 53 KiB |
|
@ -26,7 +26,6 @@
|
|||
950BB7AA13F46BAF00D8E669 /* MAAddMediaSheet.mm in Sources */ = {isa = PBXBuildFile; fileRef = 950BB7A913F46BAF00D8E669 /* MAAddMediaSheet.mm */; };
|
||||
950BB7AD13F46ECF00D8E669 /* MAAppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 950BB7AC13F46ECF00D8E669 /* MAAppController.mm */; };
|
||||
9556F185140426EB00B81D2E /* MAToolbarButton.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9556F184140426EB00B81D2E /* MAToolbarButton.mm */; };
|
||||
958AAE3414052FC600365087 /* DateHypotheses.plist in Resources */ = {isa = PBXBuildFile; fileRef = 958AAE3314052FC600365087 /* DateHypotheses.plist */; };
|
||||
95BCFA2113F76A04000F650F /* app.icns in Resources */ = {isa = PBXBuildFile; fileRef = 95BCFA1F13F76A04000F650F /* app.icns */; };
|
||||
95BCFA2213F76A04000F650F /* doc.icns in Resources */ = {isa = PBXBuildFile; fileRef = 95BCFA2013F76A04000F650F /* doc.icns */; };
|
||||
95BCFA2E13F8A3AD000F650F /* MAShortenQTTime.mm in Sources */ = {isa = PBXBuildFile; fileRef = 95BCFA2D13F8A3AD000F650F /* MAShortenQTTime.mm */; };
|
||||
|
@ -44,7 +43,7 @@
|
|||
95D803AD1403505F000C0779 /* del.icns in Resources */ = {isa = PBXBuildFile; fileRef = 95D803AC1403505F000C0779 /* del.icns */; };
|
||||
95D803B0140355E6000C0779 /* custom.icns in Resources */ = {isa = PBXBuildFile; fileRef = 95D803AE140355E6000C0779 /* custom.icns */; };
|
||||
95D803B1140355E6000C0779 /* print.icns in Resources */ = {isa = PBXBuildFile; fileRef = 95D803AF140355E6000C0779 /* print.icns */; };
|
||||
95E2027D13FE9BF500369B31 /* MAMovieWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = 95E2027C13FE9BF500369B31 /* MAMovieWindow.mm */; };
|
||||
95E2027D13FE9BF500369B31 /* MAMovieWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 95E2027C13FE9BF500369B31 /* MAMovieWindow.m */; };
|
||||
95E2028113FE9C6C00369B31 /* MAMovie.xib in Resources */ = {isa = PBXBuildFile; fileRef = 95E2027F13FE9C6C00369B31 /* MAMovie.xib */; };
|
||||
95E8C26713FD72D2004E9839 /* MAColorForURL.mm in Sources */ = {isa = PBXBuildFile; fileRef = 95E8C26613FD72D2004E9839 /* MAColorForURL.mm */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
@ -81,7 +80,6 @@
|
|||
950BB7AC13F46ECF00D8E669 /* MAAppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAAppController.mm; sourceTree = "<group>"; };
|
||||
9556F183140426EB00B81D2E /* MAToolbarButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAToolbarButton.h; sourceTree = "<group>"; };
|
||||
9556F184140426EB00B81D2E /* MAToolbarButton.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAToolbarButton.mm; sourceTree = "<group>"; };
|
||||
958AAE3314052FC600365087 /* DateHypotheses.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = DateHypotheses.plist; path = Medianno/Resources/DateHypotheses.plist; sourceTree = "<group>"; };
|
||||
95BCFA1F13F76A04000F650F /* app.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = app.icns; path = Resources/app.icns; sourceTree = "<group>"; };
|
||||
95BCFA2013F76A04000F650F /* doc.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = doc.icns; path = Resources/doc.icns; sourceTree = "<group>"; };
|
||||
95BCFA2C13F8A3AD000F650F /* MAShortenQTTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAShortenQTTime.h; sourceTree = "<group>"; };
|
||||
|
@ -105,7 +103,7 @@
|
|||
95D803AE140355E6000C0779 /* custom.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = custom.icns; path = Resources/custom.icns; sourceTree = "<group>"; };
|
||||
95D803AF140355E6000C0779 /* print.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = print.icns; path = Resources/print.icns; sourceTree = "<group>"; };
|
||||
95E2027B13FE9BF500369B31 /* MAMovieWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAMovieWindow.h; sourceTree = "<group>"; };
|
||||
95E2027C13FE9BF500369B31 /* MAMovieWindow.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAMovieWindow.mm; sourceTree = "<group>"; };
|
||||
95E2027C13FE9BF500369B31 /* MAMovieWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MAMovieWindow.m; sourceTree = "<group>"; };
|
||||
95E2028013FE9C6C00369B31 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = Medianno/en.lproj/MAMovie.xib; sourceTree = "<group>"; };
|
||||
95E8C26513FD72D2004E9839 /* MAColorForURL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MAColorForURL.h; sourceTree = "<group>"; };
|
||||
95E8C26613FD72D2004E9839 /* MAColorForURL.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MAColorForURL.mm; sourceTree = "<group>"; };
|
||||
|
@ -166,6 +164,16 @@
|
|||
950BB67113F1F26200D8E669 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
95D803AE140355E6000C0779 /* custom.icns */,
|
||||
95D803AF140355E6000C0779 /* print.icns */,
|
||||
95D803AC1403505F000C0779 /* del.icns */,
|
||||
95D803AA14034E5F000C0779 /* anno.icns */,
|
||||
95D803A1140344CF000C0779 /* fwd.icns */,
|
||||
95D803A2140344CF000C0779 /* pause.icns */,
|
||||
95D803A3140344CF000C0779 /* play.icns */,
|
||||
95D803A4140344CF000C0779 /* rev.icns */,
|
||||
95BCFA1F13F76A04000F650F /* app.icns */,
|
||||
95BCFA2013F76A04000F650F /* doc.icns */,
|
||||
950BB67213F1F26200D8E669 /* Medianno-Info.plist */,
|
||||
950BB67313F1F26200D8E669 /* InfoPlist.strings */,
|
||||
950BB67613F1F26200D8E669 /* main.m */,
|
||||
|
@ -179,13 +187,11 @@
|
|||
950BB7AE13F47FCA00D8E669 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
958AAE3214052F7400365087 /* Icons */,
|
||||
950BB67F13F1F26200D8E669 /* MADocument.xib */,
|
||||
950BB7A513F467A400D8E669 /* MAAddMedia.xib */,
|
||||
950BB68213F1F26200D8E669 /* MainMenu.xib */,
|
||||
95E2027F13FE9C6C00369B31 /* MAMovie.xib */,
|
||||
95CB6973140012FE005A0346 /* MATag.xib */,
|
||||
958AAE3314052FC600365087 /* DateHypotheses.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
path = ..;
|
||||
|
@ -229,7 +235,7 @@
|
|||
95CB697614001F26005A0346 /* MAColorForTag.h */,
|
||||
95CB697714001F26005A0346 /* MAColorForTag.mm */,
|
||||
95E2027B13FE9BF500369B31 /* MAMovieWindow.h */,
|
||||
95E2027C13FE9BF500369B31 /* MAMovieWindow.mm */,
|
||||
95E2027C13FE9BF500369B31 /* MAMovieWindow.m */,
|
||||
95D8038914012D7A000C0779 /* MADragging.h */,
|
||||
95D8038A14012D7A000C0779 /* MADragging.mm */,
|
||||
9556F183140426EB00B81D2E /* MAToolbarButton.h */,
|
||||
|
@ -238,24 +244,6 @@
|
|||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
958AAE3214052F7400365087 /* Icons */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
95D803AE140355E6000C0779 /* custom.icns */,
|
||||
95D803AF140355E6000C0779 /* print.icns */,
|
||||
95D803AC1403505F000C0779 /* del.icns */,
|
||||
95D803AA14034E5F000C0779 /* anno.icns */,
|
||||
95D803A1140344CF000C0779 /* fwd.icns */,
|
||||
95D803A2140344CF000C0779 /* pause.icns */,
|
||||
95D803A3140344CF000C0779 /* play.icns */,
|
||||
95D803A4140344CF000C0779 /* rev.icns */,
|
||||
95BCFA1F13F76A04000F650F /* app.icns */,
|
||||
95BCFA2013F76A04000F650F /* doc.icns */,
|
||||
);
|
||||
name = Icons;
|
||||
path = Medianno;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
|
@ -325,7 +313,6 @@
|
|||
95D803AD1403505F000C0779 /* del.icns in Resources */,
|
||||
95D803B0140355E6000C0779 /* custom.icns in Resources */,
|
||||
95D803B1140355E6000C0779 /* print.icns in Resources */,
|
||||
958AAE3414052FC600365087 /* DateHypotheses.plist in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -349,7 +336,7 @@
|
|||
95BCFA2E13F8A3AD000F650F /* MAShortenQTTime.mm in Sources */,
|
||||
95CA841113FC149B00AE5AC4 /* MATokenFieldCell.mm in Sources */,
|
||||
95E8C26713FD72D2004E9839 /* MAColorForURL.mm in Sources */,
|
||||
95E2027D13FE9BF500369B31 /* MAMovieWindow.mm in Sources */,
|
||||
95E2027D13FE9BF500369B31 /* MAMovieWindow.m in Sources */,
|
||||
95CB69711400112A005A0346 /* MATagWindow.mm in Sources */,
|
||||
95CB697814001F26005A0346 /* MAColorForTag.mm in Sources */,
|
||||
95D8038B14012D7A000C0779 /* MADragging.mm in Sources */,
|
||||
|
@ -478,7 +465,7 @@
|
|||
950BB68B13F1F26200D8E669 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_ENABLE_OBJC_GC = unsupported;
|
||||
GCC_ENABLE_OBJC_GC = required;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
|
||||
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
|
||||
|
@ -492,7 +479,7 @@
|
|||
950BB68C13F1F26200D8E669 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_ENABLE_OBJC_GC = unsupported;
|
||||
GCC_ENABLE_OBJC_GC = required;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "Medianno/Medianno-Prefix.pch";
|
||||
INFOPLIST_FILE = "Medianno/Medianno-Info.plist";
|
||||
|
|
|
@ -9,16 +9,12 @@
|
|||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface MAAddMediaSheet : NSWindowController {
|
||||
IBOutlet NSMenu * dateFormatMenu;
|
||||
}
|
||||
|
||||
@property (readonly) NSArray * media;
|
||||
@property (readonly) NSArray * dateFormats;
|
||||
@property (assign) NSDictionary * selectedDateFormat;
|
||||
@property (readonly) NSArray * media;
|
||||
|
||||
- (void)runWithParentWindow:(NSWindowController *)parent media:(NSArray *)urls;
|
||||
|
||||
- (IBAction)useModificationDates:(id)sender;
|
||||
- (IBAction)useFileNameDates:(id)sender;
|
||||
|
||||
@end
|
||||
|
|
|
@ -12,105 +12,17 @@
|
|||
|
||||
@implementation MAAddMediaSheet
|
||||
|
||||
static NSDictionary * sDateHypotheses;
|
||||
|
||||
@synthesize media, dateFormats, selectedDateFormat;
|
||||
@synthesize media;
|
||||
|
||||
- (id)init
|
||||
{
|
||||
self = [super initWithWindowNibName:@"MAAddMedia"];
|
||||
|
||||
if (!sDateHypotheses)
|
||||
sDateHypotheses = [[NSDictionary alloc] initWithContentsOfURL:
|
||||
[[NSBundle mainBundle] URLForResource:@"DateHypotheses" withExtension:@"plist"]];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (NSString *)normalizedFileName:(NSURL *)url
|
||||
{
|
||||
NSString * fileName = [[url lastPathComponent] stringByDeletingPathExtension];
|
||||
for (NSArray * norm in [sDateHypotheses objectForKey:@"normalize"]) {
|
||||
NSRegularExpression * regexp = [NSRegularExpression regularExpressionWithPattern:[norm objectAtIndex:0] options:0 error:nil];
|
||||
NSString * templ = [norm objectAtIndex:1];
|
||||
fileName = [regexp stringByReplacingMatchesInString:fileName options:0
|
||||
range:NSMakeRange(0, [fileName length]) withTemplate:templ];
|
||||
}
|
||||
return fileName;
|
||||
}
|
||||
|
||||
#define LOG_DATEGUESS 0
|
||||
#if LOG_DATEGUESS
|
||||
#define LOG_DG NSLog
|
||||
#else
|
||||
#define LOG_DG(...) do {} while(0)
|
||||
#endif
|
||||
|
||||
- (void)guessDateFormats:(NSArray *)urls
|
||||
{
|
||||
[self window];
|
||||
[self willChangeValueForKey:@"dateFormats"];
|
||||
[dateFormats release];
|
||||
dateFormats = nil;
|
||||
while ([dateFormatMenu numberOfItems] > 2)
|
||||
[dateFormatMenu removeItemAtIndex:2];
|
||||
|
||||
if (![urls count])
|
||||
return;
|
||||
|
||||
NSMutableArray * formats = [NSMutableArray array];
|
||||
|
||||
NSString * fileName = [self normalizedFileName:[urls objectAtIndex:0]];
|
||||
LOG_DG(@"Representative File: %@\n", fileName);
|
||||
NSRange nameRange= NSMakeRange(0, [fileName length]);
|
||||
//
|
||||
// Since date and time formats are largely orthogonal, and since for each regular expression,
|
||||
// there are a number of possible date format hypotheses, we end up with 4 nested loops:
|
||||
// - Regular expressions matching date portion
|
||||
// - Regular expressions matching time portion
|
||||
// - Date format matching date portion
|
||||
// - Date format matching time portion
|
||||
//
|
||||
for (NSDictionary * dateHypo in [sDateHypotheses objectForKey:@"date"]) {
|
||||
NSString * filterString = [dateHypo objectForKey:@"regexp"];
|
||||
NSRegularExpression * filter =
|
||||
[NSRegularExpression regularExpressionWithPattern:filterString options:0 error:nil];
|
||||
LOG_DG(@" Filtering %@\n", filterString);
|
||||
if (![filter numberOfMatchesInString:fileName options:0 range:nameRange])
|
||||
continue; // Not going to match this one, regardless of time format
|
||||
for (NSDictionary * timeHypo in [sDateHypotheses objectForKey:@"time"]) {
|
||||
NSString * regexpString =
|
||||
[[dateHypo objectForKey:@"regexp"] stringByAppendingString:[timeHypo objectForKey:@"regexp"]];
|
||||
LOG_DG(@" Trying %@\n", regexpString);
|
||||
NSRegularExpression * regexp =
|
||||
[NSRegularExpression regularExpressionWithPattern:regexpString options:0 error:nil];
|
||||
NSTextCheckingResult* match = [regexp firstMatchInString:fileName options:0 range:nameRange];
|
||||
if (match && [match range].location != NSNotFound) {
|
||||
for (NSString * dateFmt in [dateHypo objectForKey:@"formats"]) {
|
||||
for (NSString * timeFmt in [timeHypo objectForKey:@"formats"]) {
|
||||
NSString * format = [dateFmt stringByAppendingString:timeFmt];
|
||||
LOG_DG(@" Format %@\n", format);
|
||||
NSString * dateFormat = [regexp replacementStringForResult:match inString:fileName offset:0 template:format];
|
||||
NSString * dateTitle = [NSString stringWithFormat:NSLocalizedString(@"File Name Date", @"File Name yyyy-mm-dd"), dateFormat];
|
||||
NSMenuItem * item = [dateFormatMenu addItemWithTitle:dateTitle action:@selector(useFileNameDates:) keyEquivalent:@""];
|
||||
[item setTag:[formats count]];
|
||||
[formats addObject:[NSDictionary dictionaryWithObjectsAndKeys:
|
||||
dateFormat, @"format",
|
||||
regexp, @"regexp",
|
||||
nil]];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ([formats count] > 0)
|
||||
dateFormats = [formats retain];
|
||||
[self didChangeValueForKey:@"dateFormats"];
|
||||
}
|
||||
|
||||
- (void)runWithParentWindow:(NSWindowController *)parent media:(NSArray *)mediaUrls
|
||||
{
|
||||
[self guessDateFormats:mediaUrls];
|
||||
NSMutableArray * m = [[NSMutableArray alloc] initWithCapacity:[mediaUrls count]];
|
||||
for (NSURL * url in mediaUrls)
|
||||
[m addObject:[NSMutableDictionary dictionaryWithObject:url forKey:@"url"]];
|
||||
|
@ -128,55 +40,16 @@ static NSDictionary * sDateHypotheses;
|
|||
}
|
||||
[[self window] orderOut:self];
|
||||
[self autorelease];
|
||||
[media release];
|
||||
media = nil;
|
||||
}];
|
||||
}
|
||||
|
||||
- (IBAction)useModificationDates:(id)sender
|
||||
{
|
||||
[self setSelectedDateFormat:nil];
|
||||
[self willChangeValueForKey:@"media"];
|
||||
for (NSMutableDictionary * m in media) {
|
||||
NSDate * modificationDate;
|
||||
if (![[m objectForKey:@"url"] getResourceValue:&modificationDate forKey:NSURLContentModificationDateKey error:nil])
|
||||
modificationDate = nil;
|
||||
[[m objectForKey:@"url"] getResourceValue:&modificationDate forKey:NSURLContentModificationDateKey error:nil];
|
||||
[m setObject:(modificationDate ? modificationDate : [NSDate date]) forKey:@"date"];
|
||||
}
|
||||
[self didChangeValueForKey:@"media"];
|
||||
}
|
||||
|
||||
- (IBAction)useFileNameDates:(id)sender
|
||||
{
|
||||
[self setSelectedDateFormat:[dateFormats objectAtIndex:[sender tag]]];
|
||||
NSRegularExpression * regexp = [selectedDateFormat objectForKey:@"regexp"];
|
||||
NSString * format = [selectedDateFormat objectForKey:@"format"];
|
||||
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
|
||||
[formatter setDateFormat:format];
|
||||
|
||||
[self willChangeValueForKey:@"media"];
|
||||
for (NSMutableDictionary * m in media) {
|
||||
NSString * name = [self normalizedFileName:[m objectForKey:@"url"]];
|
||||
LOG_DG(@"File %@\n", name);
|
||||
NSTextCheckingResult * match= [regexp firstMatchInString:name options:0 range:NSMakeRange(0, [name length])];
|
||||
NSDate * modificationDate = nil;
|
||||
if (match && [match range].location != NSNotFound) {
|
||||
//
|
||||
// First and last capture is for leading and trailing context
|
||||
//
|
||||
NSRange dateRange = [match rangeAtIndex:1];
|
||||
dateRange.location += dateRange.length;
|
||||
dateRange.length = [match rangeAtIndex:[match numberOfRanges]-1].location - dateRange.location;
|
||||
NSString * dateString = [name substringWithRange:dateRange];
|
||||
modificationDate = [formatter dateFromString:dateString];
|
||||
LOG_DG(@" Date %@ %@\n", format, (modificationDate ? @"succeeded" : @"failed"));
|
||||
}
|
||||
if (!modificationDate)
|
||||
if (![[m objectForKey:@"url"] getResourceValue:&modificationDate forKey:NSURLContentModificationDateKey error:nil])
|
||||
modificationDate = nil;
|
||||
[m setObject:(modificationDate ? modificationDate : [NSDate date]) forKey:@"date"];
|
||||
}
|
||||
[self didChangeValueForKey:@"media"];
|
||||
}
|
||||
|
||||
- (IBAction)endSheet:(id)sender
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
- (void)dealloc
|
||||
{
|
||||
[contents release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
+ (id)arrayWithArray:(NSArray *)array
|
||||
|
|
|
@ -26,9 +26,8 @@
|
|||
QTTime lastMovieTime;
|
||||
}
|
||||
|
||||
@property BOOL exportAnnotations;
|
||||
@property BOOL exportTags;
|
||||
@property (nonatomic,retain)NSString * searchString;
|
||||
@property BOOL exportAnnotations;
|
||||
@property BOOL exportTags;
|
||||
|
||||
- (IBAction)addMediaFiles:(id)sender;
|
||||
- (IBAction)importText:(id)sender;
|
||||
|
|
|
@ -24,7 +24,7 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
|||
|
||||
@implementation MADocWindow
|
||||
|
||||
@synthesize exportAnnotations, exportTags, searchString;
|
||||
@synthesize exportAnnotations, exportTags;
|
||||
|
||||
- (id)initWithWindow:(NSWindow *)window
|
||||
{
|
||||
|
@ -36,13 +36,6 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
|||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[currentMovie release];
|
||||
[searchString release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)windowDidLoad
|
||||
{
|
||||
[super windowDidLoad];
|
||||
|
@ -54,6 +47,10 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
|||
[self registerOurDragTypes];
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
}
|
||||
|
||||
- (MAMovieWindow *)moviePanel
|
||||
{
|
||||
return [[NSApp delegate] moviePanel];
|
||||
|
@ -96,17 +93,14 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
|||
//
|
||||
// Current movie changed
|
||||
//
|
||||
[currentMovie release];
|
||||
if (MAMedia * currentMedia = [self currentMedia]) {
|
||||
NSURL * mediaURL = [NSURL URLWithString:[currentMedia media]];
|
||||
currentMovie = [[QTMovie alloc] initWithURL:mediaURL error:nil];
|
||||
currentMovieTitle = [currentMedia name];
|
||||
} else {
|
||||
currentMovie = nil;
|
||||
currentMovieTitle = @"";
|
||||
currentMovie = nil;
|
||||
currentMovieTitle = @"";
|
||||
}
|
||||
lastMovieTime = QTMakeTime(-1, 600);
|
||||
[self updateMovieTime:nil];
|
||||
}
|
||||
[self moviePanelDidAppear];
|
||||
}
|
||||
|
@ -231,7 +225,6 @@ static const char * kMADocWindowObserver = "MADocWindowObserver";
|
|||
NSDictionary * attributes = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES]
|
||||
forKey:QTMovieFlatten];
|
||||
[exportMovie writeToFile:[url path] withAttributes:attributes];
|
||||
[exportMovie release];
|
||||
}
|
||||
|
||||
#define kMAAudioTypes @"m4a", @"aiff", @"aif", @"wav", @"caf", @"mp3"
|
||||
|
@ -332,8 +325,7 @@ static NSTimeInterval sLastSkip = 0.0;
|
|||
[currentMovie setCurrentTime:current];
|
||||
sLastSkip *= 1.1;
|
||||
[NSRunLoop cancelPreviousPerformRequestsWithTarget:self selector:@selector(resetSkipFactor:) object:self];
|
||||
[self performSelector:@selector(resetSkipFactor:) withObject:self afterDelay:0.5];
|
||||
[self updateMovieTime:nil];
|
||||
[self performSelector:@selector(resetSkipFactor:) withObject:self afterDelay:1.0];
|
||||
}
|
||||
|
||||
- (IBAction)mediaSkipBackward:(id)sender
|
||||
|
@ -509,29 +501,6 @@ static NSTimeInterval sLastSkip = 0.0;
|
|||
}];
|
||||
}
|
||||
|
||||
#pragma mark Searching
|
||||
|
||||
- (void)setSearchString:(NSString *)str
|
||||
{
|
||||
[self willChangeValueForKey:@"searchString"];
|
||||
if (searchString != str) {
|
||||
[searchString release];
|
||||
searchString = [str retain];
|
||||
}
|
||||
if (!searchString || [searchString isEqual:@""]) {
|
||||
[mediaController setFilterPredicate:nil];
|
||||
[annotationController setFilterPredicate:nil];
|
||||
} else {
|
||||
NSArray * matchingTags = [[self document] tagDescriptionsMatching:searchString];
|
||||
[mediaController setFilterPredicate:
|
||||
[NSPredicate predicateWithFormat:@"SUBQUERY(annotations,$a,$a.notes CONTAINS[cd] %@ OR ANY $a.tagDescriptions IN %@).@count > 0",
|
||||
searchString, matchingTags]];
|
||||
[annotationController setFilterPredicate:
|
||||
[NSPredicate predicateWithFormat:@"notes CONTAINS[cd] %@ OR ANY tagDescriptions IN %@",
|
||||
searchString, matchingTags]];
|
||||
}
|
||||
[self didChangeValueForKey:@"searchString"];
|
||||
}
|
||||
@end
|
||||
|
||||
@implementation MADocumentWindow
|
||||
|
|
|
@ -23,6 +23,5 @@
|
|||
- (MATagDescription *)tagDescriptionForName:(NSString *)name notes:(NSString *)notes;
|
||||
- (NSArray *)tagNamesMatchingPrefix:(NSString *)prefix;
|
||||
- (NSSet *)allTags;
|
||||
- (NSArray *)tagDescriptionsMatching:(NSString *)substring;
|
||||
|
||||
@end
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
{
|
||||
MADocWindow * windowController = [[MADocWindow alloc] initWithWindowNibName:[self windowNibName]];
|
||||
[self addWindowController:windowController];
|
||||
[windowController release];
|
||||
}
|
||||
|
||||
+ (BOOL)autosavesInPlace
|
||||
|
@ -134,16 +133,6 @@
|
|||
return names;
|
||||
}
|
||||
|
||||
- (NSArray *)tagDescriptionsMatching:(NSString *)substring
|
||||
{
|
||||
NSManagedObjectContext *moc = [self managedObjectContext];
|
||||
NSFetchRequest * fetch = [NSFetchRequest fetchRequestWithEntityName:@"MATagDescription"];
|
||||
[fetch setPredicate:[NSPredicate predicateWithFormat:@"name CONTAINS[cd] %@ OR notes CONTAINS[cd] %@",
|
||||
substring, substring]];
|
||||
|
||||
return [moc executeFetchRequest:fetch error:nil];
|
||||
}
|
||||
|
||||
- (NSSet *)allTags
|
||||
{
|
||||
NSManagedObjectContext *moc = [self managedObjectContext];
|
||||
|
|
|
@ -1,186 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>date</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>^(.*\D|)\d\d\d\d()\d\d(\2)\d\d</string>
|
||||
<key>comment</key>
|
||||
<string>4 digit year, no separators</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>yyyyddMM</string>
|
||||
<string>yyyyMMdd</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>^(.*\D|)\d\d\d\d(\D)\d\d?(\2)\d\d?</string>
|
||||
<key>comment</key>
|
||||
<string>4 digit year, separators</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>yyyy$2dd$3MM</string>
|
||||
<string>yyyy$2MM$3dd</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>^(.*\D|)\d\d()\d\d(\2)\d\d</string>
|
||||
<key>comment</key>
|
||||
<string>2 digit year, no separators</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>MMddyy</string>
|
||||
<string>ddMMyy</string>
|
||||
<string>yyMMdd</string>
|
||||
<string>yyddMM</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>^(.*\D|)\d\d?(\D)\d\d(\2)\d\d</string>
|
||||
<key>comment</key>
|
||||
<string>2 digit year (yy at end), separators</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>MM$2dd$3yy</string>
|
||||
<string>dd$2MM$3yy</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>^(.*\D|)\d\d(\D)\d\d(\2)\d\d?</string>
|
||||
<key>comment</key>
|
||||
<string>2 digit year (yy at beginning), separators</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>yy$2dd$3MM</string>
|
||||
<string>yy$2MM$3dd</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>time</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\D*\s\D*)\d\d?(\D?)\d\d(\5)\d\d(\s+)[APap][mM](\W.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>seconds, AM/PM</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>$4hh$5mm$6ss$7a</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\D*\s\D*)\d\d?(\D?)\d\d(\s+)[APap][mM](\W.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>no seconds, AM/PM</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>$4hh$5mm$6a</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\D*\s\D*)\d\d?(\D?)\d\d(\5)\d\d(\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>seconds, no AM/PM</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>$4HH$5mm$6ss</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\D*\s\D*)\d\d?(\D?)\d\d(\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>no seconds, no AM/PM</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>$4HH$5mm</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>date only</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string></string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\s*T\s*)\d\d?(\D?)\d\d(\5)\d\d(\s*Z?\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>seconds, ISO UTC</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>'$4'HH$5mm$6ss</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\s+)\d\d?(\D?)\d\d(\5)\d\d(\s*Z\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>seconds, ISO UTC</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>$4HH$5mm$6ss</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\s*(?:T|\s)\s*)\d\d?(\D?)\d\d(\5)\d\d(\s*)[-+]\d\d(\d\d|)(\s*\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>seconds, ISO time zone</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>'$4'HH$5mm$6ss$7ZZZ</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\s*T\s*)\d\d?(\D?)\d\d(\s*Z?\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>no seconds, ISO UTC</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>'$4'HH$5mm</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\s+)\d\d?(\D?)\d\d(\s*Z\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>no seconds, ISO UTC</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>$4HH$5mm</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>regexp</key>
|
||||
<string>(\s*(?:T|\s)\s*)\d\d?(\D?)\d\d(\s*)[-+]\d\d(\d\d|)(\s*\D.*|)$</string>
|
||||
<key>comment</key>
|
||||
<string>no seconds, ISO time zone</string>
|
||||
<key>formats</key>
|
||||
<array>
|
||||
<string>'$4'HH$5mm$6ZZZ</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>normalize</key>
|
||||
<array>
|
||||
<array>
|
||||
<string>([-+]\d\d):(\d\d)</string>
|
||||
<string>$1$2</string>
|
||||
</array>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
|
@ -6,6 +6,5 @@
|
|||
Copyright 2011 Matthias Neeracher. All rights reserved.
|
||||
*/
|
||||
|
||||
"Play" = "Play";
|
||||
"Pause" = "Pause";
|
||||
"File Name Date" = "File Name <%@>";
|
||||
"Play" = "Play";
|
||||
"Pause"= "Pause";
|
||||
|
|
|
@ -74,7 +74,6 @@
|
|||
<string key="NSFrame">{{660, 12}, {107, 32}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:161</string>
|
||||
<int key="NSTag">1000</int>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
|
@ -138,7 +137,7 @@
|
|||
<string key="NSFrameSize">{781, 380}</string>
|
||||
<reference key="NSSuperview" ref="482978525"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="635678385"/>
|
||||
<reference key="NSNextKeyView" ref="106724295"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1197</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTableHeaderView" key="NSHeaderView" id="678384619">
|
||||
|
@ -341,7 +340,7 @@
|
|||
<string key="NSFrame">{{-1, 54}, {783, 398}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="106724295"/>
|
||||
<reference key="NSNextKeyView" ref="482978525"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1193</string>
|
||||
<int key="NSsFlags">133682</int>
|
||||
<reference key="NSVScroller" ref="635678385"/>
|
||||
|
@ -353,10 +352,10 @@
|
|||
<object class="NSPopUpButton" id="19618719">
|
||||
<reference key="NSNextResponder" ref="1006"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{137, 456}, {468, 26}}</string>
|
||||
<string key="NSFrame">{{137, 456}, {371, 26}}</string>
|
||||
<reference key="NSSuperview" ref="1006"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="333350533"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:179</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="247335376">
|
||||
|
@ -371,34 +370,34 @@
|
|||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">400</int>
|
||||
<int key="NSPeriodicInterval">75</int>
|
||||
<nil key="NSMenuItem"/>
|
||||
<object class="NSMenuItem" key="NSMenuItem" id="1014844797">
|
||||
<reference key="NSMenu" ref="694863336"/>
|
||||
<string key="NSTitle">Modification Date</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<int key="NSState">1</int>
|
||||
<object class="NSCustomResource" key="NSOnImage" id="218087945">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">NSMenuCheckmark</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="NSMixedImage" id="207621535">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">NSMenuMixedState</string>
|
||||
</object>
|
||||
<string key="NSAction">_popUpItemAction:</string>
|
||||
<reference key="NSTarget" ref="247335376"/>
|
||||
</object>
|
||||
<bool key="NSMenuItemRespectAlignment">YES</bool>
|
||||
<object class="NSMenu" key="NSMenu" id="694863336">
|
||||
<string key="NSTitle">OtherViews</string>
|
||||
<object class="NSMutableArray" key="NSMenuItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMenuItem" id="1014844797">
|
||||
<reference key="NSMenu" ref="694863336"/>
|
||||
<string key="NSTitle">Modification Date</string>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSKeyEquivModMask">1048576</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
<object class="NSCustomResource" key="NSOnImage" id="218087945">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">NSMenuCheckmark</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="NSMixedImage" id="207621535">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">NSMenuMixedState</string>
|
||||
</object>
|
||||
<string key="NSAction">_popUpItemAction:</string>
|
||||
<reference key="NSTarget" ref="247335376"/>
|
||||
</object>
|
||||
<reference ref="1014844797"/>
|
||||
<object class="NSMenuItem" id="398634218">
|
||||
<reference key="NSMenu" ref="694863336"/>
|
||||
<bool key="NSIsDisabled">YES</bool>
|
||||
<bool key="NSIsSeparator">YES</bool>
|
||||
<bool key="NSIsHidden">YES</bool>
|
||||
<string key="NSTitle"/>
|
||||
<string key="NSKeyEquiv"/>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -410,7 +409,6 @@
|
|||
</object>
|
||||
<reference key="NSMenuFont" ref="706852951"/>
|
||||
</object>
|
||||
<int key="NSSelectedIndex">-1</int>
|
||||
<int key="NSPreferredEdge">1</int>
|
||||
<bool key="NSUsesItemFromMenu">YES</bool>
|
||||
<bool key="NSAltersState">YES</bool>
|
||||
|
@ -562,75 +560,6 @@
|
|||
</object>
|
||||
<int key="connectionID">76</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">hidden: dateFormats</string>
|
||||
<reference key="source" ref="398634218"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="398634218"/>
|
||||
<reference key="NSDestination" ref="1001"/>
|
||||
<string key="NSLabel">hidden: dateFormats</string>
|
||||
<string key="NSBinding">hidden</string>
|
||||
<string key="NSKeyPath">dateFormats</string>
|
||||
<object class="NSDictionary" key="NSOptions">
|
||||
<string key="NS.key.0">NSValueTransformerName</string>
|
||||
<string key="NS.object.0">NSIsNil</string>
|
||||
</object>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">87</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">value: selectedDateFormat</string>
|
||||
<reference key="source" ref="1014844797"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="1014844797"/>
|
||||
<reference key="NSDestination" ref="1001"/>
|
||||
<string key="NSLabel">value: selectedDateFormat</string>
|
||||
<string key="NSBinding">value</string>
|
||||
<string key="NSKeyPath">selectedDateFormat</string>
|
||||
<object class="NSDictionary" key="NSOptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSAllowsEditingMultipleValuesSelection</string>
|
||||
<string>NSConditionallySetsEnabled</string>
|
||||
<string>NSRaisesForNotApplicableKeys</string>
|
||||
<string>NSValueTransformerName</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<boolean value="NO"/>
|
||||
<boolean value="NO"/>
|
||||
<boolean value="NO"/>
|
||||
<string>NSIsNil</string>
|
||||
</object>
|
||||
</object>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">93</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">useModificationDates:</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="1014844797"/>
|
||||
</object>
|
||||
<int key="connectionID">97</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">dateFormatMenu</string>
|
||||
<reference key="source" ref="1001"/>
|
||||
<reference key="destination" ref="694863336"/>
|
||||
</object>
|
||||
<int key="connectionID">101</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
|
@ -931,7 +860,7 @@
|
|||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">101</int>
|
||||
<int key="maxID">76</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
@ -940,46 +869,14 @@
|
|||
<string key="className">MAAddMediaSheet</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>useFileNameDates:</string>
|
||||
<string>useModificationDates:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
<string key="NS.key.0">useModificationDates:</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>useFileNameDates:</string>
|
||||
<string>useModificationDates:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">useFileNameDates:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">useModificationDates:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">dateFormatMenu</string>
|
||||
<string key="NS.object.0">NSMenu</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">dateFormatMenu</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">dateFormatMenu</string>
|
||||
<string key="candidateClassName">NSMenu</string>
|
||||
<string key="NS.key.0">useModificationDates:</string>
|
||||
<object class="IBActionInfo" key="NS.object.0">
|
||||
<string key="name">useModificationDates:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
|
|
|
@ -158,9 +158,11 @@
|
|||
<string key="NSToolbarItemPaletteLabel"><<</string>
|
||||
<nil key="NSToolbarItemToolTip"/>
|
||||
<object class="NSButton" key="NSToolbarItemView" id="401296146">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{0, 14}, {32, 32}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1491</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="135304652">
|
||||
|
@ -249,9 +251,11 @@
|
|||
<string key="NSToolbarItemPaletteLabel">>></string>
|
||||
<nil key="NSToolbarItemToolTip"/>
|
||||
<object class="NSButton" key="NSToolbarItemView" id="734900919">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{0, 14}, {32, 32}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1491</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="272029418">
|
||||
|
@ -314,17 +318,19 @@
|
|||
<string key="NSToolbarItemPaletteLabel">Search</string>
|
||||
<nil key="NSToolbarItemToolTip"/>
|
||||
<object class="NSSearchField" key="NSToolbarItemView" id="891639952">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">268</int>
|
||||
<string key="NSFrame">{{0, 14}, {96, 22}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:123</string>
|
||||
<int key="NSTag">100</int>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSSearchFieldCell" key="NSCell" id="774960126">
|
||||
<int key="NSCellFlags">343014976</int>
|
||||
<int key="NSCellFlags2">268436544</int>
|
||||
<string key="NSContents"/>
|
||||
<reference key="NSSupport" ref="23905036"/>
|
||||
<string key="NSPlaceholderString">predicate</string>
|
||||
<string key="NSCellIdentifier">_NS:123</string>
|
||||
<reference key="NSControlView" ref="891639952"/>
|
||||
<bool key="NSDrawsBackground">YES</bool>
|
||||
|
@ -492,7 +498,7 @@
|
|||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSArray" key="NSToolbarIBAllowedItems">
|
||||
<object class="NSMutableArray" key="NSToolbarIBAllowedItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="271164239"/>
|
||||
<reference ref="962020774"/>
|
||||
|
@ -502,11 +508,11 @@
|
|||
<reference ref="1015085479"/>
|
||||
<reference ref="957210769"/>
|
||||
<reference ref="89055059"/>
|
||||
<reference ref="916551158"/>
|
||||
<reference ref="202060684"/>
|
||||
<reference ref="585433049"/>
|
||||
<reference ref="916551158"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="NSToolbarIBDefaultItems">
|
||||
<object class="NSArray" key="NSToolbarIBDefaultItems">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="490181719"/>
|
||||
<reference ref="585433049"/>
|
||||
|
@ -550,7 +556,7 @@
|
|||
<string key="NSFrameSize">{1279, 183}</string>
|
||||
<reference key="NSSuperview" ref="204692115"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="502749411"/>
|
||||
<reference key="NSNextKeyView" ref="332479500"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1197</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTableHeaderView" key="NSHeaderView" id="117432108">
|
||||
|
@ -775,7 +781,7 @@
|
|||
<string key="NSFrameSize">{1281, 201}</string>
|
||||
<reference key="NSSuperview" ref="196617426"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="204692115"/>
|
||||
<reference key="NSNextKeyView" ref="502749411"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1193</string>
|
||||
<int key="NSsFlags">133682</int>
|
||||
<reference key="NSVScroller" ref="332479500"/>
|
||||
|
@ -837,7 +843,7 @@
|
|||
<string key="NSFrameSize">{1278, 565}</string>
|
||||
<reference key="NSSuperview" ref="51131752"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="794153134"/>
|
||||
<reference key="NSNextKeyView" ref="742629842"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1197</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTableHeaderView" key="NSHeaderView" id="995480265">
|
||||
|
@ -984,6 +990,7 @@
|
|||
<string key="NSFrame">{{1, 566}, {1279, 15}}</string>
|
||||
<reference key="NSSuperview" ref="1054473103"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1216</string>
|
||||
<int key="NSsFlags">1</int>
|
||||
<reference key="NSTarget" ref="1054473103"/>
|
||||
|
@ -1009,7 +1016,7 @@
|
|||
<string key="NSFrameSize">{1280, 583}</string>
|
||||
<reference key="NSSuperview" ref="1058980817"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="51131752"/>
|
||||
<reference key="NSNextKeyView" ref="794153134"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1193</string>
|
||||
<int key="NSsFlags">133682</int>
|
||||
<reference key="NSVScroller" ref="715872882"/>
|
||||
|
@ -1087,7 +1094,7 @@
|
|||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="196617426"/>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
||||
<string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
|
||||
<string key="NSMinSize">{450, 478}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<int key="NSWindowCollectionBehavior">128</int>
|
||||
|
@ -1896,22 +1903,6 @@
|
|||
</object>
|
||||
<int key="connectionID">100308</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">value: searchString</string>
|
||||
<reference key="source" ref="891639952"/>
|
||||
<reference key="destination" ref="512844837"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="891639952"/>
|
||||
<reference key="NSDestination" ref="512844837"/>
|
||||
<string key="NSLabel">value: searchString</string>
|
||||
<string key="NSBinding">value</string>
|
||||
<string key="NSKeyPath">searchString</string>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">100316</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
|
@ -2628,7 +2619,7 @@
|
|||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">100316</int>
|
||||
<int key="maxID">100308</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
|
@ -381,7 +381,7 @@
|
|||
<string key="NSFrameSize">{798, 432}</string>
|
||||
<reference key="NSSuperview" ref="43006809"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="687601302"/>
|
||||
<reference key="NSNextKeyView" ref="233033100"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1197</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTableHeaderView" key="NSHeaderView" id="818285608">
|
||||
|
@ -528,6 +528,7 @@
|
|||
<string key="NSFrame">{{1, 434}, {798, 15}}</string>
|
||||
<reference key="NSSuperview" ref="296418393"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1216</string>
|
||||
<int key="NSsFlags">1</int>
|
||||
<reference key="NSTarget" ref="296418393"/>
|
||||
|
@ -554,7 +555,7 @@
|
|||
<string key="NSFrameSize">{800, 450}</string>
|
||||
<reference key="NSSuperview" ref="19986666"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="43006809"/>
|
||||
<reference key="NSNextKeyView" ref="687601302"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1193</string>
|
||||
<int key="NSsFlags">133682</int>
|
||||
<reference key="NSVScroller" ref="233033100"/>
|
||||
|
@ -570,7 +571,7 @@
|
|||
<reference key="NSNextKeyView" ref="296418393"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:2837</string>
|
||||
</object>
|
||||
<string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
|
||||
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
|
||||
<string key="NSMinSize">{250, 172}</string>
|
||||
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
|
||||
<bool key="NSWindowIsRestorable">YES</bool>
|
||||
|
@ -623,6 +624,26 @@
|
|||
</object>
|
||||
<int key="connectionID">18</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">displayPatternTitle1: currentDocument.displayName</string>
|
||||
<reference key="source" ref="1011577982"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="1011577982"/>
|
||||
<reference key="NSDestination" ref="1001"/>
|
||||
<string key="NSLabel">displayPatternTitle1: currentDocument.displayName</string>
|
||||
<string key="NSBinding">displayPatternTitle1</string>
|
||||
<string key="NSKeyPath">currentDocument.displayName</string>
|
||||
<object class="NSDictionary" key="NSOptions">
|
||||
<string key="NS.key.0">NSDisplayPattern</string>
|
||||
<string key="NS.object.0">Annotations for %{title1}@</string>
|
||||
</object>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">31</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">managedObjectContext: currentDocument.managedObjectContext</string>
|
||||
|
@ -735,55 +756,6 @@
|
|||
</object>
|
||||
<int key="connectionID">62</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">predicate: filterPredicate</string>
|
||||
<reference key="source" ref="1017784973"/>
|
||||
<reference key="destination" ref="800890361"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="1017784973"/>
|
||||
<reference key="NSDestination" ref="800890361"/>
|
||||
<string key="NSLabel">predicate: filterPredicate</string>
|
||||
<string key="NSBinding">predicate</string>
|
||||
<string key="NSKeyPath">filterPredicate</string>
|
||||
<object class="NSDictionary" key="NSOptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSDisplayName</string>
|
||||
<string>NSPredicateFormat</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>predicate</string>
|
||||
<string>name CONTAINS[cd] $value OR notes CONTAINS[cd] $value</string>
|
||||
</object>
|
||||
</object>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">65</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBBindingConnection" key="connection">
|
||||
<string key="label">displayPatternTitle1: currentDocument.displayName</string>
|
||||
<reference key="source" ref="1011577982"/>
|
||||
<reference key="destination" ref="1001"/>
|
||||
<object class="NSNibBindingConnector" key="connector">
|
||||
<reference key="NSSource" ref="1011577982"/>
|
||||
<reference key="NSDestination" ref="1001"/>
|
||||
<string key="NSLabel">displayPatternTitle1: currentDocument.displayName</string>
|
||||
<string key="NSBinding">displayPatternTitle1</string>
|
||||
<string key="NSKeyPath">currentDocument.displayName</string>
|
||||
<object class="NSDictionary" key="NSOptions">
|
||||
<string key="NS.key.0">NSDisplayPattern</string>
|
||||
<string key="NS.object.0">Tags for %{title1}@</string>
|
||||
</object>
|
||||
<int key="NSNibBindingConnectorVersion">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<int key="connectionID">66</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
|
@ -1049,7 +1021,7 @@
|
|||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">66</int>
|
||||
<int key="maxID">62</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
|
@ -900,7 +900,7 @@
|
|||
</object>
|
||||
<object class="NSMenuItem" id="858734773">
|
||||
<reference key="NSMenu" ref="835318025"/>
|
||||
<string key="NSTitle">Tag Panel</string>
|
||||
<string key="NSTitle">Annotation Panel</string>
|
||||
<string key="NSKeyEquiv">t</string>
|
||||
<int key="NSKeyEquivModMask">262144</int>
|
||||
<int key="NSMnemonicLoc">2147483647</int>
|
||||
|
@ -2503,16 +2503,13 @@
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>addAnnotation:</string>
|
||||
<string>addMediaFiles:</string>
|
||||
<string>copy:</string>
|
||||
<string>cut:</string>
|
||||
<string>delete:</string>
|
||||
<string>exportMedia:</string>
|
||||
<string>exportText:</string>
|
||||
<string>importText:</string>
|
||||
<string>mediaSkipBackward:</string>
|
||||
<string>mediaSkipForward:</string>
|
||||
<string>paste:</string>
|
||||
<string>toggleMediaPlay:</string>
|
||||
<string>toggleMoviePanel:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -2525,9 +2522,6 @@
|
|||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
|
@ -2536,16 +2530,13 @@
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>addAnnotation:</string>
|
||||
<string>addMediaFiles:</string>
|
||||
<string>copy:</string>
|
||||
<string>cut:</string>
|
||||
<string>delete:</string>
|
||||
<string>exportMedia:</string>
|
||||
<string>exportText:</string>
|
||||
<string>importText:</string>
|
||||
<string>mediaSkipBackward:</string>
|
||||
<string>mediaSkipForward:</string>
|
||||
<string>paste:</string>
|
||||
<string>toggleMediaPlay:</string>
|
||||
<string>toggleMoviePanel:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
@ -2557,18 +2548,6 @@
|
|||
<string key="name">addMediaFiles:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">copy:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">cut:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">delete:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">exportMedia:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
|
@ -2590,11 +2569,11 @@
|
|||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">paste:</string>
|
||||
<string key="name">toggleMediaPlay:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">toggleMediaPlay:</string>
|
||||
<string key="name">toggleMoviePanel:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -2607,6 +2586,7 @@
|
|||
<string>annotationTable</string>
|
||||
<string>mediaController</string>
|
||||
<string>mediaTable</string>
|
||||
<string>moviePanel</string>
|
||||
<string>movieView</string>
|
||||
<string>textExportAccessoryView</string>
|
||||
</object>
|
||||
|
@ -2616,6 +2596,7 @@
|
|||
<string>NSTableView</string>
|
||||
<string>NSArrayController</string>
|
||||
<string>NSTableView</string>
|
||||
<string>MAMovieWindow</string>
|
||||
<string>QTMovieView</string>
|
||||
<string>NSView</string>
|
||||
</object>
|
||||
|
@ -2628,6 +2609,7 @@
|
|||
<string>annotationTable</string>
|
||||
<string>mediaController</string>
|
||||
<string>mediaTable</string>
|
||||
<string>moviePanel</string>
|
||||
<string>movieView</string>
|
||||
<string>textExportAccessoryView</string>
|
||||
</object>
|
||||
|
@ -2649,6 +2631,10 @@
|
|||
<string key="name">mediaTable</string>
|
||||
<string key="candidateClassName">NSTableView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">moviePanel</string>
|
||||
<string key="candidateClassName">MAMovieWindow</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">movieView</string>
|
||||
<string key="candidateClassName">QTMovieView</string>
|
||||
|
@ -2698,81 +2684,14 @@
|
|||
<string key="className">MATagWindow</string>
|
||||
<string key="superclassName">NSWindowController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>copy:</string>
|
||||
<string>cut:</string>
|
||||
<string>delete:</string>
|
||||
<string>toggleWindow:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
<string key="NS.key.0">toggleWindow:</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>copy:</string>
|
||||
<string>cut:</string>
|
||||
<string>delete:</string>
|
||||
<string>toggleWindow:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">copy:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">cut:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">delete:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">toggleWindow:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>tagController</string>
|
||||
<string>tagTable</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>NSArrayController</string>
|
||||
<string>NSTableView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>tagController</string>
|
||||
<string>tagTable</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">tagController</string>
|
||||
<string key="candidateClassName">NSArrayController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">tagTable</string>
|
||||
<string key="candidateClassName">NSTableView</string>
|
||||
</object>
|
||||
<string key="NS.key.0">toggleWindow:</string>
|
||||
<object class="IBActionInfo" key="NS.object.0">
|
||||
<string key="name">toggleWindow:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
|
|