From 2a3219c3705042822a41c76ce89b2cd0d82fe895 Mon Sep 17 00:00:00 2001 From: Jordan Orelli Date: Sat, 17 Jun 2017 12:00:02 -0500 Subject: [PATCH] open directory panel --- ui/MainViewController.h | 2 +- ui/MainViewController.m | 25 +++++++++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ui/MainViewController.h b/ui/MainViewController.h index c370fca..0e1bb77 100644 --- a/ui/MainViewController.h +++ b/ui/MainViewController.h @@ -1,4 +1,4 @@ #import -@interface MainViewController : NSViewController +@interface MainViewController : NSViewController @end diff --git a/ui/MainViewController.m b/ui/MainViewController.m index 2db7001..79c9725 100644 --- a/ui/MainViewController.m +++ b/ui/MainViewController.m @@ -3,6 +3,7 @@ @interface MainViewController () +@property (nonatomic, strong) NSOpenPanel *selectDirectoryPanel; @property (nonatomic, strong) NSButton *selectDirectoryButton; @end @@ -18,17 +19,24 @@ NSLog(@"[MainViewController] viewDidLoad"); [super viewDidLoad]; + // set window dimensions [self.view.widthAnchor constraintGreaterThanOrEqualToConstant:640.0].active = YES; [self.view.heightAnchor constraintGreaterThanOrEqualToConstant:480.0].active = YES; + // create open panel + self.selectDirectoryPanel = [NSOpenPanel openPanel]; + [self.selectDirectoryPanel setCanChooseFiles:NO]; + [self.selectDirectoryPanel setCanChooseDirectories:YES]; + [self.selectDirectoryPanel setDelegate:self]; + + // create select directory button self.selectDirectoryButton = [NSButton buttonWithTitle:@"select directory" - target:self - action:@selector(fart:)]; + target:self.selectDirectoryPanel + action:@selector(runModal)]; [self.selectDirectoryButton setTranslatesAutoresizingMaskIntoConstraints:NO]; - - [self.view addSubview:self.selectDirectoryButton]; + // setup button constraints [self.selectDirectoryButton.rightAnchor constraintEqualToAnchor:self.view.rightAnchor constant:-8.0].active = YES; @@ -37,6 +45,11 @@ constant:8.0].active = YES; } +- (void) panel:(id)sender didChangeToDirectoryURL:(NSURL *)url { + NSLog(@"[MainViewController] panel: %@ didChangeToDirectoryURL: %@", sender, url); + return [super viewWillAppear]; +} + - (void) viewWillAppear { NSLog(@"[MainViewController] viewWillAppear"); return [super viewWillAppear]; @@ -67,8 +80,4 @@ return [super viewDidLayout]; } -- (void) fart { - NSLog(@"[MainViewController] fart!"); -} - @end