fixing open application event handling, fixes #13397

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2011-08-14 15:42:35 +00:00
parent 73d1308b85
commit 77aa5fa027

View File

@ -53,6 +53,18 @@ void wxBell()
- (void)applicationWillFinishLaunching:(NSNotification *)application {
wxUnusedVar(application);
// we must install our handlers later than setting the app delegates, because otherwise our handlers
// get overwritten
NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self andSelector:@selector(handleGetURLEvent:withReplyEvent:)
forEventClass:kInternetEventClass andEventID:kAEGetURL];
[appleEventManager setEventHandler:self andSelector:@selector(handleOpenAppEvent:withReplyEvent:)
forEventClass:kCoreEventClass andEventID:kAEOpenApplication];
}
- (void)application:(NSApplication *)sender openFiles:(NSArray *)fileNames
@ -69,13 +81,6 @@ void wxBell()
wxTheApp->MacOpenFiles(fileList);
}
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
{
wxUnusedVar(sender);
wxTheApp->MacNewFile() ;
return NO;
}
- (BOOL)application:(NSApplication *)sender printFile:(NSString *)filename
{
wxUnusedVar(sender);
@ -101,6 +106,13 @@ void wxBell()
wxTheApp->MacOpenURL(cf.AsString()) ;
}
- (void)handleOpenAppEvent:(NSAppleEventDescriptor *)event
withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
wxUnusedVar(replyEvent);
wxTheApp->MacNewFile() ;
}
/*
Allowable return values are:
NSTerminateNow - it is ok to proceed with termination
@ -239,10 +251,6 @@ bool wxApp::DoInitGui()
wxNSAppController* controller = [[wxNSAppController alloc] init];
[NSApp setDelegate:controller];
NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:controller andSelector:@selector(handleGetURLEvent:withReplyEvent:)
forEventClass:kInternetEventClass andEventID:kAEGetURL];
// calling finishLaunching so early before running the loop seems to trigger some 'MenuManager compatibility' which leads
// to the duplication of menus under 10.5 and a warning under 10.6
#if 0