diff options
author | Simon Howard | 2010-01-04 22:01:32 +0000 |
---|---|---|
committer | Simon Howard | 2010-01-04 22:01:32 +0000 |
commit | 6921f30a44e0bdf1c3a2f8982e4a8cd290c22462 (patch) | |
tree | e597201e79368095e58e7ea753eea76906db1c03 /pkg/osx/IWADLocation.m | |
parent | 9b0b0629e02deba1788d4a4e190b31977f7c0b1f (diff) | |
download | chocolate-doom-6921f30a44e0bdf1c3a2f8982e4a8cd290c22462.tar.gz chocolate-doom-6921f30a44e0bdf1c3a2f8982e4a8cd290c22462.tar.bz2 chocolate-doom-6921f30a44e0bdf1c3a2f8982e4a8cd290c22462.zip |
Import OS X launcher code to trunk.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1784
Diffstat (limited to 'pkg/osx/IWADLocation.m')
-rw-r--r-- | pkg/osx/IWADLocation.m | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/pkg/osx/IWADLocation.m b/pkg/osx/IWADLocation.m new file mode 100644 index 00000000..3f2ac188 --- /dev/null +++ b/pkg/osx/IWADLocation.m @@ -0,0 +1,74 @@ +/* ... */ +//----------------------------------------------------------------------------- +// +// Copyright(C) 2009 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +// 02111-1307, USA. +// +//----------------------------------------------------------------------------- + +#include <AppKit/AppKit.h> +#include "IWADLocation.h" + +static id WAD_TYPES[] = +{ + @"wad", @"WAD" +}; + +@implementation IWADLocation + +- (void) setButtonClicked: (id)sender +{ + NSArray *wadTypes = [NSArray arrayWithObjects: WAD_TYPES count: 2]; + NSOpenPanel *openPanel; + NSArray *filenames; + int result; + + [wadTypes retain]; + + // Open a file selector for the new file. + + openPanel = [NSOpenPanel openPanel]; + [openPanel setTitle: @"Add IWAD file"]; + [openPanel setCanChooseFiles: YES]; + [openPanel setCanChooseDirectories: NO]; + + result = [openPanel runModalForTypes: wadTypes]; + + // If the "OK" button was clicked, add the new IWAD file to the list. + + if (result == NSOKButton) + { + filenames = [openPanel filenames]; + [self setLocation: [filenames lastObject]]; + + [self->iwadController saveConfig]; + [self->iwadController setDropdownList]; + } +} + +- (NSString *) getLocation +{ + return [self->locationConfigBox stringValue]; +} + +- (void) setLocation: (NSString *) filename +{ + [self->locationConfigBox setStringValue: filename]; +} + +@end + |