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:
@@ -53,6 +53,18 @@ void wxBell()
|
|||||||
|
|
||||||
- (void)applicationWillFinishLaunching:(NSNotification *)application {
|
- (void)applicationWillFinishLaunching:(NSNotification *)application {
|
||||||
wxUnusedVar(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
|
- (void)application:(NSApplication *)sender openFiles:(NSArray *)fileNames
|
||||||
@@ -69,13 +81,6 @@ void wxBell()
|
|||||||
wxTheApp->MacOpenFiles(fileList);
|
wxTheApp->MacOpenFiles(fileList);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
|
|
||||||
{
|
|
||||||
wxUnusedVar(sender);
|
|
||||||
wxTheApp->MacNewFile() ;
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (BOOL)application:(NSApplication *)sender printFile:(NSString *)filename
|
- (BOOL)application:(NSApplication *)sender printFile:(NSString *)filename
|
||||||
{
|
{
|
||||||
wxUnusedVar(sender);
|
wxUnusedVar(sender);
|
||||||
@@ -101,6 +106,13 @@ void wxBell()
|
|||||||
wxTheApp->MacOpenURL(cf.AsString()) ;
|
wxTheApp->MacOpenURL(cf.AsString()) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)handleOpenAppEvent:(NSAppleEventDescriptor *)event
|
||||||
|
withReplyEvent:(NSAppleEventDescriptor *)replyEvent
|
||||||
|
{
|
||||||
|
wxUnusedVar(replyEvent);
|
||||||
|
wxTheApp->MacNewFile() ;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Allowable return values are:
|
Allowable return values are:
|
||||||
NSTerminateNow - it is ok to proceed with termination
|
NSTerminateNow - it is ok to proceed with termination
|
||||||
@@ -239,10 +251,6 @@ bool wxApp::DoInitGui()
|
|||||||
wxNSAppController* controller = [[wxNSAppController alloc] init];
|
wxNSAppController* controller = [[wxNSAppController alloc] init];
|
||||||
[NSApp setDelegate:controller];
|
[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
|
// 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
|
// to the duplication of menus under 10.5 and a warning under 10.6
|
||||||
#if 0
|
#if 0
|
||||||
|
Reference in New Issue
Block a user