diff options
Diffstat (limited to 'Source/SPBundleHTMLOutputController.m')
-rw-r--r-- | Source/SPBundleHTMLOutputController.m | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/Source/SPBundleHTMLOutputController.m b/Source/SPBundleHTMLOutputController.m index 0501dba9..56fdb63e 100644 --- a/Source/SPBundleHTMLOutputController.m +++ b/Source/SPBundleHTMLOutputController.m @@ -190,17 +190,26 @@ { NSInteger navigationType = [[actionInformation objectForKey:WebActionNavigationTypeKey] integerValue]; - switch(navigationType) { - case WebNavigationTypeLinkClicked: - [[webView mainFrame] loadRequest:request]; - [listener use]; - break; - case WebNavigationTypeReload: - [[webView mainFrame] loadHTMLString:[self initHTMLSourceString] baseURL:nil]; - break; - default: - [listener use]; + // sequelpro:// handler + if([[[request URL] scheme] isEqualToString:@"sequelpro"] && navigationType == WebNavigationTypeLinkClicked) { + [[NSApp delegate] handleEventWithURL:[request URL]]; + [listener ignore]; + } else { + + switch(navigationType) { + case WebNavigationTypeLinkClicked: + [[webView mainFrame] loadRequest:request]; + [listener use]; + break; + case WebNavigationTypeReload: + [[webView mainFrame] loadHTMLString:[self initHTMLSourceString] baseURL:nil]; + break; + default: + [listener use]; + } + } + } - (void)webView:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame |