-
Notifications
You must be signed in to change notification settings - Fork 0
/
MyDocumentController.m
75 lines (57 loc) · 1.86 KB
/
MyDocumentController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//
// MyDocumentController.m
// CSVManipulator
//
// Created by Pascal Pfiffner on 30.08.09.
// This sourcecode is released under the Apache License, Version 2.0
// http://www.apache.org/licenses/LICENSE-2.0.html
//
#import "MyDocumentController.h"
@implementation MyDocumentController
@synthesize openPanelAccessoryView;
@synthesize openPanelFilename;
- (void) dealloc
{
self.openPanelAccessoryView = nil;
self.openPanelFilename = nil;
[super dealloc];
}
#pragma mark - Open Panel
- (void)panelSelectionDidChange:(id)sender
{
NSArray *curFiles = [sender filenames];
if ([curFiles count] > 0) {
NSString *firstName = [curFiles objectAtIndex:0];
[openPanelFilename setStringValue:firstName];
}
/*
NSDictionary *fAttrs = [[NSFileManager defaultManager] fileAttributesAtPath:curPath traverseLink:YES];
if (fAttrs != nil) {
[infoFile setStringValue: [curPath lastPathComponent]];
[infoMod setStringValue: [[fAttrs objectForKey:NSFileModificationDate] descriptionWithCalendarFormat:@"%a, %b %d, %Y %H:%M:%S" timeZone:nil locale:nil]];
[infoOwner setStringValue: [fAttrs objectForKey: NSFileOwnerAccountName]];
[infoGroup setStringValue: [fAttrs objectForKey: NSFileGroupOwnerAccountName]];
}
*/
}
- (void)openDocument:(id)sender
{
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
// configure the panel
[openPanel setDelegate:self];
[openPanel setAccessoryView:openPanelAccessoryView];
NSArray *fileTypes = nil;
[openPanel setAllowsMultipleSelection:YES];
// open all selected files
NSInteger result = [openPanel runModalForDirectory:nil file:nil types:fileTypes];
if (result == NSOKButton) {
for (NSURL *filePath in [openPanel URLs]) {
NSError *error;
// file could not be opened
if (nil == [self openDocumentWithContentsOfURL:filePath display:YES error:&error]) {
[self presentError:error];
}
}
}
}
@end