summaryrefslogtreecommitdiff
path: root/pkg/osx/AppController.m
diff options
context:
space:
mode:
authorSimon Howard2010-02-05 23:08:12 +0000
committerSimon Howard2010-02-05 23:08:12 +0000
commit677729c658b39f075e563fbc9f5a898641f7de54 (patch)
tree109bae4ac22fbc6f8a34ba34a4e9fc6a33e75c48 /pkg/osx/AppController.m
parent8a77b34e936a3fd752db3bc1113e3d7bd0555440 (diff)
parentb4f2d75b34b6e2b9bbb2fa6449125d3446a93a73 (diff)
downloadchocolate-doom-677729c658b39f075e563fbc9f5a898641f7de54.tar.gz
chocolate-doom-677729c658b39f075e563fbc9f5a898641f7de54.tar.bz2
chocolate-doom-677729c658b39f075e563fbc9f5a898641f7de54.zip
Merge from trunk.
Subversion-branch: /branches/raven-branch Subversion-revision: 1845
Diffstat (limited to 'pkg/osx/AppController.m')
-rw-r--r--pkg/osx/AppController.m124
1 files changed, 124 insertions, 0 deletions
diff --git a/pkg/osx/AppController.m b/pkg/osx/AppController.m
new file mode 100644
index 00000000..a26a7c9e
--- /dev/null
+++ b/pkg/osx/AppController.m
@@ -0,0 +1,124 @@
+/* ... */
+//-----------------------------------------------------------------------------
+//
+// 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 "AppController.h"
+
+#include "config.h"
+
+@implementation AppController
+
++ (void)initialize
+{
+ NSMutableDictionary *defaults = [NSMutableDictionary dictionary];
+
+ /*
+ * Register your app's defaults here by adding objects to the
+ * dictionary, eg
+ *
+ * [defaults setObject:anObject forKey:keyForThatObject];
+ *
+ */
+
+ [[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
+ [[NSUserDefaults standardUserDefaults] synchronize];
+}
+
+- (id)init
+{
+ if ((self = [super init]))
+ {
+ }
+
+ self->filesAdded = NO;
+
+ return self;
+}
+
+- (void)dealloc
+{
+ [super dealloc];
+}
+
+- (void)awakeFromNib
+{
+ [[NSApp mainMenu] setTitle:@PACKAGE_NAME];
+}
+
+- (void)applicationDidFinishLaunching:(NSNotification *)aNotif
+{
+// Uncomment if your application is Renaissance-based
+// [NSBundle loadGSMarkupNamed:@"Main" owner:self];
+}
+
+- (BOOL)applicationShouldTerminate:(id)sender
+{
+ return YES;
+}
+
+- (void)applicationWillTerminate:(NSNotification *)aNotif
+{
+}
+
+- (BOOL) application:(NSApplication *) application
+ openFile:(NSString *) fileName
+{
+ NSString *extension;
+
+ // If this is the first file added, clear out the existing
+ // command line. This allows us to select multiple files
+ // in the finder and open them all together (for TCs, etc).
+
+ if (!self->filesAdded)
+ {
+ [self->launcherManager clearCommandLine];
+ }
+
+ // Add file with appropriate command line option based on extension:
+
+ extension = [fileName pathExtension];
+
+ if (![extension caseInsensitiveCompare: @"wad"])
+ {
+ [self->launcherManager addFileToCommandLine: fileName
+ forArgument: @"-merge"];
+ }
+ else if (![extension caseInsensitiveCompare: @"deh"])
+ {
+ [self->launcherManager addFileToCommandLine: fileName
+ forArgument: @"-deh"];
+ }
+ else
+ {
+ return NO;
+ }
+
+ self->filesAdded = YES;
+
+ return YES;
+}
+
+- (void)showPrefPanel:(id)sender
+{
+}
+
+@end
+