BathyScapheのリンクをクリックした時に開くアプリケーションを設定するためのツール
Revision | 26287b46fa09cbace268713d0ca6b8a68cb805f1 (tree) |
---|---|
Zeit | 2009-02-16 21:30:39 |
Autor | masakih <masakih@user...> |
Commiter | masakih |
initial import.
git-svn-id: svn+ssh://macmini/usr/local/svnrepos/BSLinkConductor/BSLinkConductor@2 061f2d1e-a732-4c5b-b008-8f2f835f3f04
@@ -0,0 +1,42 @@ | ||
1 | +// | |
2 | +// BSImagePreviewerInterface.h | |
3 | +// BathyScaphe | |
4 | +// | |
5 | +// Created by Tsutomu Sawada on 05/10/15, Last Modified on 07/10/24. | |
6 | +// Copyright 2005-2007 BathyScaphe Project. All rights reserved. | |
7 | +// encoding="UTF-8" | |
8 | +// | |
9 | + | |
10 | +@class AppDefaults; | |
11 | + | |
12 | +@protocol BSImagePreviewerProtocol | |
13 | +// Designated Initializer | |
14 | +- (id)initWithPreferences:(AppDefaults *)prefs; | |
15 | +// Accessor | |
16 | +- (AppDefaults *)preferences; | |
17 | +- (void)setPreferences:(AppDefaults *)aPreferences; | |
18 | +// Action | |
19 | +- (BOOL)showImageWithURL:(NSURL *)imageURL; | |
20 | +- (BOOL)validateLink:(NSURL *)anURL; | |
21 | +@end | |
22 | + | |
23 | +@interface NSObject(BSImagePreviewerInformalProtocol) | |
24 | +// MeteorSweeper Addition - optional method information | |
25 | +// このメソッドはプロトコル定義には含まれませんが、BathyScaphe 1.3 以降でプラグインの Principal class に | |
26 | +// このメソッドを実装しておくと、BathyScaphe の「ウインドウ」>「プレビュー」メニュー項目が有効になります。 | |
27 | +// BathyScaphe は「ウインドウ」>「プレビュー」が選択されると、プラグインに対してこのメソッドを実行するようメッセージを送信します。 | |
28 | +- (IBAction)togglePreviewPanel:(id)sender; | |
29 | + | |
30 | +// Available in BathyScaphe 1.6 and later. | |
31 | +- (BOOL)showImagesWithURLs:(NSArray *)urls; | |
32 | +- (IBAction)showPreviewerPreferences:(id)sender; | |
33 | +@end | |
34 | + | |
35 | +@interface NSObject(IPPAdditions) | |
36 | +// Storage for plugin-specific settings | |
37 | +- (NSMutableDictionary *)imagePreviewerPrefsDict; | |
38 | + | |
39 | +// Accessor for useful BathyScaphe global settings | |
40 | +- (BOOL)openInBg; | |
41 | +- (BOOL)isOnlineMode; | |
42 | +@end |
@@ -0,0 +1,30 @@ | ||
1 | +// | |
2 | +// BSLCPreferences.h | |
3 | +// BSLinkConductor | |
4 | +// | |
5 | +// Created by Hori,Masaki on 09/02/13. | |
6 | +// Copyright 2009 masakih. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import <Cocoa/Cocoa.h> | |
10 | + | |
11 | + | |
12 | +@interface BSLCPreferences : NSWindowController | |
13 | +{ | |
14 | + NSMutableArray *items; | |
15 | + | |
16 | + IBOutlet NSTableView *tableView; | |
17 | + IBOutlet NSArrayController *itemsController; | |
18 | +} | |
19 | + | |
20 | ++ (id)sharedInstance; | |
21 | +- (void)setItems:(NSMutableArray *)inItems; | |
22 | + | |
23 | +- (IBAction)showHideWindow:(id)sender; | |
24 | + | |
25 | +- (IBAction)add:(id)sender; | |
26 | +- (IBAction)remove:(id)sender; | |
27 | + | |
28 | +extern NSString *BSLCItemsDidChangeNotification; | |
29 | + | |
30 | +@end |
@@ -0,0 +1,197 @@ | ||
1 | +// | |
2 | +// BSLCPreferences.m | |
3 | +// BSLinkConductor | |
4 | +// | |
5 | +// Created by Hori,Masaki on 09/02/13. | |
6 | +// Copyright 2009 masakih. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "BSLCPreferences.h" | |
10 | + | |
11 | +#import "BSLinkConductorItem.h" | |
12 | + | |
13 | +@implementation BSLCPreferences | |
14 | + | |
15 | +NSString *BSLCItemsDidChangeNotification = @"BSLCItemsDidChangeNotification"; | |
16 | + | |
17 | + | |
18 | +static BSLCPreferences *instance = nil; | |
19 | + | |
20 | +static NSString *const BSLCPRowIndexType = @"BSLCPRowIndexType"; | |
21 | + | |
22 | +- (id)init | |
23 | +{ | |
24 | + if(self = [super initWithWindowNibName:@"BSLinkConductor"]) { | |
25 | + // | |
26 | + } | |
27 | + | |
28 | + return self; | |
29 | +} | |
30 | + | |
31 | ++ (id)sharedInstance | |
32 | +{ | |
33 | + if(!instance) { | |
34 | + @synchronized(self) { | |
35 | + if(!instance) { | |
36 | + instance = [[[self class] alloc] init]; | |
37 | + } | |
38 | + } | |
39 | + } | |
40 | + | |
41 | + return instance; | |
42 | +} | |
43 | + | |
44 | + | |
45 | +- (void)awakeFromNib | |
46 | +{ | |
47 | + [tableView registerForDraggedTypes:[NSArray arrayWithObject:BSLCItemPastboardType]]; | |
48 | + | |
49 | + [[self window] setFrameAutosaveName:@"com.masakih.BSLinkConductor.Preference"]; | |
50 | + | |
51 | + [itemsController addObserver:self forKeyPath:@"selection.name" options:0 context:NULL]; | |
52 | + [itemsController addObserver:self forKeyPath:@"selection.regularExpression" options:0 context:NULL]; | |
53 | + [itemsController addObserver:self forKeyPath:@"selection.targetApplicationName" options:0 context:NULL]; | |
54 | + [itemsController addObserver:self forKeyPath:@"selection.openInBackground" options:0 context:NULL]; | |
55 | + [itemsController addObserver:self forKeyPath:@"selection.useLocalCopy" options:0 context:NULL]; | |
56 | +} | |
57 | + | |
58 | +- (void)notifyItemDidChange | |
59 | +{ | |
60 | + NSNotificationCenter *fc = [NSNotificationCenter defaultCenter]; | |
61 | + | |
62 | + [fc postNotificationName:BSLCItemsDidChangeNotification object:self]; | |
63 | +} | |
64 | +- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context | |
65 | +{ | |
66 | + [self notifyItemDidChange]; | |
67 | +} | |
68 | +- (void)textDidChange:(NSNotification *)notification | |
69 | +{ | |
70 | + [self notifyItemDidChange]; | |
71 | +} | |
72 | +- (void)textDidEndEditing:(NSNotification *)notification | |
73 | +{ | |
74 | + [self notifyItemDidChange]; | |
75 | +} | |
76 | +- (void)setItems:(NSMutableArray *)inItems | |
77 | +{ | |
78 | + if(items == inItems) return; | |
79 | + | |
80 | + [items autorelease]; | |
81 | + items = [inItems retain]; | |
82 | +} | |
83 | +- (NSMutableArray *)items | |
84 | +{ | |
85 | + return items; | |
86 | +} | |
87 | + | |
88 | + | |
89 | + | |
90 | +- (IBAction)showHideWindow:(id)sender | |
91 | +{ | |
92 | + if([[self window] isVisible]) { | |
93 | + [[self window] orderOut:sender]; | |
94 | + } else { | |
95 | + [self showWindow:sender]; | |
96 | + } | |
97 | +} | |
98 | +- (IBAction)add:(id)sender | |
99 | +{ | |
100 | + BSLinkConductorItem *item = [[[BSLinkConductorItem alloc] init] autorelease]; | |
101 | + UTILDebugWrite1(@"New item is %@", item); | |
102 | + | |
103 | + [self willChangeValueForKey:@"items"]; | |
104 | + [items addObject:item]; | |
105 | + [self didChangeValueForKey:@"items"]; | |
106 | + | |
107 | + [self notifyItemDidChange]; | |
108 | + | |
109 | + UTILDebugWrite1(@"Add item. new item count is %d", [items count]); | |
110 | +} | |
111 | +- (IBAction)remove:(id)sender | |
112 | +{ | |
113 | + int row = [tableView selectedRow]; | |
114 | + if(row == -1) return; | |
115 | + | |
116 | + id item = [items objectAtIndex:row]; | |
117 | + if(!item) return; | |
118 | + | |
119 | + [self willChangeValueForKey:@"items"]; | |
120 | + [items removeObjectAtIndex:row]; | |
121 | + UTILDebugWrite(@"Remove item"); | |
122 | + [self didChangeValueForKey:@"items"]; | |
123 | + | |
124 | + [self notifyItemDidChange]; | |
125 | +} | |
126 | + | |
127 | +- (BOOL)tableView:(NSTableView *)tableView writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard*)pboard | |
128 | +{ | |
129 | + if([rowIndexes count] != 1) return NO; | |
130 | + | |
131 | + unsigned int index = [rowIndexes firstIndex]; | |
132 | + | |
133 | + [pboard declareTypes:[NSArray arrayWithObjects:BSLCItemPastboardType, BSLCPRowIndexType, nil] owner:nil]; | |
134 | + [pboard setData:[NSKeyedArchiver archivedDataWithRootObject:[items objectAtIndex:index]] | |
135 | + forType:BSLCItemPastboardType]; | |
136 | + [pboard setPropertyList:[NSNumber numberWithUnsignedInt:index] forType:BSLCPRowIndexType]; | |
137 | + | |
138 | + return YES; | |
139 | +} | |
140 | + | |
141 | +- (NSDragOperation)tableView:(NSTableView*)targetTableView | |
142 | + validateDrop:(id <NSDraggingInfo>)info | |
143 | + proposedRow:(int)row | |
144 | + proposedDropOperation:(NSTableViewDropOperation)dropOperation | |
145 | +{ | |
146 | + NSPasteboard *pboard = [info draggingPasteboard]; | |
147 | + if(![[pboard types] containsObject:BSLCItemPastboardType]) { | |
148 | + UTILDebugWrite(@"Pboard do not have BSLCItemPastboardType"); | |
149 | + return NSDragOperationNone; | |
150 | + } | |
151 | + | |
152 | + if(dropOperation == NSTableViewDropOn) { | |
153 | + [targetTableView setDropRow:row dropOperation:NSTableViewDropAbove]; | |
154 | + } | |
155 | + | |
156 | + unsigned int originalRow = [[pboard propertyListForType:BSLCPRowIndexType] unsignedIntValue]; | |
157 | + if(row == originalRow || row == originalRow + 1) { | |
158 | + return NSDragOperationNone; | |
159 | + } | |
160 | + | |
161 | + return NSDragOperationMove; | |
162 | +} | |
163 | + | |
164 | +- (BOOL)tableView:(NSTableView*)tableView | |
165 | + acceptDrop:(id <NSDraggingInfo>)info | |
166 | + row:(int)row | |
167 | + dropOperation:(NSTableViewDropOperation)dropOperation | |
168 | +{ | |
169 | + NSPasteboard *pboard = [info draggingPasteboard]; | |
170 | + if(![[pboard types] containsObject:BSLCItemPastboardType]) { | |
171 | + UTILDebugWrite(@"Pboard do not have BSLCItemPastboardType"); | |
172 | + return NO; | |
173 | + } | |
174 | + | |
175 | + if(row < 0) row = 0; | |
176 | + | |
177 | + unsigned int originalRow = [[pboard propertyListForType:BSLCPRowIndexType] unsignedIntValue]; | |
178 | + | |
179 | + NSData *itemData = [pboard dataForType:BSLCItemPastboardType]; | |
180 | + BSLinkConductorItem *item = [NSKeyedUnarchiver unarchiveObjectWithData:itemData]; | |
181 | + if(![item isKindOfClass:[BSLinkConductorItem class]]) { | |
182 | + UTILDebugWrite1(@"pboard object is not BSLinkConductorItem.(%@)", item); | |
183 | + return NO; | |
184 | + } | |
185 | + | |
186 | + [self willChangeValueForKey:@"items"]; | |
187 | + [items insertObject:item atIndex:row]; | |
188 | + if(originalRow > row) originalRow++; | |
189 | + [items removeObjectAtIndex:originalRow]; | |
190 | + [self didChangeValueForKey:@"items"]; | |
191 | + | |
192 | + [self notifyItemDidChange]; | |
193 | + | |
194 | + return YES; | |
195 | +} | |
196 | + | |
197 | +@end |
@@ -0,0 +1,26 @@ | ||
1 | +// | |
2 | +// BSLinkConductor.h | |
3 | +// BSLinkConductor | |
4 | +// | |
5 | +// Created by Hori,Masaki on 09/02/11. | |
6 | +// Copyright 2009 masakih. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import <Cocoa/Cocoa.h> | |
10 | + | |
11 | +#import "BSImagePreviewerInterface.h" | |
12 | + | |
13 | +@class HMTemporaryFolder; | |
14 | + | |
15 | +@interface BSLinkConductor : NSObject <BSImagePreviewerProtocol> | |
16 | +{ | |
17 | + AppDefaults *appDefaults; | |
18 | + | |
19 | + NSMutableArray *items; | |
20 | + | |
21 | + HMTemporaryFolder *tempFolder; | |
22 | + NSMutableDictionary *tempFileDict; | |
23 | + NSMutableDictionary *urlItemDict; | |
24 | +} | |
25 | + | |
26 | +@end |
@@ -0,0 +1,260 @@ | ||
1 | +// | |
2 | +// BSLinkConductor.m | |
3 | +// BSLinkConductor | |
4 | +// | |
5 | +// Created by Hori,Masaki on 09/02/11. | |
6 | +// Copyright 2009 masakih. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "BSLinkConductor.h" | |
10 | + | |
11 | +#import <OgreKit/OGRegularExpression.h> | |
12 | +#import "BSLinkConductorItem.h" | |
13 | +#import "BSLCPreferences.h" | |
14 | + | |
15 | +#import "HMTemporaryFolder.h" | |
16 | + | |
17 | +static NSString *const BSLCSavedItemsKey = @"com.masakih.BSLinkConductor.BSLCSavedItemsKey"; | |
18 | + | |
19 | +@interface BSLinkConductor (BSLCPrivate) | |
20 | +- (BOOL)openLink:(NSURL *)anURL withItem:(BSLinkConductorItem *)item; | |
21 | + | |
22 | +- (id)preferenceForKey:(NSString *)key; | |
23 | +- (void)setPreference:(id)value forKey:(NSString *)key; | |
24 | + | |
25 | +- (NSMutableArray *)savedItems; | |
26 | +- (void)storeItemsArray; | |
27 | + | |
28 | +- (void)beginDownloadURL:(NSURL *)anURL; | |
29 | +@end | |
30 | + | |
31 | +@implementation BSLinkConductor | |
32 | +- (id)initWithPreferences:(AppDefaults *)prefs | |
33 | +{ | |
34 | + if(self = [super init]) { | |
35 | + | |
36 | + [self setPreferences:prefs]; | |
37 | + items = [[self savedItems] retain]; | |
38 | + | |
39 | + tempFolder = [[HMTemporaryFolder alloc] init]; | |
40 | + tempFileDict = [[NSMutableDictionary alloc] init]; | |
41 | + urlItemDict = [[NSMutableDictionary alloc] init]; | |
42 | + | |
43 | + [[NSNotificationCenter defaultCenter] addObserver:self | |
44 | + selector:@selector(applicationWillTerminate:) | |
45 | + name:NSApplicationWillTerminateNotification | |
46 | + object:NSApp]; | |
47 | + [[NSNotificationCenter defaultCenter] addObserver:self | |
48 | + selector:@selector(itemDidchanged:) | |
49 | + name:BSLCItemsDidChangeNotification | |
50 | + object:nil]; | |
51 | +// [items addObserver:self forKeyPath:@"name" options:0 context:NULL]; | |
52 | + } | |
53 | + | |
54 | + return self; | |
55 | +} | |
56 | + | |
57 | +- (AppDefaults *)preferences | |
58 | +{ | |
59 | + return appDefaults; | |
60 | +} | |
61 | +- (void)setPreferences:(AppDefaults *)aPreferences | |
62 | +{ | |
63 | + if(appDefaults == aPreferences) return; | |
64 | + | |
65 | + [appDefaults autorelease]; | |
66 | + appDefaults = [aPreferences retain]; | |
67 | +} | |
68 | +- (BOOL)showImageWithURL:(NSURL *)imageURL | |
69 | +{ | |
70 | + NSString *urlString = [imageURL absoluteString]; | |
71 | + OGRegularExpression *exp; | |
72 | + | |
73 | + NSEnumerator *itemEnum = [items objectEnumerator]; | |
74 | + BSLinkConductorItem *item; | |
75 | + while(item = [itemEnum nextObject]) { | |
76 | + exp = [OGRegularExpression regularExpressionWithString:[item regularExpression]]; | |
77 | + if([exp matchInString:urlString]) { | |
78 | + if([item isUseLocalCopy]) { | |
79 | + [urlItemDict setObject:item forKey:imageURL]; | |
80 | + [self beginDownloadURL:imageURL]; | |
81 | + return YES; | |
82 | + } | |
83 | + return [self openLink:imageURL withItem:item]; | |
84 | + } | |
85 | + } | |
86 | + return NO; | |
87 | +} | |
88 | + | |
89 | +- (BOOL)validateLink:(NSURL *)anURL | |
90 | +{ | |
91 | + NSString *urlString = [anURL absoluteString]; | |
92 | + OGRegularExpression *exp; | |
93 | + | |
94 | + NSEnumerator *itemEnum = [items objectEnumerator]; | |
95 | + BSLinkConductorItem *item; | |
96 | + while(item = [itemEnum nextObject]) { | |
97 | + exp = [OGRegularExpression regularExpressionWithString:[item regularExpression]]; | |
98 | + UTILDebugWrite1(@"RE --> %@", [item regularExpression]); | |
99 | + | |
100 | + if([exp matchInString:urlString]) { | |
101 | + | |
102 | + UTILDebugWrite(@"Matched!!"); | |
103 | + | |
104 | + return YES; | |
105 | + } | |
106 | + } | |
107 | + | |
108 | + UTILDebugWrite(@"Unmatched!!!"); | |
109 | + | |
110 | + return NO; | |
111 | +} | |
112 | + | |
113 | +//- (IBAction)togglePreviewPanel:(id)sender | |
114 | +//{ | |
115 | +// BSLCPreferences *pref = [BSLCPreferences sharedInstance]; | |
116 | +// [pref setItems:items]; | |
117 | +// [pref showHideWindow:sender]; | |
118 | +//} | |
119 | + | |
120 | +// - (BOOL)showImagesWithURLs:(NSArray *)urls; | |
121 | +- (IBAction)showPreviewerPreferences:(id)sender | |
122 | +{ | |
123 | + BSLCPreferences *pref = [BSLCPreferences sharedInstance]; | |
124 | + [pref setItems:items]; | |
125 | + [pref showWindow:sender]; | |
126 | +} | |
127 | + | |
128 | +- (void)applicationWillTerminate:(NSNotification *)notification | |
129 | +{ | |
130 | + [self storeItemsArray]; | |
131 | + [tempFolder release]; | |
132 | +} | |
133 | +- (void)itemDidchanged:(NSNotification *)notification | |
134 | +{ | |
135 | + [self storeItemsArray]; | |
136 | +} | |
137 | + | |
138 | +- (BOOL)openLink:(NSURL *)anURL withItem:(BSLinkConductorItem *)item; | |
139 | +{ | |
140 | + NSWorkspaceLaunchOptions options = 0; | |
141 | + | |
142 | + if(!item) { | |
143 | + UTILDebugWrite1(@"%@, item is nil!!!", NSStringFromSelector(_cmd)); | |
144 | + return NO; | |
145 | + } | |
146 | + | |
147 | + if([item isOpenInBackground]) { | |
148 | + options |= NSWorkspaceLaunchWithoutActivation; | |
149 | + } | |
150 | + | |
151 | + NSWorkspace *ws = [NSWorkspace sharedWorkspace]; | |
152 | + BOOL result = [ws openURLs:[NSArray arrayWithObject:anURL] | |
153 | + withAppBundleIdentifier:[item targetIdentifier] | |
154 | + options:options | |
155 | +additionalEventParamDescriptor:nil | |
156 | + launchIdentifiers:NULL]; | |
157 | + | |
158 | + return result; | |
159 | +} | |
160 | + | |
161 | + | |
162 | +- (id)preferenceForKey:(NSString *)key | |
163 | +{ | |
164 | + return [[[self preferences] imagePreviewerPrefsDict] objectForKey:key]; | |
165 | +} | |
166 | +- (void)setPreference:(id)value forKey:(NSString *)key | |
167 | +{ | |
168 | + [[[self preferences] imagePreviewerPrefsDict] setObject:value forKey:key]; | |
169 | +} | |
170 | + | |
171 | +- (NSMutableArray *)savedItems | |
172 | +{ | |
173 | + NSData *itemsData = [self preferenceForKey:BSLCSavedItemsKey]; | |
174 | + if(!itemsData) { | |
175 | + UTILDebugWrite(@"itemsData is nil!!!"); | |
176 | + return [NSMutableArray array]; | |
177 | + } | |
178 | + | |
179 | + NSArray *itemsArray = [NSKeyedUnarchiver unarchiveObjectWithData:itemsData]; | |
180 | + if(![itemsArray isKindOfClass:[NSArray class]]) { | |
181 | + UTILDebugWrite(@"itemsArray is not NSArray!!!"); | |
182 | + return [NSMutableArray array]; | |
183 | + } | |
184 | + | |
185 | + return [NSMutableArray arrayWithArray:itemsArray]; | |
186 | +} | |
187 | +- (void)storeItemsArray | |
188 | +{ | |
189 | + NSData *itemsData = [NSKeyedArchiver archivedDataWithRootObject:items]; | |
190 | + if(!itemsData) { | |
191 | + UTILDebugWrite(@"Can not archive!!!"); | |
192 | + return; | |
193 | + } | |
194 | + | |
195 | + [self setPreference:itemsData forKey:BSLCSavedItemsKey]; | |
196 | + | |
197 | + UTILDebugWrite(@"Stored!!!"); | |
198 | +} | |
199 | + | |
200 | +- (NSString *)fileNameForURL:(NSURL *)anURL | |
201 | +{ | |
202 | + NSString *filename = [anURL absoluteString]; | |
203 | + NSArray *array = [filename componentsSeparatedByString:@"."]; | |
204 | + filename = [array componentsJoinedByString:@"-"]; | |
205 | + | |
206 | + filename = [[tempFolder path] stringByAppendingPathComponent:filename]; | |
207 | + | |
208 | + return filename; | |
209 | +} | |
210 | + | |
211 | +- (void)beginDownloadURL:(NSURL *)anURL | |
212 | +{ | |
213 | + NSURLRequest *req; | |
214 | + | |
215 | + req = [NSURLRequest requestWithURL:anURL | |
216 | + cachePolicy:NSURLRequestUseProtocolCachePolicy | |
217 | + timeoutInterval:10]; | |
218 | + | |
219 | + NSURLDownload *dl = [[NSURLDownload alloc] initWithRequest:req delegate:self]; | |
220 | + [dl autorelease]; | |
221 | +} | |
222 | +- (void)download:(NSURLDownload *)download decideDestinationWithSuggestedFilename:(NSString *)filename | |
223 | +{ | |
224 | + NSString *path = [[tempFolder path] stringByAppendingPathComponent:filename]; | |
225 | + | |
226 | + [download setDestination:path allowOverwrite:NO]; | |
227 | +} | |
228 | +- (void)download:(NSURLDownload *)download didCreateDestination:(NSString *)path | |
229 | +{ | |
230 | + NSURLRequest *req = [download request]; | |
231 | + NSURL *targetURL = [req URL]; | |
232 | + | |
233 | + [tempFileDict setObject:path forKey:targetURL]; | |
234 | +} | |
235 | +- (void)downloadDidFinish:(NSURLDownload *)download | |
236 | +{ | |
237 | + NSURLRequest *req = [download request]; | |
238 | + NSURL *targetURL = [req URL]; | |
239 | + | |
240 | + NSString *filepath = [[[tempFileDict objectForKey:targetURL] retain] autorelease]; | |
241 | + [tempFileDict removeObjectForKey:targetURL]; | |
242 | + | |
243 | + id item = [[[urlItemDict objectForKey:targetURL] retain] autorelease]; | |
244 | + [urlItemDict removeObjectForKey:targetURL]; | |
245 | + | |
246 | + NSURL *tagetFileURL = [NSURL fileURLWithPath:filepath]; | |
247 | + | |
248 | + [self openLink:tagetFileURL withItem:item]; | |
249 | +} | |
250 | +- (void)download:(NSURLDownload *)download didFailWithError:(NSError *)error | |
251 | +{ | |
252 | + NSURLRequest *req = [download request]; | |
253 | + NSURL *targetURL = [req URL]; | |
254 | + | |
255 | + [tempFileDict removeObjectForKey:targetURL]; | |
256 | + [urlItemDict removeObjectForKey:targetURL]; | |
257 | + | |
258 | + NSBeep(); | |
259 | +} | |
260 | +@end |
@@ -0,0 +1,330 @@ | ||
1 | +// !$*UTF8*$! | |
2 | +{ | |
3 | + archiveVersion = 1; | |
4 | + classes = { | |
5 | + }; | |
6 | + objectVersion = 45; | |
7 | + objects = { | |
8 | + | |
9 | +/* Begin PBXBuildFile section */ | |
10 | + 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; | |
11 | + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; | |
12 | + F4A2F3FE0F43170F00A84E18 /* BSLinkConductor.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A2F3FD0F43170F00A84E18 /* BSLinkConductor.m */; }; | |
13 | + F4A2F4020F4317A800A84E18 /* BSLinkConductorItem.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A2F4010F4317A800A84E18 /* BSLinkConductorItem.m */; }; | |
14 | + F4A2F5850F444CCD00A84E18 /* OgreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4A2F5340F4449BC00A84E18 /* OgreKit.framework */; }; | |
15 | + F4A2F5880F444E3000A84E18 /* BSLinkConductor.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4A2F5860F444E3000A84E18 /* BSLinkConductor.xib */; }; | |
16 | + F4A2F58D0F458DA900A84E18 /* BSLCPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A2F58C0F458DA900A84E18 /* BSLCPreferences.m */; }; | |
17 | + F4A2F97D0F4650DC00A84E18 /* HMTemporaryFolder.m in Sources */ = {isa = PBXBuildFile; fileRef = F4A2F97C0F4650DC00A84E18 /* HMTemporaryFolder.m */; }; | |
18 | +/* End PBXBuildFile section */ | |
19 | + | |
20 | +/* Begin PBXFileReference section */ | |
21 | + 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; | |
22 | + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; }; | |
23 | + 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; | |
24 | + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; | |
25 | + 32DBCF630370AF2F00C91783 /* BSLinkConductor_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSLinkConductor_Prefix.pch; sourceTree = "<group>"; }; | |
26 | + 8D5B49B6048680CD000E48DA /* BSLinkConductor.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BSLinkConductor.plugin; sourceTree = BUILT_PRODUCTS_DIR; }; | |
27 | + 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | |
28 | + D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; }; | |
29 | + F4A2F3FC0F43170F00A84E18 /* BSLinkConductor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSLinkConductor.h; sourceTree = "<group>"; }; | |
30 | + F4A2F3FD0F43170F00A84E18 /* BSLinkConductor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSLinkConductor.m; sourceTree = "<group>"; }; | |
31 | + F4A2F3FF0F43175300A84E18 /* BSImagePreviewerInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSImagePreviewerInterface.h; sourceTree = "<group>"; }; | |
32 | + F4A2F4000F4317A800A84E18 /* BSLinkConductorItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSLinkConductorItem.h; sourceTree = "<group>"; }; | |
33 | + F4A2F4010F4317A800A84E18 /* BSLinkConductorItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSLinkConductorItem.m; sourceTree = "<group>"; }; | |
34 | + F4A2F5340F4449BC00A84E18 /* OgreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OgreKit.framework; path = /Users/masaki/Library/Frameworks/OgreKit.framework; sourceTree = "<absolute>"; }; | |
35 | + F4A2F5870F444E3000A84E18 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/BSLinkConductor.xib; sourceTree = "<group>"; }; | |
36 | + F4A2F58B0F458DA900A84E18 /* BSLCPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSLCPreferences.h; sourceTree = "<group>"; }; | |
37 | + F4A2F58C0F458DA900A84E18 /* BSLCPreferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSLCPreferences.m; sourceTree = "<group>"; }; | |
38 | + F4A2F97B0F4650DC00A84E18 /* HMTemporaryFolder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMTemporaryFolder.h; sourceTree = "<group>"; }; | |
39 | + F4A2F97C0F4650DC00A84E18 /* HMTemporaryFolder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMTemporaryFolder.m; sourceTree = "<group>"; }; | |
40 | + F4A2FA0D0F4663FF00A84E18 /* UTILKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UTILKit.h; path = ../bathyscaphe/misc/utilkit/UTILKit.h; sourceTree = SOURCE_ROOT; }; | |
41 | + F4A2FA0E0F4663FF00A84E18 /* UTILError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UTILError.h; path = ../bathyscaphe/misc/utilkit/UTILError.h; sourceTree = SOURCE_ROOT; }; | |
42 | + F4A2FA0F0F4663FF00A84E18 /* UTILDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UTILDescription.h; path = ../bathyscaphe/misc/utilkit/UTILDescription.h; sourceTree = SOURCE_ROOT; }; | |
43 | + F4A2FA100F4663FF00A84E18 /* UTILDebugging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UTILDebugging.h; path = ../bathyscaphe/misc/utilkit/UTILDebugging.h; sourceTree = SOURCE_ROOT; }; | |
44 | + F4A2FA110F4663FF00A84E18 /* UTILAssertion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UTILAssertion.h; path = ../bathyscaphe/misc/utilkit/UTILAssertion.h; sourceTree = SOURCE_ROOT; }; | |
45 | +/* End PBXFileReference section */ | |
46 | + | |
47 | +/* Begin PBXFrameworksBuildPhase section */ | |
48 | + 8D5B49B3048680CD000E48DA /* Frameworks */ = { | |
49 | + isa = PBXFrameworksBuildPhase; | |
50 | + buildActionMask = 2147483647; | |
51 | + files = ( | |
52 | + 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, | |
53 | + F4A2F5850F444CCD00A84E18 /* OgreKit.framework in Frameworks */, | |
54 | + ); | |
55 | + runOnlyForDeploymentPostprocessing = 0; | |
56 | + }; | |
57 | +/* End PBXFrameworksBuildPhase section */ | |
58 | + | |
59 | +/* Begin PBXGroup section */ | |
60 | + 089C166AFE841209C02AAC07 /* BSConductor */ = { | |
61 | + isa = PBXGroup; | |
62 | + children = ( | |
63 | + 08FB77AFFE84173DC02AAC07 /* Classes */, | |
64 | + 32C88E010371C26100C91783 /* Other Sources */, | |
65 | + 089C167CFE841241C02AAC07 /* Resources */, | |
66 | + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, | |
67 | + 19C28FB8FE9D52D311CA2CBB /* Products */, | |
68 | + ); | |
69 | + name = BSConductor; | |
70 | + sourceTree = "<group>"; | |
71 | + }; | |
72 | + 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { | |
73 | + isa = PBXGroup; | |
74 | + children = ( | |
75 | + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, | |
76 | + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, | |
77 | + ); | |
78 | + name = "Frameworks and Libraries"; | |
79 | + sourceTree = "<group>"; | |
80 | + }; | |
81 | + 089C167CFE841241C02AAC07 /* Resources */ = { | |
82 | + isa = PBXGroup; | |
83 | + children = ( | |
84 | + F4A2F5860F444E3000A84E18 /* BSLinkConductor.xib */, | |
85 | + 8D5B49B7048680CD000E48DA /* Info.plist */, | |
86 | + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, | |
87 | + ); | |
88 | + name = Resources; | |
89 | + sourceTree = "<group>"; | |
90 | + }; | |
91 | + 08FB77AFFE84173DC02AAC07 /* Classes */ = { | |
92 | + isa = PBXGroup; | |
93 | + children = ( | |
94 | + F4A2F97B0F4650DC00A84E18 /* HMTemporaryFolder.h */, | |
95 | + F4A2F97C0F4650DC00A84E18 /* HMTemporaryFolder.m */, | |
96 | + F4A2F58B0F458DA900A84E18 /* BSLCPreferences.h */, | |
97 | + F4A2F58C0F458DA900A84E18 /* BSLCPreferences.m */, | |
98 | + F4A2F3FF0F43175300A84E18 /* BSImagePreviewerInterface.h */, | |
99 | + F4A2F4000F4317A800A84E18 /* BSLinkConductorItem.h */, | |
100 | + F4A2F4010F4317A800A84E18 /* BSLinkConductorItem.m */, | |
101 | + F4A2F3FC0F43170F00A84E18 /* BSLinkConductor.h */, | |
102 | + F4A2F3FD0F43170F00A84E18 /* BSLinkConductor.m */, | |
103 | + ); | |
104 | + name = Classes; | |
105 | + sourceTree = "<group>"; | |
106 | + }; | |
107 | + 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { | |
108 | + isa = PBXGroup; | |
109 | + children = ( | |
110 | + 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, | |
111 | + ); | |
112 | + name = "Linked Frameworks"; | |
113 | + sourceTree = "<group>"; | |
114 | + }; | |
115 | + 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { | |
116 | + isa = PBXGroup; | |
117 | + children = ( | |
118 | + F4A2F5340F4449BC00A84E18 /* OgreKit.framework */, | |
119 | + 089C167FFE841241C02AAC07 /* AppKit.framework */, | |
120 | + D2F7E65807B2D6F200F64583 /* CoreData.framework */, | |
121 | + 089C1672FE841209C02AAC07 /* Foundation.framework */, | |
122 | + ); | |
123 | + name = "Other Frameworks"; | |
124 | + sourceTree = "<group>"; | |
125 | + }; | |
126 | + 19C28FB8FE9D52D311CA2CBB /* Products */ = { | |
127 | + isa = PBXGroup; | |
128 | + children = ( | |
129 | + 8D5B49B6048680CD000E48DA /* BSLinkConductor.plugin */, | |
130 | + ); | |
131 | + name = Products; | |
132 | + sourceTree = "<group>"; | |
133 | + }; | |
134 | + 32C88E010371C26100C91783 /* Other Sources */ = { | |
135 | + isa = PBXGroup; | |
136 | + children = ( | |
137 | + F4A2FA0D0F4663FF00A84E18 /* UTILKit.h */, | |
138 | + F4A2FA0E0F4663FF00A84E18 /* UTILError.h */, | |
139 | + F4A2FA0F0F4663FF00A84E18 /* UTILDescription.h */, | |
140 | + F4A2FA100F4663FF00A84E18 /* UTILDebugging.h */, | |
141 | + F4A2FA110F4663FF00A84E18 /* UTILAssertion.h */, | |
142 | + 32DBCF630370AF2F00C91783 /* BSLinkConductor_Prefix.pch */, | |
143 | + ); | |
144 | + name = "Other Sources"; | |
145 | + sourceTree = "<group>"; | |
146 | + }; | |
147 | +/* End PBXGroup section */ | |
148 | + | |
149 | +/* Begin PBXNativeTarget section */ | |
150 | + 8D5B49AC048680CD000E48DA /* BSLinkConductor */ = { | |
151 | + isa = PBXNativeTarget; | |
152 | + buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "BSLinkConductor" */; | |
153 | + buildPhases = ( | |
154 | + 8D5B49AF048680CD000E48DA /* Resources */, | |
155 | + 8D5B49B1048680CD000E48DA /* Sources */, | |
156 | + 8D5B49B3048680CD000E48DA /* Frameworks */, | |
157 | + ); | |
158 | + buildRules = ( | |
159 | + ); | |
160 | + dependencies = ( | |
161 | + ); | |
162 | + name = BSLinkConductor; | |
163 | + productInstallPath = "$(HOME)/Library/Bundles"; | |
164 | + productName = BSConductor; | |
165 | + productReference = 8D5B49B6048680CD000E48DA /* BSLinkConductor.plugin */; | |
166 | + productType = "com.apple.product-type.bundle"; | |
167 | + }; | |
168 | +/* End PBXNativeTarget section */ | |
169 | + | |
170 | +/* Begin PBXProject section */ | |
171 | + 089C1669FE841209C02AAC07 /* Project object */ = { | |
172 | + isa = PBXProject; | |
173 | + buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "BSLinkConductor" */; | |
174 | + compatibilityVersion = "Xcode 3.1"; | |
175 | + hasScannedForEncodings = 1; | |
176 | + mainGroup = 089C166AFE841209C02AAC07 /* BSConductor */; | |
177 | + projectDirPath = ""; | |
178 | + projectRoot = ""; | |
179 | + targets = ( | |
180 | + 8D5B49AC048680CD000E48DA /* BSLinkConductor */, | |
181 | + ); | |
182 | + }; | |
183 | +/* End PBXProject section */ | |
184 | + | |
185 | +/* Begin PBXResourcesBuildPhase section */ | |
186 | + 8D5B49AF048680CD000E48DA /* Resources */ = { | |
187 | + isa = PBXResourcesBuildPhase; | |
188 | + buildActionMask = 2147483647; | |
189 | + files = ( | |
190 | + 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, | |
191 | + F4A2F5880F444E3000A84E18 /* BSLinkConductor.xib in Resources */, | |
192 | + ); | |
193 | + runOnlyForDeploymentPostprocessing = 0; | |
194 | + }; | |
195 | +/* End PBXResourcesBuildPhase section */ | |
196 | + | |
197 | +/* Begin PBXSourcesBuildPhase section */ | |
198 | + 8D5B49B1048680CD000E48DA /* Sources */ = { | |
199 | + isa = PBXSourcesBuildPhase; | |
200 | + buildActionMask = 2147483647; | |
201 | + files = ( | |
202 | + F4A2F3FE0F43170F00A84E18 /* BSLinkConductor.m in Sources */, | |
203 | + F4A2F4020F4317A800A84E18 /* BSLinkConductorItem.m in Sources */, | |
204 | + F4A2F58D0F458DA900A84E18 /* BSLCPreferences.m in Sources */, | |
205 | + F4A2F97D0F4650DC00A84E18 /* HMTemporaryFolder.m in Sources */, | |
206 | + ); | |
207 | + runOnlyForDeploymentPostprocessing = 0; | |
208 | + }; | |
209 | +/* End PBXSourcesBuildPhase section */ | |
210 | + | |
211 | +/* Begin PBXVariantGroup section */ | |
212 | + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { | |
213 | + isa = PBXVariantGroup; | |
214 | + children = ( | |
215 | + 089C167EFE841241C02AAC07 /* English */, | |
216 | + ); | |
217 | + name = InfoPlist.strings; | |
218 | + sourceTree = "<group>"; | |
219 | + }; | |
220 | + F4A2F5860F444E3000A84E18 /* BSLinkConductor.xib */ = { | |
221 | + isa = PBXVariantGroup; | |
222 | + children = ( | |
223 | + F4A2F5870F444E3000A84E18 /* English */, | |
224 | + ); | |
225 | + name = BSLinkConductor.xib; | |
226 | + sourceTree = "<group>"; | |
227 | + }; | |
228 | +/* End PBXVariantGroup section */ | |
229 | + | |
230 | +/* Begin XCBuildConfiguration section */ | |
231 | + 1DEB913B08733D840010E9CD /* Debug */ = { | |
232 | + isa = XCBuildConfiguration; | |
233 | + buildSettings = { | |
234 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
235 | + BUNDLE_LOADER = "$(HOME)/Applications/BathyScaphe.app/Contents/MacOS/BathyScaphe"; | |
236 | + COPY_PHASE_STRIP = NO; | |
237 | + DEPLOYMENT_LOCATION = YES; | |
238 | + DSTROOT = /; | |
239 | + FRAMEWORK_SEARCH_PATHS = ( | |
240 | + "$(inherited)", | |
241 | + /Users/masaki/Library/Frameworks, | |
242 | + ); | |
243 | + GCC_DYNAMIC_NO_PIC = NO; | |
244 | + GCC_ENABLE_FIX_AND_CONTINUE = YES; | |
245 | + GCC_MODEL_TUNING = G4; | |
246 | + GCC_OPTIMIZATION_LEVEL = 0; | |
247 | + GCC_PRECOMPILE_PREFIX_HEADER = YES; | |
248 | + GCC_PREFIX_HEADER = BSLinkConductor_Prefix.pch; | |
249 | + INFOPLIST_FILE = Info.plist; | |
250 | + INSTALL_PATH = "$(HOME)/Library/Application Support/BathyScaphe/PlugIns"; | |
251 | + OTHER_CFLAGS = ""; | |
252 | + PRODUCT_NAME = BSLinkConductor; | |
253 | + WRAPPER_EXTENSION = plugin; | |
254 | + }; | |
255 | + name = Debug; | |
256 | + }; | |
257 | + 1DEB913C08733D840010E9CD /* Release */ = { | |
258 | + isa = XCBuildConfiguration; | |
259 | + buildSettings = { | |
260 | + ALWAYS_SEARCH_USER_PATHS = NO; | |
261 | + BUNDLE_LOADER = "$(HOME)/Applications/BathyScaphe.app/Contents/MacOS/BathyScaphe"; | |
262 | + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
263 | + DEPLOYMENT_LOCATION = YES; | |
264 | + DSTROOT = /; | |
265 | + FRAMEWORK_SEARCH_PATHS = ( | |
266 | + "$(inherited)", | |
267 | + /Users/masaki/Library/Frameworks, | |
268 | + ); | |
269 | + GCC_MODEL_TUNING = G4; | |
270 | + GCC_PRECOMPILE_PREFIX_HEADER = YES; | |
271 | + GCC_PREFIX_HEADER = BSLinkConductor_Prefix.pch; | |
272 | + INFOPLIST_FILE = Info.plist; | |
273 | + INSTALL_PATH = "$(HOME)/Library/Application Support/BathyScaphe/PlugIns"; | |
274 | + OTHER_CFLAGS = "-DUTIL_BLOCK_DEBUG_WRITE"; | |
275 | + PRODUCT_NAME = BSLinkConductor; | |
276 | + WRAPPER_EXTENSION = plugin; | |
277 | + }; | |
278 | + name = Release; | |
279 | + }; | |
280 | + 1DEB913F08733D840010E9CD /* Debug */ = { | |
281 | + isa = XCBuildConfiguration; | |
282 | + buildSettings = { | |
283 | + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
284 | + GCC_C_LANGUAGE_STANDARD = c99; | |
285 | + GCC_OPTIMIZATION_LEVEL = 0; | |
286 | + GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
287 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
288 | + ONLY_ACTIVE_ARCH = YES; | |
289 | + PREBINDING = NO; | |
290 | + SDKROOT = macosx10.4; | |
291 | + }; | |
292 | + name = Debug; | |
293 | + }; | |
294 | + 1DEB914008733D840010E9CD /* Release */ = { | |
295 | + isa = XCBuildConfiguration; | |
296 | + buildSettings = { | |
297 | + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
298 | + GCC_C_LANGUAGE_STANDARD = c99; | |
299 | + GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
300 | + GCC_WARN_UNUSED_VARIABLE = YES; | |
301 | + PREBINDING = NO; | |
302 | + SDKROOT = macosx10.4; | |
303 | + }; | |
304 | + name = Release; | |
305 | + }; | |
306 | +/* End XCBuildConfiguration section */ | |
307 | + | |
308 | +/* Begin XCConfigurationList section */ | |
309 | + 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "BSLinkConductor" */ = { | |
310 | + isa = XCConfigurationList; | |
311 | + buildConfigurations = ( | |
312 | + 1DEB913B08733D840010E9CD /* Debug */, | |
313 | + 1DEB913C08733D840010E9CD /* Release */, | |
314 | + ); | |
315 | + defaultConfigurationIsVisible = 0; | |
316 | + defaultConfigurationName = Release; | |
317 | + }; | |
318 | + 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "BSLinkConductor" */ = { | |
319 | + isa = XCConfigurationList; | |
320 | + buildConfigurations = ( | |
321 | + 1DEB913F08733D840010E9CD /* Debug */, | |
322 | + 1DEB914008733D840010E9CD /* Release */, | |
323 | + ); | |
324 | + defaultConfigurationIsVisible = 0; | |
325 | + defaultConfigurationName = Release; | |
326 | + }; | |
327 | +/* End XCConfigurationList section */ | |
328 | + }; | |
329 | + rootObject = 089C1669FE841209C02AAC07 /* Project object */; | |
330 | +} |
@@ -0,0 +1,40 @@ | ||
1 | +// | |
2 | +// BSLinkConductorItem.h | |
3 | +// BSLinkConductor | |
4 | +// | |
5 | +// Created by Hori,Masaki on 09/02/11. | |
6 | +// Copyright 2009 masakih. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import <Cocoa/Cocoa.h> | |
10 | + | |
11 | + | |
12 | +@interface BSLinkConductorItem : NSObject <NSCoding, NSCopying> | |
13 | +{ | |
14 | + NSString *name; | |
15 | + NSString *regularExpression; | |
16 | + NSString *targetApplicationName; | |
17 | + | |
18 | + BOOL openInBackground; | |
19 | + BOOL useLocalCopy; | |
20 | + | |
21 | + NSString *targetIdentifier; | |
22 | +} | |
23 | + | |
24 | +- (NSString *)name; | |
25 | +- (void)setName:(NSString *)inName; | |
26 | +- (NSString *)regularExpression; | |
27 | +- (void)setRegularExpression:(NSString *)inRegularExpression; | |
28 | +- (NSString *)targetApplicationName; | |
29 | +- (void)setTargetApplicationName:(NSString *)inAppName; | |
30 | + | |
31 | +- (NSString *)targetIdentifier; | |
32 | + | |
33 | +- (BOOL)isOpenInBackground; | |
34 | +- (void)setOpenInBackground:(BOOL)flag; | |
35 | +- (BOOL)isUseLocalCopy; | |
36 | +- (void)setUseLocalCopy:(BOOL)flag; | |
37 | + | |
38 | +extern NSString *BSLCItemPastboardType; | |
39 | + | |
40 | +@end |
@@ -0,0 +1,153 @@ | ||
1 | +// | |
2 | +// BSLinkConductorItem.m | |
3 | +// BSLinkConductor | |
4 | +// | |
5 | +// Created by Hori,Masaki on 09/02/11. | |
6 | +// Copyright 2009 masakih. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "BSLinkConductorItem.h" | |
10 | + | |
11 | +NSString *BSLCItemPastboardType = @"BSLCItemPastboardType"; | |
12 | + | |
13 | +@interface BSLinkConductorItem (BSLCPrivate) | |
14 | +- (NSString *)defaultName; | |
15 | +@end | |
16 | + | |
17 | +static NSString *const BSLCItemNameKey = @"BSLCItemNameKey"; | |
18 | +static NSString *const BSLCItemREKey = @"BSLCItemREKey"; | |
19 | +static NSString *const BSLCItemAppNameKey = @"BSLCItemAppNameKey"; | |
20 | +static NSString *const BSLCItemOpenBGKey = @"BSLCItemOpenBGKey"; | |
21 | +static NSString *const BSLCItemUserCopyKey = @"BSLCItemUserCopyKey"; | |
22 | + | |
23 | +@implementation BSLinkConductorItem | |
24 | + | |
25 | +- (id)init | |
26 | +{ | |
27 | + if(self = [super init]) { | |
28 | + [self setName:[self defaultName]]; | |
29 | + [self setRegularExpression:@"http://.*"]; | |
30 | + [self setTargetApplicationName:@""]; | |
31 | + [self setOpenInBackground:NO]; | |
32 | + [self setUseLocalCopy:NO]; | |
33 | + } | |
34 | + | |
35 | + return self; | |
36 | +} | |
37 | + | |
38 | +- (NSString *)name | |
39 | +{ | |
40 | + return name; | |
41 | +} | |
42 | +- (void)setName:(NSString *)inName | |
43 | +{ | |
44 | + if([name isEqualToString:inName]) return; | |
45 | + | |
46 | + [name autorelease]; | |
47 | + name = [inName copyWithZone:[self zone]]; | |
48 | +} | |
49 | +- (NSString *)regularExpression | |
50 | +{ | |
51 | + return regularExpression; | |
52 | +} | |
53 | +- (void)setRegularExpression:(NSString *)inRegularExpression | |
54 | +{ | |
55 | + if([regularExpression isEqualToString:inRegularExpression]) return; | |
56 | + | |
57 | + [regularExpression autorelease]; | |
58 | + regularExpression = [inRegularExpression copyWithZone:[self zone]]; | |
59 | +} | |
60 | +- (NSString *)targetApplicationName | |
61 | +{ | |
62 | + return targetApplicationName; | |
63 | +} | |
64 | +- (void)setTargetApplicationName:(NSString *)inAppName | |
65 | +{ | |
66 | + if([targetApplicationName isEqualToString:inAppName]) return; | |
67 | + | |
68 | + [targetApplicationName autorelease]; | |
69 | + targetApplicationName = [inAppName copyWithZone:[self zone]]; | |
70 | + | |
71 | + NSWorkspace *ws = [NSWorkspace sharedWorkspace]; | |
72 | + NSString *fullPath = [ws fullPathForApplication:targetApplicationName]; | |
73 | + if(!fullPath) { | |
74 | + targetIdentifier = nil; | |
75 | + return; | |
76 | + } | |
77 | + NSBundle *bundle = [NSBundle bundleWithPath:fullPath]; | |
78 | + if(!bundle) { | |
79 | + targetIdentifier = nil; | |
80 | + return; | |
81 | + } | |
82 | + | |
83 | + targetIdentifier = [[bundle bundleIdentifier] copyWithZone:[self zone]]; | |
84 | +} | |
85 | + | |
86 | +- (NSString *)targetIdentifier | |
87 | +{ | |
88 | + return targetIdentifier; | |
89 | +} | |
90 | + | |
91 | +- (BOOL)isOpenInBackground | |
92 | +{ | |
93 | + return openInBackground; | |
94 | +} | |
95 | +- (void)setOpenInBackground:(BOOL)flag | |
96 | +{ | |
97 | + openInBackground = flag; | |
98 | +} | |
99 | +- (BOOL)isUseLocalCopy | |
100 | +{ | |
101 | + return useLocalCopy; | |
102 | +} | |
103 | +- (void)setUseLocalCopy:(BOOL)flag | |
104 | +{ | |
105 | + useLocalCopy = flag; | |
106 | +} | |
107 | + | |
108 | +- (id)copyWithZone:(NSZone *)zone | |
109 | +{ | |
110 | + BSLinkConductorItem *result = [[[self class] allocWithZone:zone] init]; | |
111 | + [result setName:name]; | |
112 | + [result setRegularExpression:regularExpression]; | |
113 | + [result setTargetApplicationName:targetApplicationName]; | |
114 | + [result setOpenInBackground:openInBackground]; | |
115 | + [result setUseLocalCopy:useLocalCopy]; | |
116 | + | |
117 | + return result; | |
118 | +} | |
119 | + | |
120 | +- (void)encodeWithCoder:(NSCoder *)aCoder | |
121 | +{ | |
122 | + [aCoder encodeObject:name forKey:BSLCItemNameKey]; | |
123 | + [aCoder encodeObject:regularExpression forKey:BSLCItemREKey]; | |
124 | + [aCoder encodeObject:targetApplicationName forKey:BSLCItemAppNameKey]; | |
125 | + [aCoder encodeBool:openInBackground forKey:BSLCItemOpenBGKey]; | |
126 | + [aCoder encodeBool:useLocalCopy forKey:BSLCItemUserCopyKey]; | |
127 | +} | |
128 | +- (id)initWithCoder:(NSCoder *)aDecoder | |
129 | +{ | |
130 | + self = [self init]; | |
131 | + [self setName:[aDecoder decodeObjectForKey:BSLCItemNameKey]]; | |
132 | + [self setRegularExpression:[aDecoder decodeObjectForKey:BSLCItemREKey]]; | |
133 | + [self setTargetApplicationName:[aDecoder decodeObjectForKey:BSLCItemAppNameKey]]; | |
134 | + [self setOpenInBackground:[aDecoder decodeBoolForKey:BSLCItemOpenBGKey]]; | |
135 | + [self setUseLocalCopy:[aDecoder decodeBoolForKey:BSLCItemUserCopyKey]]; | |
136 | + | |
137 | + return self; | |
138 | +} | |
139 | + | |
140 | +- (id)description | |
141 | +{ | |
142 | + return [NSString stringWithFormat:@"%@<%p> {name = %@, regularExpression = %@, targetApplicationName = %@", | |
143 | + NSStringFromClass([self class]), self, name, regularExpression, targetApplicationName]; | |
144 | +} | |
145 | + | |
146 | +@end | |
147 | + | |
148 | +@implementation BSLinkConductorItem (BSLCPrivate) | |
149 | +- (NSString *)defaultName | |
150 | +{ | |
151 | + return @"Untitled"; | |
152 | +} | |
153 | +@end |
@@ -0,0 +1,9 @@ | ||
1 | +// | |
2 | +// Prefix header for all source files of the 'BSConductor' target in the 'BSConductor' project. | |
3 | +// | |
4 | + | |
5 | +#ifdef __OBJC__ | |
6 | + #import <Cocoa/Cocoa.h> | |
7 | +#endif | |
8 | + | |
9 | +#include "UTILKit.h" | |
\ No newline at end of file |
@@ -0,0 +1,964 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02"> | |
3 | + <data> | |
4 | + <int key="IBDocument.SystemTarget">1050</int> | |
5 | + <string key="IBDocument.SystemVersion">9G55</string> | |
6 | + <string key="IBDocument.InterfaceBuilderVersion">672</string> | |
7 | + <string key="IBDocument.AppKitVersion">949.43</string> | |
8 | + <string key="IBDocument.HIToolboxVersion">353.00</string> | |
9 | + <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> | |
10 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
11 | + <integer value="4"/> | |
12 | + </object> | |
13 | + <object class="NSArray" key="IBDocument.PluginDependencies"> | |
14 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
15 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
16 | + </object> | |
17 | + <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> | |
18 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
19 | + <object class="NSCustomObject" id="1001"> | |
20 | + <string key="NSClassName">BSLCPreferences</string> | |
21 | + </object> | |
22 | + <object class="NSCustomObject" id="1003"> | |
23 | + <string key="NSClassName">FirstResponder</string> | |
24 | + </object> | |
25 | + <object class="NSCustomObject" id="1004"> | |
26 | + <string key="NSClassName">NSApplication</string> | |
27 | + </object> | |
28 | + <object class="NSWindowTemplate" id="603181971"> | |
29 | + <int key="NSWindowStyleMask">31</int> | |
30 | + <int key="NSWindowBacking">2</int> | |
31 | + <string key="NSWindowRect">{{431, 308}, {455, 247}}</string> | |
32 | + <int key="NSWTFlags">-469762048</int> | |
33 | + <string key="NSWindowTitle">BSLinkConductor</string> | |
34 | + <string key="NSWindowClass">NSPanel</string> | |
35 | + <nil key="NSViewClass"/> | |
36 | + <object class="NSView" key="NSWindowView" id="1033488523"> | |
37 | + <reference key="NSNextResponder"/> | |
38 | + <int key="NSvFlags">256</int> | |
39 | + <object class="NSMutableArray" key="NSSubviews"> | |
40 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
41 | + <object class="NSScrollView" id="875485297"> | |
42 | + <reference key="NSNextResponder" ref="1033488523"/> | |
43 | + <int key="NSvFlags">4370</int> | |
44 | + <object class="NSMutableArray" key="NSSubviews"> | |
45 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
46 | + <object class="NSClipView" id="521716472"> | |
47 | + <reference key="NSNextResponder" ref="875485297"/> | |
48 | + <int key="NSvFlags">2304</int> | |
49 | + <object class="NSMutableArray" key="NSSubviews"> | |
50 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
51 | + <object class="NSTableView" id="308580520"> | |
52 | + <reference key="NSNextResponder" ref="521716472"/> | |
53 | + <int key="NSvFlags">256</int> | |
54 | + <string key="NSFrameSize">{424, 175}</string> | |
55 | + <reference key="NSSuperview" ref="521716472"/> | |
56 | + <bool key="NSEnabled">YES</bool> | |
57 | + <object class="NSTableHeaderView" key="NSHeaderView" id="510862983"> | |
58 | + <reference key="NSNextResponder" ref="750437828"/> | |
59 | + <int key="NSvFlags">256</int> | |
60 | + <string key="NSFrameSize">{424, 17}</string> | |
61 | + <reference key="NSSuperview" ref="750437828"/> | |
62 | + <reference key="NSTableView" ref="308580520"/> | |
63 | + </object> | |
64 | + <object class="_NSCornerView" key="NSCornerView" id="883121389"> | |
65 | + <reference key="NSNextResponder" ref="875485297"/> | |
66 | + <int key="NSvFlags">256</int> | |
67 | + <string key="NSFrame">{{425, 0}, {12, 17}}</string> | |
68 | + <reference key="NSSuperview" ref="875485297"/> | |
69 | + </object> | |
70 | + <object class="NSMutableArray" key="NSTableColumns"> | |
71 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
72 | + <object class="NSTableColumn" id="887882295"> | |
73 | + <string key="NSIdentifier">Name</string> | |
74 | + <double key="NSWidth">6.800000e+01</double> | |
75 | + <double key="NSMinWidth">4.000000e+01</double> | |
76 | + <double key="NSMaxWidth">1.000000e+03</double> | |
77 | + <object class="NSTableHeaderCell" key="NSHeaderCell"> | |
78 | + <int key="NSCellFlags">75628032</int> | |
79 | + <int key="NSCellFlags2">0</int> | |
80 | + <string key="NSContents">Name</string> | |
81 | + <object class="NSFont" key="NSSupport" id="26"> | |
82 | + <string key="NSName">LucidaGrande</string> | |
83 | + <double key="NSSize">1.100000e+01</double> | |
84 | + <int key="NSfFlags">3100</int> | |
85 | + </object> | |
86 | + <object class="NSColor" key="NSBackgroundColor" id="601406669"> | |
87 | + <int key="NSColorSpace">3</int> | |
88 | + <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes> | |
89 | + </object> | |
90 | + <object class="NSColor" key="NSTextColor" id="1041861352"> | |
91 | + <int key="NSColorSpace">6</int> | |
92 | + <string key="NSCatalogName">System</string> | |
93 | + <string key="NSColorName">headerTextColor</string> | |
94 | + <object class="NSColor" key="NSColor" id="79423318"> | |
95 | + <int key="NSColorSpace">3</int> | |
96 | + <bytes key="NSWhite">MAA</bytes> | |
97 | + </object> | |
98 | + </object> | |
99 | + </object> | |
100 | + <object class="NSTextFieldCell" key="NSDataCell" id="245253640"> | |
101 | + <int key="NSCellFlags">337772096</int> | |
102 | + <int key="NSCellFlags2">133120</int> | |
103 | + <string key="NSContents">Text Cell</string> | |
104 | + <reference key="NSSupport" ref="26"/> | |
105 | + <reference key="NSControlView" ref="308580520"/> | |
106 | + <object class="NSColor" key="NSBackgroundColor" id="633812740"> | |
107 | + <int key="NSColorSpace">6</int> | |
108 | + <string key="NSCatalogName">System</string> | |
109 | + <string key="NSColorName">controlBackgroundColor</string> | |
110 | + <object class="NSColor" key="NSColor"> | |
111 | + <int key="NSColorSpace">3</int> | |
112 | + <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes> | |
113 | + </object> | |
114 | + </object> | |
115 | + <object class="NSColor" key="NSTextColor" id="47626547"> | |
116 | + <int key="NSColorSpace">6</int> | |
117 | + <string key="NSCatalogName">System</string> | |
118 | + <string key="NSColorName">controlTextColor</string> | |
119 | + <reference key="NSColor" ref="79423318"/> | |
120 | + </object> | |
121 | + </object> | |
122 | + <int key="NSResizingMask">3</int> | |
123 | + <bool key="NSIsResizeable">YES</bool> | |
124 | + <bool key="NSIsEditable">YES</bool> | |
125 | + <reference key="NSTableView" ref="308580520"/> | |
126 | + </object> | |
127 | + <object class="NSTableColumn" id="926303854"> | |
128 | + <string key="NSIdentifier">RegularExpression</string> | |
129 | + <double key="NSWidth">1.530000e+02</double> | |
130 | + <double key="NSMinWidth">4.000000e+01</double> | |
131 | + <double key="NSMaxWidth">1.000000e+03</double> | |
132 | + <object class="NSTableHeaderCell" key="NSHeaderCell"> | |
133 | + <int key="NSCellFlags">75628032</int> | |
134 | + <int key="NSCellFlags2">0</int> | |
135 | + <string key="NSContents">RegularExpression</string> | |
136 | + <reference key="NSSupport" ref="26"/> | |
137 | + <reference key="NSBackgroundColor" ref="601406669"/> | |
138 | + <reference key="NSTextColor" ref="1041861352"/> | |
139 | + </object> | |
140 | + <object class="NSTextFieldCell" key="NSDataCell" id="1020348066"> | |
141 | + <int key="NSCellFlags">337772096</int> | |
142 | + <int key="NSCellFlags2">133120</int> | |
143 | + <string key="NSContents">Text Cell</string> | |
144 | + <reference key="NSSupport" ref="26"/> | |
145 | + <reference key="NSControlView" ref="308580520"/> | |
146 | + <reference key="NSBackgroundColor" ref="633812740"/> | |
147 | + <reference key="NSTextColor" ref="47626547"/> | |
148 | + </object> | |
149 | + <int key="NSResizingMask">3</int> | |
150 | + <bool key="NSIsResizeable">YES</bool> | |
151 | + <bool key="NSIsEditable">YES</bool> | |
152 | + <reference key="NSTableView" ref="308580520"/> | |
153 | + </object> | |
154 | + <object class="NSTableColumn" id="613743811"> | |
155 | + <string key="NSIdentifier">Application</string> | |
156 | + <double key="NSWidth">9.100000e+01</double> | |
157 | + <double key="NSMinWidth">1.000000e+01</double> | |
158 | + <double key="NSMaxWidth">3.402823e+38</double> | |
159 | + <object class="NSTableHeaderCell" key="NSHeaderCell"> | |
160 | + <int key="NSCellFlags">75628032</int> | |
161 | + <int key="NSCellFlags2">0</int> | |
162 | + <string key="NSContents">Application</string> | |
163 | + <reference key="NSSupport" ref="26"/> | |
164 | + <object class="NSColor" key="NSBackgroundColor" id="531457817"> | |
165 | + <int key="NSColorSpace">6</int> | |
166 | + <string key="NSCatalogName">System</string> | |
167 | + <string key="NSColorName">headerColor</string> | |
168 | + <object class="NSColor" key="NSColor" id="243688011"> | |
169 | + <int key="NSColorSpace">3</int> | |
170 | + <bytes key="NSWhite">MQA</bytes> | |
171 | + </object> | |
172 | + </object> | |
173 | + <reference key="NSTextColor" ref="1041861352"/> | |
174 | + </object> | |
175 | + <object class="NSTextFieldCell" key="NSDataCell" id="363562574"> | |
176 | + <int key="NSCellFlags">337772096</int> | |
177 | + <int key="NSCellFlags2">133120</int> | |
178 | + <string key="NSContents">Text Cell</string> | |
179 | + <reference key="NSSupport" ref="26"/> | |
180 | + <reference key="NSControlView" ref="308580520"/> | |
181 | + <reference key="NSBackgroundColor" ref="633812740"/> | |
182 | + <reference key="NSTextColor" ref="47626547"/> | |
183 | + </object> | |
184 | + <int key="NSResizingMask">3</int> | |
185 | + <bool key="NSIsResizeable">YES</bool> | |
186 | + <bool key="NSIsEditable">YES</bool> | |
187 | + <reference key="NSTableView" ref="308580520"/> | |
188 | + </object> | |
189 | + <object class="NSTableColumn" id="994667907"> | |
190 | + <string key="NSIdentifier">In BG</string> | |
191 | + <double key="NSWidth">3.900000e+01</double> | |
192 | + <double key="NSMinWidth">1.000000e+01</double> | |
193 | + <double key="NSMaxWidth">3.402823e+38</double> | |
194 | + <object class="NSTableHeaderCell" key="NSHeaderCell"> | |
195 | + <int key="NSCellFlags">75628032</int> | |
196 | + <int key="NSCellFlags2">0</int> | |
197 | + <string key="NSContents">In BG</string> | |
198 | + <reference key="NSSupport" ref="26"/> | |
199 | + <reference key="NSBackgroundColor" ref="531457817"/> | |
200 | + <reference key="NSTextColor" ref="1041861352"/> | |
201 | + </object> | |
202 | + <object class="NSButtonCell" key="NSDataCell" id="885278046"> | |
203 | + <int key="NSCellFlags">67239424</int> | |
204 | + <int key="NSCellFlags2">131072</int> | |
205 | + <string key="NSContents">Check</string> | |
206 | + <reference key="NSSupport" ref="26"/> | |
207 | + <reference key="NSControlView" ref="308580520"/> | |
208 | + <int key="NSButtonFlags">1215582719</int> | |
209 | + <int key="NSButtonFlags2">130</int> | |
210 | + <object class="NSCustomResource" key="NSNormalImage" id="439190054"> | |
211 | + <string key="NSClassName">NSImage</string> | |
212 | + <string key="NSResourceName">NSSwitch</string> | |
213 | + </object> | |
214 | + <object class="NSButtonImageSource" key="NSAlternateImage" id="608106293"> | |
215 | + <string key="NSImageName">NSSwitch</string> | |
216 | + </object> | |
217 | + <string key="NSAlternateContents"/> | |
218 | + <string key="NSKeyEquivalent"/> | |
219 | + <int key="NSPeriodicDelay">200</int> | |
220 | + <int key="NSPeriodicInterval">25</int> | |
221 | + </object> | |
222 | + <int key="NSResizingMask">3</int> | |
223 | + <bool key="NSIsResizeable">YES</bool> | |
224 | + <bool key="NSIsEditable">YES</bool> | |
225 | + <reference key="NSTableView" ref="308580520"/> | |
226 | + </object> | |
227 | + <object class="NSTableColumn" id="556370847"> | |
228 | + <string key="NSIdentifier">Use Copy</string> | |
229 | + <double key="NSWidth">5.800000e+01</double> | |
230 | + <double key="NSMinWidth">1.000000e+01</double> | |
231 | + <double key="NSMaxWidth">3.402823e+38</double> | |
232 | + <object class="NSTableHeaderCell" key="NSHeaderCell"> | |
233 | + <int key="NSCellFlags">75628032</int> | |
234 | + <int key="NSCellFlags2">0</int> | |
235 | + <string key="NSContents">Use Copy</string> | |
236 | + <reference key="NSSupport" ref="26"/> | |
237 | + <reference key="NSBackgroundColor" ref="531457817"/> | |
238 | + <reference key="NSTextColor" ref="1041861352"/> | |
239 | + </object> | |
240 | + <object class="NSButtonCell" key="NSDataCell" id="955433170"> | |
241 | + <int key="NSCellFlags">67239424</int> | |
242 | + <int key="NSCellFlags2">131072</int> | |
243 | + <string key="NSContents">Check</string> | |
244 | + <reference key="NSSupport" ref="26"/> | |
245 | + <reference key="NSControlView" ref="308580520"/> | |
246 | + <int key="NSButtonFlags">1215582719</int> | |
247 | + <int key="NSButtonFlags2">130</int> | |
248 | + <reference key="NSNormalImage" ref="439190054"/> | |
249 | + <reference key="NSAlternateImage" ref="608106293"/> | |
250 | + <string key="NSAlternateContents"/> | |
251 | + <string key="NSKeyEquivalent"/> | |
252 | + <int key="NSPeriodicDelay">200</int> | |
253 | + <int key="NSPeriodicInterval">25</int> | |
254 | + </object> | |
255 | + <int key="NSResizingMask">3</int> | |
256 | + <bool key="NSIsResizeable">YES</bool> | |
257 | + <bool key="NSIsEditable">YES</bool> | |
258 | + <reference key="NSTableView" ref="308580520"/> | |
259 | + </object> | |
260 | + </object> | |
261 | + <double key="NSIntercellSpacingWidth">3.000000e+00</double> | |
262 | + <double key="NSIntercellSpacingHeight">2.000000e+00</double> | |
263 | + <reference key="NSBackgroundColor" ref="243688011"/> | |
264 | + <object class="NSColor" key="NSGridColor"> | |
265 | + <int key="NSColorSpace">6</int> | |
266 | + <string key="NSCatalogName">System</string> | |
267 | + <string key="NSColorName">gridColor</string> | |
268 | + <object class="NSColor" key="NSColor"> | |
269 | + <int key="NSColorSpace">3</int> | |
270 | + <bytes key="NSWhite">MC41AA</bytes> | |
271 | + </object> | |
272 | + </object> | |
273 | + <double key="NSRowHeight">1.300000e+01</double> | |
274 | + <int key="NSTvFlags">-742391808</int> | |
275 | + <string key="NSAutosaveName">com.masakih.BSLinkConductor.ItemTable</string> | |
276 | + <int key="NSGridStyleMask">1</int> | |
277 | + <int key="NSColumnAutoresizingStyle">4</int> | |
278 | + <int key="NSDraggingSourceMaskForLocal">15</int> | |
279 | + <int key="NSDraggingSourceMaskForNonLocal">0</int> | |
280 | + <bool key="NSAllowsTypeSelect">YES</bool> | |
281 | + </object> | |
282 | + </object> | |
283 | + <string key="NSFrame">{{1, 17}, {424, 175}}</string> | |
284 | + <reference key="NSSuperview" ref="875485297"/> | |
285 | + <reference key="NSNextKeyView" ref="308580520"/> | |
286 | + <reference key="NSDocView" ref="308580520"/> | |
287 | + <reference key="NSBGColor" ref="633812740"/> | |
288 | + <int key="NScvFlags">4</int> | |
289 | + </object> | |
290 | + <object class="NSScroller" id="185254258"> | |
291 | + <reference key="NSNextResponder" ref="875485297"/> | |
292 | + <int key="NSvFlags">256</int> | |
293 | + <string key="NSFrame">{{425, 17}, {11, 175}}</string> | |
294 | + <reference key="NSSuperview" ref="875485297"/> | |
295 | + <int key="NSsFlags">256</int> | |
296 | + <reference key="NSTarget" ref="875485297"/> | |
297 | + <string key="NSAction">_doScroller:</string> | |
298 | + <double key="NSCurValue">3.700000e+01</double> | |
299 | + <double key="NSPercent">1.947368e-01</double> | |
300 | + </object> | |
301 | + <object class="NSScroller" id="853155826"> | |
302 | + <reference key="NSNextResponder" ref="875485297"/> | |
303 | + <int key="NSvFlags">256</int> | |
304 | + <string key="NSFrame">{{1, 192}, {424, 11}}</string> | |
305 | + <reference key="NSSuperview" ref="875485297"/> | |
306 | + <int key="NSsFlags">257</int> | |
307 | + <reference key="NSTarget" ref="875485297"/> | |
308 | + <string key="NSAction">_doScroller:</string> | |
309 | + <double key="NSPercent">9.976470e-01</double> | |
310 | + </object> | |
311 | + <object class="NSClipView" id="750437828"> | |
312 | + <reference key="NSNextResponder" ref="875485297"/> | |
313 | + <int key="NSvFlags">2304</int> | |
314 | + <object class="NSMutableArray" key="NSSubviews"> | |
315 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
316 | + <reference ref="510862983"/> | |
317 | + </object> | |
318 | + <string key="NSFrame">{{1, 0}, {424, 17}}</string> | |
319 | + <reference key="NSSuperview" ref="875485297"/> | |
320 | + <reference key="NSNextKeyView" ref="510862983"/> | |
321 | + <reference key="NSDocView" ref="510862983"/> | |
322 | + <reference key="NSBGColor" ref="633812740"/> | |
323 | + <int key="NScvFlags">4</int> | |
324 | + </object> | |
325 | + <reference ref="883121389"/> | |
326 | + </object> | |
327 | + <string key="NSFrame">{{10, 35}, {437, 204}}</string> | |
328 | + <reference key="NSSuperview" ref="1033488523"/> | |
329 | + <reference key="NSNextKeyView" ref="521716472"/> | |
330 | + <int key="NSsFlags">50</int> | |
331 | + <reference key="NSVScroller" ref="185254258"/> | |
332 | + <reference key="NSHScroller" ref="853155826"/> | |
333 | + <reference key="NSContentView" ref="521716472"/> | |
334 | + <reference key="NSHeaderClipView" ref="750437828"/> | |
335 | + <reference key="NSCornerView" ref="883121389"/> | |
336 | + <bytes key="NSScrollAmts">QSAAAEEgAABBcAAAQXAAAA</bytes> | |
337 | + </object> | |
338 | + <object class="NSButton" id="849781457"> | |
339 | + <reference key="NSNextResponder" ref="1033488523"/> | |
340 | + <int key="NSvFlags">256</int> | |
341 | + <string key="NSFrame">{{10, 6}, {21, 21}}</string> | |
342 | + <reference key="NSSuperview" ref="1033488523"/> | |
343 | + <bool key="NSEnabled">YES</bool> | |
344 | + <object class="NSButtonCell" key="NSCell" id="204998340"> | |
345 | + <int key="NSCellFlags">67239424</int> | |
346 | + <int key="NSCellFlags2">134348800</int> | |
347 | + <string key="NSContents"/> | |
348 | + <reference key="NSSupport" ref="26"/> | |
349 | + <reference key="NSControlView" ref="849781457"/> | |
350 | + <int key="NSButtonFlags">-2033958657</int> | |
351 | + <int key="NSButtonFlags2">134</int> | |
352 | + <object class="NSCustomResource" key="NSNormalImage"> | |
353 | + <string key="NSClassName">NSImage</string> | |
354 | + <string key="NSResourceName">NSAddTemplate</string> | |
355 | + </object> | |
356 | + <string key="NSAlternateContents"/> | |
357 | + <string key="NSKeyEquivalent"/> | |
358 | + <int key="NSPeriodicDelay">400</int> | |
359 | + <int key="NSPeriodicInterval">75</int> | |
360 | + </object> | |
361 | + </object> | |
362 | + <object class="NSButton" id="223208632"> | |
363 | + <reference key="NSNextResponder" ref="1033488523"/> | |
364 | + <int key="NSvFlags">256</int> | |
365 | + <string key="NSFrame">{{30, 6}, {21, 21}}</string> | |
366 | + <reference key="NSSuperview" ref="1033488523"/> | |
367 | + <bool key="NSEnabled">YES</bool> | |
368 | + <object class="NSButtonCell" key="NSCell" id="822089540"> | |
369 | + <int key="NSCellFlags">67239424</int> | |
370 | + <int key="NSCellFlags2">134348800</int> | |
371 | + <string key="NSContents"/> | |
372 | + <reference key="NSSupport" ref="26"/> | |
373 | + <reference key="NSControlView" ref="223208632"/> | |
374 | + <int key="NSButtonFlags">-2033958657</int> | |
375 | + <int key="NSButtonFlags2">134</int> | |
376 | + <object class="NSCustomResource" key="NSNormalImage"> | |
377 | + <string key="NSClassName">NSImage</string> | |
378 | + <string key="NSResourceName">NSRemoveTemplate</string> | |
379 | + </object> | |
380 | + <string key="NSAlternateContents"/> | |
381 | + <string key="NSKeyEquivalent"/> | |
382 | + <int key="NSPeriodicDelay">400</int> | |
383 | + <int key="NSPeriodicInterval">75</int> | |
384 | + </object> | |
385 | + </object> | |
386 | + </object> | |
387 | + <string key="NSFrameSize">{455, 247}</string> | |
388 | + <reference key="NSSuperview"/> | |
389 | + </object> | |
390 | + <string key="NSScreenRect">{{0, 0}, {1280, 832}}</string> | |
391 | + <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> | |
392 | + <string key="NSFrameAutosaveName"/> | |
393 | + </object> | |
394 | + <object class="NSArrayController" id="778735177"> | |
395 | + <object class="NSMutableArray" key="NSDeclaredKeys"> | |
396 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
397 | + <string>name</string> | |
398 | + <string>regularExpression</string> | |
399 | + <string>targetApplicationName</string> | |
400 | + <string>openInBackground</string> | |
401 | + <string>useLocalCopy</string> | |
402 | + </object> | |
403 | + <string key="NSObjectClassName">BSLinkConductorItem</string> | |
404 | + <bool key="NSEditable">YES</bool> | |
405 | + <bool key="NSAutomaticallyPreparesContent">YES</bool> | |
406 | + <object class="_NSManagedProxy" key="_NSManagedProxy"/> | |
407 | + <bool key="NSPreservesSelection">YES</bool> | |
408 | + <bool key="NSSelectsInsertedObjects">YES</bool> | |
409 | + <bool key="NSFilterRestrictsInsertion">YES</bool> | |
410 | + <bool key="NSClearsFilterPredicateOnInsertion">YES</bool> | |
411 | + </object> | |
412 | + </object> | |
413 | + <object class="IBObjectContainer" key="IBDocument.Objects"> | |
414 | + <object class="NSMutableArray" key="connectionRecords"> | |
415 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
416 | + <object class="IBConnectionRecord"> | |
417 | + <object class="IBBindingConnection" key="connection"> | |
418 | + <string key="label">value: arrangedObjects.name</string> | |
419 | + <reference key="source" ref="887882295"/> | |
420 | + <reference key="destination" ref="778735177"/> | |
421 | + <object class="NSNibBindingConnector" key="connector"> | |
422 | + <reference key="NSSource" ref="887882295"/> | |
423 | + <reference key="NSDestination" ref="778735177"/> | |
424 | + <string key="NSLabel">value: arrangedObjects.name</string> | |
425 | + <string key="NSBinding">value</string> | |
426 | + <string key="NSKeyPath">arrangedObjects.name</string> | |
427 | + <object class="NSDictionary" key="NSOptions"> | |
428 | + <string key="NS.key.0">NSCreatesSortDescriptor</string> | |
429 | + <integer value="0" key="NS.object.0" id="6"/> | |
430 | + </object> | |
431 | + <int key="NSNibBindingConnectorVersion">2</int> | |
432 | + </object> | |
433 | + </object> | |
434 | + <int key="connectionID">28</int> | |
435 | + </object> | |
436 | + <object class="IBConnectionRecord"> | |
437 | + <object class="IBBindingConnection" key="connection"> | |
438 | + <string key="label">value: arrangedObjects.regularExpression</string> | |
439 | + <reference key="source" ref="926303854"/> | |
440 | + <reference key="destination" ref="778735177"/> | |
441 | + <object class="NSNibBindingConnector" key="connector"> | |
442 | + <reference key="NSSource" ref="926303854"/> | |
443 | + <reference key="NSDestination" ref="778735177"/> | |
444 | + <string key="NSLabel">value: arrangedObjects.regularExpression</string> | |
445 | + <string key="NSBinding">value</string> | |
446 | + <string key="NSKeyPath">arrangedObjects.regularExpression</string> | |
447 | + <object class="NSDictionary" key="NSOptions"> | |
448 | + <string key="NS.key.0">NSCreatesSortDescriptor</string> | |
449 | + <reference key="NS.object.0" ref="6"/> | |
450 | + </object> | |
451 | + <int key="NSNibBindingConnectorVersion">2</int> | |
452 | + </object> | |
453 | + </object> | |
454 | + <int key="connectionID">29</int> | |
455 | + </object> | |
456 | + <object class="IBConnectionRecord"> | |
457 | + <object class="IBBindingConnection" key="connection"> | |
458 | + <string key="label">value: arrangedObjects.targetApplicationName</string> | |
459 | + <reference key="source" ref="613743811"/> | |
460 | + <reference key="destination" ref="778735177"/> | |
461 | + <object class="NSNibBindingConnector" key="connector"> | |
462 | + <reference key="NSSource" ref="613743811"/> | |
463 | + <reference key="NSDestination" ref="778735177"/> | |
464 | + <string key="NSLabel">value: arrangedObjects.targetApplicationName</string> | |
465 | + <string key="NSBinding">value</string> | |
466 | + <string key="NSKeyPath">arrangedObjects.targetApplicationName</string> | |
467 | + <object class="NSDictionary" key="NSOptions"> | |
468 | + <string key="NS.key.0">NSCreatesSortDescriptor</string> | |
469 | + <reference key="NS.object.0" ref="6"/> | |
470 | + </object> | |
471 | + <int key="NSNibBindingConnectorVersion">2</int> | |
472 | + </object> | |
473 | + </object> | |
474 | + <int key="connectionID">30</int> | |
475 | + </object> | |
476 | + <object class="IBConnectionRecord"> | |
477 | + <object class="IBOutletConnection" key="connection"> | |
478 | + <string key="label">window</string> | |
479 | + <reference key="source" ref="1001"/> | |
480 | + <reference key="destination" ref="603181971"/> | |
481 | + </object> | |
482 | + <int key="connectionID">31</int> | |
483 | + </object> | |
484 | + <object class="IBConnectionRecord"> | |
485 | + <object class="IBBindingConnection" key="connection"> | |
486 | + <string key="label">contentArray: items</string> | |
487 | + <reference key="source" ref="778735177"/> | |
488 | + <reference key="destination" ref="1001"/> | |
489 | + <object class="NSNibBindingConnector" key="connector"> | |
490 | + <reference key="NSSource" ref="778735177"/> | |
491 | + <reference key="NSDestination" ref="1001"/> | |
492 | + <string key="NSLabel">contentArray: items</string> | |
493 | + <string key="NSBinding">contentArray</string> | |
494 | + <string key="NSKeyPath">items</string> | |
495 | + <object class="NSDictionary" key="NSOptions"> | |
496 | + <string key="NS.key.0">NSValidatesImmediately</string> | |
497 | + <integer value="1" key="NS.object.0" id="5"/> | |
498 | + </object> | |
499 | + <int key="NSNibBindingConnectorVersion">2</int> | |
500 | + </object> | |
501 | + </object> | |
502 | + <int key="connectionID">35</int> | |
503 | + </object> | |
504 | + <object class="IBConnectionRecord"> | |
505 | + <object class="IBOutletConnection" key="connection"> | |
506 | + <string key="label">tableView</string> | |
507 | + <reference key="source" ref="1001"/> | |
508 | + <reference key="destination" ref="308580520"/> | |
509 | + </object> | |
510 | + <int key="connectionID">36</int> | |
511 | + </object> | |
512 | + <object class="IBConnectionRecord"> | |
513 | + <object class="IBOutletConnection" key="connection"> | |
514 | + <string key="label">itemsController</string> | |
515 | + <reference key="source" ref="1001"/> | |
516 | + <reference key="destination" ref="778735177"/> | |
517 | + </object> | |
518 | + <int key="connectionID">42</int> | |
519 | + </object> | |
520 | + <object class="IBConnectionRecord"> | |
521 | + <object class="IBBindingConnection" key="connection"> | |
522 | + <string key="label">enabled: canRemove</string> | |
523 | + <reference key="source" ref="223208632"/> | |
524 | + <reference key="destination" ref="778735177"/> | |
525 | + <object class="NSNibBindingConnector" key="connector"> | |
526 | + <reference key="NSSource" ref="223208632"/> | |
527 | + <reference key="NSDestination" ref="778735177"/> | |
528 | + <string key="NSLabel">enabled: canRemove</string> | |
529 | + <string key="NSBinding">enabled</string> | |
530 | + <string key="NSKeyPath">canRemove</string> | |
531 | + <int key="NSNibBindingConnectorVersion">2</int> | |
532 | + </object> | |
533 | + </object> | |
534 | + <int key="connectionID">45</int> | |
535 | + </object> | |
536 | + <object class="IBConnectionRecord"> | |
537 | + <object class="IBBindingConnection" key="connection"> | |
538 | + <string key="label">enabled: canAdd</string> | |
539 | + <reference key="source" ref="849781457"/> | |
540 | + <reference key="destination" ref="778735177"/> | |
541 | + <object class="NSNibBindingConnector" key="connector"> | |
542 | + <reference key="NSSource" ref="849781457"/> | |
543 | + <reference key="NSDestination" ref="778735177"/> | |
544 | + <string key="NSLabel">enabled: canAdd</string> | |
545 | + <string key="NSBinding">enabled</string> | |
546 | + <string key="NSKeyPath">canAdd</string> | |
547 | + <int key="NSNibBindingConnectorVersion">2</int> | |
548 | + </object> | |
549 | + </object> | |
550 | + <int key="connectionID">46</int> | |
551 | + </object> | |
552 | + <object class="IBConnectionRecord"> | |
553 | + <object class="IBActionConnection" key="connection"> | |
554 | + <string key="label">add:</string> | |
555 | + <reference key="source" ref="1001"/> | |
556 | + <reference key="destination" ref="849781457"/> | |
557 | + </object> | |
558 | + <int key="connectionID">48</int> | |
559 | + </object> | |
560 | + <object class="IBConnectionRecord"> | |
561 | + <object class="IBActionConnection" key="connection"> | |
562 | + <string key="label">remove:</string> | |
563 | + <reference key="source" ref="1001"/> | |
564 | + <reference key="destination" ref="223208632"/> | |
565 | + </object> | |
566 | + <int key="connectionID">59</int> | |
567 | + </object> | |
568 | + <object class="IBConnectionRecord"> | |
569 | + <object class="IBOutletConnection" key="connection"> | |
570 | + <string key="label">dataSource</string> | |
571 | + <reference key="source" ref="308580520"/> | |
572 | + <reference key="destination" ref="1001"/> | |
573 | + </object> | |
574 | + <int key="connectionID">60</int> | |
575 | + </object> | |
576 | + <object class="IBConnectionRecord"> | |
577 | + <object class="IBOutletConnection" key="connection"> | |
578 | + <string key="label">delegate</string> | |
579 | + <reference key="source" ref="308580520"/> | |
580 | + <reference key="destination" ref="1001"/> | |
581 | + </object> | |
582 | + <int key="connectionID">61</int> | |
583 | + </object> | |
584 | + <object class="IBConnectionRecord"> | |
585 | + <object class="IBBindingConnection" key="connection"> | |
586 | + <string key="label">value: arrangedObjects.openInBackground</string> | |
587 | + <reference key="source" ref="994667907"/> | |
588 | + <reference key="destination" ref="778735177"/> | |
589 | + <object class="NSNibBindingConnector" key="connector"> | |
590 | + <reference key="NSSource" ref="994667907"/> | |
591 | + <reference key="NSDestination" ref="778735177"/> | |
592 | + <string key="NSLabel">value: arrangedObjects.openInBackground</string> | |
593 | + <string key="NSBinding">value</string> | |
594 | + <string key="NSKeyPath">arrangedObjects.openInBackground</string> | |
595 | + <object class="NSDictionary" key="NSOptions"> | |
596 | + <string key="NS.key.0">NSCreatesSortDescriptor</string> | |
597 | + <reference key="NS.object.0" ref="6"/> | |
598 | + </object> | |
599 | + <int key="NSNibBindingConnectorVersion">2</int> | |
600 | + </object> | |
601 | + </object> | |
602 | + <int key="connectionID">62</int> | |
603 | + </object> | |
604 | + <object class="IBConnectionRecord"> | |
605 | + <object class="IBBindingConnection" key="connection"> | |
606 | + <string key="label">value: arrangedObjects.useLocalCopy</string> | |
607 | + <reference key="source" ref="556370847"/> | |
608 | + <reference key="destination" ref="778735177"/> | |
609 | + <object class="NSNibBindingConnector" key="connector"> | |
610 | + <reference key="NSSource" ref="556370847"/> | |
611 | + <reference key="NSDestination" ref="778735177"/> | |
612 | + <string key="NSLabel">value: arrangedObjects.useLocalCopy</string> | |
613 | + <string key="NSBinding">value</string> | |
614 | + <string key="NSKeyPath">arrangedObjects.useLocalCopy</string> | |
615 | + <object class="NSDictionary" key="NSOptions"> | |
616 | + <string key="NS.key.0">NSCreatesSortDescriptor</string> | |
617 | + <reference key="NS.object.0" ref="6"/> | |
618 | + </object> | |
619 | + <int key="NSNibBindingConnectorVersion">2</int> | |
620 | + </object> | |
621 | + </object> | |
622 | + <int key="connectionID">63</int> | |
623 | + </object> | |
624 | + </object> | |
625 | + <object class="IBMutableOrderedSet" key="objectRecords"> | |
626 | + <object class="NSArray" key="orderedObjects"> | |
627 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
628 | + <object class="IBObjectRecord"> | |
629 | + <int key="objectID">0</int> | |
630 | + <object class="NSArray" key="object" id="1002"> | |
631 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
632 | + </object> | |
633 | + <reference key="children" ref="1000"/> | |
634 | + <nil key="parent"/> | |
635 | + </object> | |
636 | + <object class="IBObjectRecord"> | |
637 | + <int key="objectID">-2</int> | |
638 | + <reference key="object" ref="1001"/> | |
639 | + <reference key="parent" ref="1002"/> | |
640 | + <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> | |
641 | + </object> | |
642 | + <object class="IBObjectRecord"> | |
643 | + <int key="objectID">-1</int> | |
644 | + <reference key="object" ref="1003"/> | |
645 | + <reference key="parent" ref="1002"/> | |
646 | + <string key="objectName">First Responder</string> | |
647 | + </object> | |
648 | + <object class="IBObjectRecord"> | |
649 | + <int key="objectID">-3</int> | |
650 | + <reference key="object" ref="1004"/> | |
651 | + <reference key="parent" ref="1002"/> | |
652 | + <string key="objectName">Application</string> | |
653 | + </object> | |
654 | + <object class="IBObjectRecord"> | |
655 | + <int key="objectID">3</int> | |
656 | + <reference key="object" ref="603181971"/> | |
657 | + <object class="NSMutableArray" key="children"> | |
658 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
659 | + <reference ref="1033488523"/> | |
660 | + </object> | |
661 | + <reference key="parent" ref="1002"/> | |
662 | + </object> | |
663 | + <object class="IBObjectRecord"> | |
664 | + <int key="objectID">4</int> | |
665 | + <reference key="object" ref="1033488523"/> | |
666 | + <object class="NSMutableArray" key="children"> | |
667 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
668 | + <reference ref="875485297"/> | |
669 | + <reference ref="849781457"/> | |
670 | + <reference ref="223208632"/> | |
671 | + </object> | |
672 | + <reference key="parent" ref="603181971"/> | |
673 | + </object> | |
674 | + <object class="IBObjectRecord"> | |
675 | + <int key="objectID">5</int> | |
676 | + <reference key="object" ref="875485297"/> | |
677 | + <object class="NSMutableArray" key="children"> | |
678 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
679 | + <reference ref="185254258"/> | |
680 | + <reference ref="853155826"/> | |
681 | + <reference ref="308580520"/> | |
682 | + <reference ref="510862983"/> | |
683 | + </object> | |
684 | + <reference key="parent" ref="1033488523"/> | |
685 | + </object> | |
686 | + <object class="IBObjectRecord"> | |
687 | + <int key="objectID">6</int> | |
688 | + <reference key="object" ref="185254258"/> | |
689 | + <reference key="parent" ref="875485297"/> | |
690 | + </object> | |
691 | + <object class="IBObjectRecord"> | |
692 | + <int key="objectID">7</int> | |
693 | + <reference key="object" ref="853155826"/> | |
694 | + <reference key="parent" ref="875485297"/> | |
695 | + </object> | |
696 | + <object class="IBObjectRecord"> | |
697 | + <int key="objectID">8</int> | |
698 | + <reference key="object" ref="308580520"/> | |
699 | + <object class="NSMutableArray" key="children"> | |
700 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
701 | + <reference ref="887882295"/> | |
702 | + <reference ref="926303854"/> | |
703 | + <reference ref="613743811"/> | |
704 | + <reference ref="994667907"/> | |
705 | + <reference ref="556370847"/> | |
706 | + </object> | |
707 | + <reference key="parent" ref="875485297"/> | |
708 | + </object> | |
709 | + <object class="IBObjectRecord"> | |
710 | + <int key="objectID">9</int> | |
711 | + <reference key="object" ref="510862983"/> | |
712 | + <reference key="parent" ref="875485297"/> | |
713 | + </object> | |
714 | + <object class="IBObjectRecord"> | |
715 | + <int key="objectID">10</int> | |
716 | + <reference key="object" ref="887882295"/> | |
717 | + <object class="NSMutableArray" key="children"> | |
718 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
719 | + <reference ref="245253640"/> | |
720 | + </object> | |
721 | + <reference key="parent" ref="308580520"/> | |
722 | + </object> | |
723 | + <object class="IBObjectRecord"> | |
724 | + <int key="objectID">11</int> | |
725 | + <reference key="object" ref="926303854"/> | |
726 | + <object class="NSMutableArray" key="children"> | |
727 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
728 | + <reference ref="1020348066"/> | |
729 | + </object> | |
730 | + <reference key="parent" ref="308580520"/> | |
731 | + </object> | |
732 | + <object class="IBObjectRecord"> | |
733 | + <int key="objectID">12</int> | |
734 | + <reference key="object" ref="1020348066"/> | |
735 | + <reference key="parent" ref="926303854"/> | |
736 | + </object> | |
737 | + <object class="IBObjectRecord"> | |
738 | + <int key="objectID">13</int> | |
739 | + <reference key="object" ref="245253640"/> | |
740 | + <reference key="parent" ref="887882295"/> | |
741 | + </object> | |
742 | + <object class="IBObjectRecord"> | |
743 | + <int key="objectID">14</int> | |
744 | + <reference key="object" ref="613743811"/> | |
745 | + <object class="NSMutableArray" key="children"> | |
746 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
747 | + <reference ref="363562574"/> | |
748 | + </object> | |
749 | + <reference key="parent" ref="308580520"/> | |
750 | + </object> | |
751 | + <object class="IBObjectRecord"> | |
752 | + <int key="objectID">15</int> | |
753 | + <reference key="object" ref="363562574"/> | |
754 | + <reference key="parent" ref="613743811"/> | |
755 | + </object> | |
756 | + <object class="IBObjectRecord"> | |
757 | + <int key="objectID">16</int> | |
758 | + <reference key="object" ref="778735177"/> | |
759 | + <reference key="parent" ref="1002"/> | |
760 | + <string key="objectName">LinkConductorItems</string> | |
761 | + </object> | |
762 | + <object class="IBObjectRecord"> | |
763 | + <int key="objectID">20</int> | |
764 | + <reference key="object" ref="849781457"/> | |
765 | + <object class="NSMutableArray" key="children"> | |
766 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
767 | + <reference ref="204998340"/> | |
768 | + </object> | |
769 | + <reference key="parent" ref="1033488523"/> | |
770 | + </object> | |
771 | + <object class="IBObjectRecord"> | |
772 | + <int key="objectID">21</int> | |
773 | + <reference key="object" ref="204998340"/> | |
774 | + <reference key="parent" ref="849781457"/> | |
775 | + </object> | |
776 | + <object class="IBObjectRecord"> | |
777 | + <int key="objectID">24</int> | |
778 | + <reference key="object" ref="223208632"/> | |
779 | + <object class="NSMutableArray" key="children"> | |
780 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
781 | + <reference ref="822089540"/> | |
782 | + </object> | |
783 | + <reference key="parent" ref="1033488523"/> | |
784 | + </object> | |
785 | + <object class="IBObjectRecord"> | |
786 | + <int key="objectID">25</int> | |
787 | + <reference key="object" ref="822089540"/> | |
788 | + <reference key="parent" ref="223208632"/> | |
789 | + </object> | |
790 | + <object class="IBObjectRecord"> | |
791 | + <int key="objectID">49</int> | |
792 | + <reference key="object" ref="994667907"/> | |
793 | + <object class="NSMutableArray" key="children"> | |
794 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
795 | + <reference ref="885278046"/> | |
796 | + </object> | |
797 | + <reference key="parent" ref="308580520"/> | |
798 | + </object> | |
799 | + <object class="IBObjectRecord"> | |
800 | + <int key="objectID">51</int> | |
801 | + <reference key="object" ref="556370847"/> | |
802 | + <object class="NSMutableArray" key="children"> | |
803 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
804 | + <reference ref="955433170"/> | |
805 | + </object> | |
806 | + <reference key="parent" ref="308580520"/> | |
807 | + </object> | |
808 | + <object class="IBObjectRecord"> | |
809 | + <int key="objectID">57</int> | |
810 | + <reference key="object" ref="885278046"/> | |
811 | + <reference key="parent" ref="994667907"/> | |
812 | + </object> | |
813 | + <object class="IBObjectRecord"> | |
814 | + <int key="objectID">58</int> | |
815 | + <reference key="object" ref="955433170"/> | |
816 | + <reference key="parent" ref="556370847"/> | |
817 | + </object> | |
818 | + </object> | |
819 | + </object> | |
820 | + <object class="NSMutableDictionary" key="flattenedProperties"> | |
821 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
822 | + <object class="NSMutableArray" key="dict.sortedKeys"> | |
823 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
824 | + <string>-1.IBPluginDependency</string> | |
825 | + <string>-2.IBPluginDependency</string> | |
826 | + <string>-3.IBPluginDependency</string> | |
827 | + <string>10.IBPluginDependency</string> | |
828 | + <string>11.IBPluginDependency</string> | |
829 | + <string>12.IBPluginDependency</string> | |
830 | + <string>13.IBPluginDependency</string> | |
831 | + <string>16.IBPluginDependency</string> | |
832 | + <string>20.IBPluginDependency</string> | |
833 | + <string>21.IBPluginDependency</string> | |
834 | + <string>24.IBPluginDependency</string> | |
835 | + <string>25.IBPluginDependency</string> | |
836 | + <string>3.IBEditorWindowLastContentRect</string> | |
837 | + <string>3.IBPluginDependency</string> | |
838 | + <string>3.IBWindowTemplateEditedContentRect</string> | |
839 | + <string>3.NSWindowTemplate.visibleAtLaunch</string> | |
840 | + <string>4.IBPluginDependency</string> | |
841 | + <string>5.IBPluginDependency</string> | |
842 | + <string>57.IBPluginDependency</string> | |
843 | + <string>58.IBPluginDependency</string> | |
844 | + <string>6.IBPluginDependency</string> | |
845 | + <string>7.IBPluginDependency</string> | |
846 | + <string>8.IBPluginDependency</string> | |
847 | + <string>9.IBPluginDependency</string> | |
848 | + </object> | |
849 | + <object class="NSMutableArray" key="dict.values"> | |
850 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
851 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
852 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
853 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
854 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
855 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
856 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
857 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
858 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
859 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
860 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
861 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
862 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
863 | + <string>{{431, 308}, {455, 247}}</string> | |
864 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
865 | + <string>{{431, 308}, {455, 247}}</string> | |
866 | + <reference ref="5"/> | |
867 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
868 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
869 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
870 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
871 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
872 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
873 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
874 | + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> | |
875 | + </object> | |
876 | + </object> | |
877 | + <object class="NSMutableDictionary" key="unlocalizedProperties"> | |
878 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
879 | + <object class="NSArray" key="dict.sortedKeys"> | |
880 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
881 | + </object> | |
882 | + <object class="NSMutableArray" key="dict.values"> | |
883 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
884 | + </object> | |
885 | + </object> | |
886 | + <nil key="activeLocalization"/> | |
887 | + <object class="NSMutableDictionary" key="localizations"> | |
888 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
889 | + <object class="NSArray" key="dict.sortedKeys"> | |
890 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
891 | + </object> | |
892 | + <object class="NSMutableArray" key="dict.values"> | |
893 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
894 | + </object> | |
895 | + </object> | |
896 | + <nil key="sourceID"/> | |
897 | + <int key="maxID">63</int> | |
898 | + </object> | |
899 | + <object class="IBClassDescriber" key="IBDocument.Classes"> | |
900 | + <object class="NSMutableArray" key="referencedPartialClassDescriptions"> | |
901 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
902 | + <object class="IBPartialClassDescription"> | |
903 | + <string key="className">BSLCPreferences</string> | |
904 | + <string key="superclassName">NSWindowController</string> | |
905 | + <object class="NSMutableDictionary" key="actions"> | |
906 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
907 | + <object class="NSMutableArray" key="dict.sortedKeys"> | |
908 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
909 | + <string>add:</string> | |
910 | + <string>remove:</string> | |
911 | + <string>showHideWindow:</string> | |
912 | + </object> | |
913 | + <object class="NSMutableArray" key="dict.values"> | |
914 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
915 | + <string>id</string> | |
916 | + <string>id</string> | |
917 | + <string>id</string> | |
918 | + </object> | |
919 | + </object> | |
920 | + <object class="NSMutableDictionary" key="outlets"> | |
921 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
922 | + <object class="NSMutableArray" key="dict.sortedKeys"> | |
923 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
924 | + <string>itemsController</string> | |
925 | + <string>tableView</string> | |
926 | + </object> | |
927 | + <object class="NSMutableArray" key="dict.values"> | |
928 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
929 | + <string>NSArrayController</string> | |
930 | + <string>NSTableView</string> | |
931 | + </object> | |
932 | + </object> | |
933 | + <object class="IBClassDescriptionSource" key="sourceIdentifier"> | |
934 | + <string key="majorKey">IBProjectSource</string> | |
935 | + <string key="minorKey">BSLCPreferences.h</string> | |
936 | + </object> | |
937 | + </object> | |
938 | + <object class="IBPartialClassDescription"> | |
939 | + <string key="className">NSObject</string> | |
940 | + <object class="NSMutableDictionary" key="actions"> | |
941 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
942 | + <object class="NSMutableArray" key="dict.sortedKeys"> | |
943 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
944 | + <string>showPreviewerPreferences:</string> | |
945 | + <string>togglePreviewPanel:</string> | |
946 | + </object> | |
947 | + <object class="NSMutableArray" key="dict.values"> | |
948 | + <bool key="EncodedWithXMLCoder">YES</bool> | |
949 | + <string>id</string> | |
950 | + <string>id</string> | |
951 | + </object> | |
952 | + </object> | |
953 | + <object class="IBClassDescriptionSource" key="sourceIdentifier"> | |
954 | + <string key="majorKey">IBProjectSource</string> | |
955 | + <string key="minorKey">BSImagePreviewerInterface.h</string> | |
956 | + </object> | |
957 | + </object> | |
958 | + </object> | |
959 | + </object> | |
960 | + <int key="IBDocument.localizationMode">0</int> | |
961 | + <string key="IBDocument.LastKnownRelativeProjectPath">../BSLinkConductor.xcodeproj</string> | |
962 | + <int key="IBDocument.defaultPropertyAccessControl">3</int> | |
963 | + </data> | |
964 | +</archive> |
@@ -0,0 +1,12 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | + <key>BSPreviewerDisplayName</key> | |
6 | + <string>BSLinkConductor 1.0</string> | |
7 | + <key>NSHumanReadableCopyright</key> | |
8 | + <string>copyright 2009 masakih</string> | |
9 | + <key>CFBundleGetInfoString</key> | |
10 | + <string>BSLinkConductor 1.0 copyright 2009 masakih</string> | |
11 | +</dict> | |
12 | +</plist> |
@@ -0,0 +1,23 @@ | ||
1 | +// | |
2 | +// HMTemporaryFolder.h | |
3 | +// IconSetComposer | |
4 | +// | |
5 | +// Created by Hori,Masaki on 05/08/15. | |
6 | +// Copyright 2005 __MyCompanyName__. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import <Cocoa/Cocoa.h> | |
10 | + | |
11 | + | |
12 | +@interface HMTemporaryFolder : NSObject | |
13 | +{ | |
14 | + NSString *_path; | |
15 | +} | |
16 | + | |
17 | ++(id)temporaryFolder; | |
18 | +-(id)init; | |
19 | + | |
20 | +-(NSString *)path; | |
21 | +-(NSURL *)url; | |
22 | + | |
23 | +@end |
@@ -0,0 +1,91 @@ | ||
1 | +// | |
2 | +// HMTemporaryFolder.m | |
3 | +// IconSetComposer | |
4 | +// | |
5 | +// Created by Hori,Masaki on 05/08/15. | |
6 | +// Copyright 2005 __MyCompanyName__. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +#import "HMTemporaryFolder.h" | |
10 | + | |
11 | + | |
12 | +@implementation HMTemporaryFolder | |
13 | + | |
14 | +-(NSString *)appName | |
15 | +{ | |
16 | + NSBundle *b = [NSBundle mainBundle]; | |
17 | + | |
18 | + return [b objectForInfoDictionaryKey:@"CFBundleName"]; | |
19 | +} | |
20 | + | |
21 | ++(id)temporaryFolder | |
22 | +{ | |
23 | + return [[[[self class] alloc] init] autorelease]; | |
24 | +} | |
25 | +-(id)init | |
26 | +{ | |
27 | + if( self = [super init] ) { | |
28 | + NSFileManager *fm = [NSFileManager defaultManager]; | |
29 | + NSString *tmpDir = NSTemporaryDirectory(); | |
30 | + NSString *appName = [self appName]; | |
31 | + BOOL created = NO; | |
32 | + | |
33 | + do { | |
34 | + NSString *folderName; | |
35 | + folderName = [NSString stringWithFormat:@"%@-%@", | |
36 | + appName, | |
37 | + [[NSCalendarDate dateWithTimeIntervalSinceNow:0.0] | |
38 | + descriptionWithCalendarFormat:@"%Y%m%d%H%M%S%F"] ]; | |
39 | + _path = [tmpDir stringByAppendingPathComponent:folderName]; | |
40 | + | |
41 | + if( ![fm fileExistsAtPath:_path] && | |
42 | + [fm createDirectoryAtPath:_path attributes:nil] ) { | |
43 | + created = YES; | |
44 | + } | |
45 | + } while( !created ); | |
46 | + | |
47 | + [_path retain]; | |
48 | + } | |
49 | + | |
50 | + return self; | |
51 | +} | |
52 | + | |
53 | +-(void)dealloc | |
54 | +{ | |
55 | +#ifdef DEBUG | |
56 | + NSLog(@"Satrt Dealocate HMTemporaryFolder(%@)", self ); | |
57 | +#endif | |
58 | + | |
59 | +// [fm removeFileAtPath:_path handler:nil]; | |
60 | + NSTask *rmTask = [[NSTask alloc] init]; | |
61 | + | |
62 | + [rmTask setLaunchPath:@"/bin/rm"]; | |
63 | + [rmTask setArguments:[NSArray arrayWithObjects:@"-rf", _path, nil]]; | |
64 | + [rmTask launch]; | |
65 | + [rmTask waitUntilExit]; | |
66 | + [rmTask release]; | |
67 | + | |
68 | + [_path release]; | |
69 | + | |
70 | +#ifdef DEBUG | |
71 | + NSLog(@"End Dealocate HMTemporaryFolder" ); | |
72 | +#endif | |
73 | + | |
74 | + [super dealloc]; | |
75 | +} | |
76 | + | |
77 | +-(NSString *)path | |
78 | +{ | |
79 | + return [NSString stringWithString:_path]; | |
80 | +} | |
81 | +-(NSURL *)url | |
82 | +{ | |
83 | + return [NSURL fileURLWithPath:_path]; | |
84 | +} | |
85 | + | |
86 | +-(id)description | |
87 | +{ | |
88 | + return [self path]; | |
89 | +} | |
90 | + | |
91 | +@end |
@@ -0,0 +1,30 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
3 | +<plist version="1.0"> | |
4 | +<dict> | |
5 | + <key>CFBundleShortVersionString</key> | |
6 | + <string>1.0</string> | |
7 | + <key>CFBundleDevelopmentRegion</key> | |
8 | + <string>English</string> | |
9 | + <key>CFBundleExecutable</key> | |
10 | + <string>${EXECUTABLE_NAME}</string> | |
11 | + <key>CFBundleIconFile</key> | |
12 | + <string></string> | |
13 | + <key>CFBundleIdentifier</key> | |
14 | + <string>com.masakih.${PRODUCT_NAME:identifier}</string> | |
15 | + <key>CFBundleInfoDictionaryVersion</key> | |
16 | + <string>6.0</string> | |
17 | + <key>CFBundleName</key> | |
18 | + <string>${PRODUCT_NAME}</string> | |
19 | + <key>CFBundlePackageType</key> | |
20 | + <string>BNDL</string> | |
21 | + <key>CFBundleShortVersionString</key> | |
22 | + <string>1.0</string> | |
23 | + <key>CFBundleSignature</key> | |
24 | + <string>????</string> | |
25 | + <key>CFBundleVersion</key> | |
26 | + <string>%%%%REVISION%%%%</string> | |
27 | + <key>NSPrincipalClass</key> | |
28 | + <string>BSLinkConductor</string> | |
29 | +</dict> | |
30 | +</plist> |
@@ -0,0 +1,57 @@ | ||
1 | +// encoding=utf-8 | |
2 | +PRODUCT_NAME=BSLinkConductor | |
3 | +PRODUCT_EXTENSION=app | |
4 | +BUILD_PATH=./build | |
5 | +DEPLOYMENT=Release | |
6 | +APP_BUNDLE=$(PRODUCT_NAME).$(PRODUCT_EXTENSION) | |
7 | +APP=$(BUILD_PATH)/$(DEPLOYMENT)/$(APP_BUNDLE) | |
8 | +APP_NAME=$(BUILD_PATH)/$(DEPLOYMENT)/$(PRODUCT_NAME) | |
9 | +INFO_PLIST=Info.plist | |
10 | + | |
11 | +URL_BSLinkConductor = svn+ssh://macmini/usr/local/svnrepos/BSLinkConductor | |
12 | +HEAD = $(URL_BSLinkConductor)/BSLinkConductor | |
13 | +TAGS_DIR = $(URL_BSLinkConductor)/tags | |
14 | + | |
15 | +VER_CMD=grep -A1 'CFBundleShortVersionString' $(INFO_PLIST) | tail -1 | tr -d "'\t</string>" | |
16 | +VERSION=$(shell $(VER_CMD)) | |
17 | + | |
18 | +all: | |
19 | + @echo do nothig. | |
20 | + @echo use target tagging | |
21 | + | |
22 | +tagging: update_svn | |
23 | + @echo "Tagging the $(VERSION) (x) release of BSLinkConductor project." | |
24 | + @echo "" | |
25 | + @REV=`LC_ALL=C svn info | awk '/Last Changed Rev/ {print $$4}'` ; \ | |
26 | + echo svn copy $(HEAD) $(TAGS_DIR)/release-$(VERSION).$${REV} | |
27 | + | |
28 | +Localizable: | |
29 | + genstrings -o English.lproj $^ | |
30 | + (cd English.lproj; ${MAKE} $@;) | |
31 | + genstrings -o Japanese.lproj $^ | |
32 | + (cd Japanese.lproj; ${MAKE} $@;) | |
33 | + | |
34 | +checkLocalizable: | |
35 | + (cd English.lproj; ${MAKE} $@;) | |
36 | + (cd Japanese.lproj; ${MAKE} $@;) | |
37 | + | |
38 | +release: updateRevision | |
39 | + xcodebuild -configuration $(DEPLOYMENT) | |
40 | + $(MAKE) restorInfoPlist | |
41 | + | |
42 | +package: release | |
43 | + REV=`LC_ALL=C svn info | awk '/Last Changed Rev/ {print $$4}'`; \ | |
44 | + ditto -ck -rsrc --keepParent $(APP) $(APP_NAME)-$(VERSION)-$${REV}.zip | |
45 | + | |
46 | +updateRevision: update_svn | |
47 | + if [ ! -f $(INFO_PLIST).bak ] ; then cp $(INFO_PLIST) $(INFO_PLIST).bak ; fi ; \ | |
48 | + REV=`LC_ALL=C svn info | awk '/Last Changed Rev/ {print $$4}'` ; \ | |
49 | + sed -e "s/%%%%REVISION%%%%/$${REV}/" $(INFO_PLIST) > $(INFO_PLIST).r ; \ | |
50 | + mv -f $(INFO_PLIST).r $(INFO_PLIST) ; \ | |
51 | + | |
52 | +restorInfoPlist: | |
53 | + if [ -f $(INFO_PLIST).bak ] ; then mv -f $(INFO_PLIST).bak $(INFO_PLIST) ; fi | |
54 | + | |
55 | +update_svn: | |
56 | + svn up | |
57 | + |