Skip to content

Commit 9ad6e91

Browse files
authored
Merge pull request #75 from mangerlahn/fix-open-panel
Fix open panel only accepting files
2 parents 070e312 + 3b6e0bd commit 9ad6e91

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

Classes/Controllers/ApplicationController.m

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,26 @@ - (void) windowWillClose: sender
130130
[firstResponder terminate: sender];
131131
}
132132

133+
//Override the default behavior
134+
- (IBAction)openDocument:(id)sender {
135+
NSOpenPanel* panel = [[NSOpenPanel alloc] init];
136+
137+
[panel setCanChooseFiles:false];
138+
[panel setCanChooseDirectories:true];
139+
140+
[panel beginWithCompletionHandler:^(NSInteger result) {
141+
if (result == NSFileHandlingPanelOKButton) {
142+
PBRepositoryDocumentController* controller = [PBRepositoryDocumentController sharedDocumentController];
143+
[controller openDocumentWithContentsOfURL:panel.URL display:true completionHandler:^(NSDocument * _Nullable document, BOOL documentWasAlreadyOpen, NSError * _Nullable error) {
144+
if (!document) {
145+
NSLog(@"Error opening repository \"%@\": %@", panel.URL.path, error);
146+
[controller presentError:error];
147+
}
148+
}];
149+
}
150+
}];
151+
}
152+
133153
- (IBAction)openPreferencesWindow:(id)sender
134154
{
135155
[[PBPrefsWindowController sharedPrefsWindowController] showWindow:nil];

0 commit comments

Comments
 (0)