| 41 | | //SafariLink |
|---|
| | 41 | CFURLRef urlToDefaultBrowser = NULL; |
|---|
| | 42 | NSString *browserName = nil; |
|---|
| | 43 | NSImage *browserImage = nil; |
|---|
| | 44 | |
|---|
| | 45 | if (LSGetApplicationForURL((CFURLRef)[NSURL URLWithString:@"http://google.com"], |
|---|
| | 46 | kLSRolesViewer, |
|---|
| | 47 | NULL /*outAppRef*/, |
|---|
| | 48 | &urlToDefaultBrowser) != kLSApplicationNotFoundErr) { |
|---|
| | 49 | NSString *defaultBrowserName; |
|---|
| | 50 | NSString *defaultBrowserPath; |
|---|
| | 51 | |
|---|
| | 52 | defaultBrowserPath = [(NSURL *)urlToDefaultBrowser path]; |
|---|
| | 53 | defaultBrowserName = [[NSFileManager defaultManager] displayNameAtPath:defaultBrowserPath]; |
|---|
| | 54 | |
|---|
| | 55 | //Is the default browser supported? |
|---|
| | 56 | //XXX FireFox should be supportable, but I can't get the script to work -eds |
|---|
| | 57 | NSEnumerator *enumerator = [[NSArray arrayWithObjects:@"Safari",/*@"Firefox",*/@"Omniweb",@"Camino",@"NetNewsWire",nil] objectEnumerator]; |
|---|
| | 58 | NSString *aSupportedBrowser; |
|---|
| | 59 | |
|---|
| | 60 | while ((aSupportedBrowser = [enumerator nextObject])) { |
|---|
| | 61 | if ([defaultBrowserName rangeOfString:aSupportedBrowser |
|---|
| | 62 | options:(NSCaseInsensitiveSearch | NSLiteralSearch)].location != NSNotFound) { |
|---|
| | 63 | //Use the name and image provided by the system if possible |
|---|
| | 64 | browserName = defaultBrowserName; |
|---|
| | 65 | browserImage = [[NSWorkspace sharedWorkspace] iconForFile:defaultBrowserPath]; |
|---|
| | 66 | break; |
|---|
| | 67 | } |
|---|
| | 68 | } |
|---|
| | 69 | } |
|---|
| | 70 | |
|---|
| | 71 | if (urlToDefaultBrowser) { |
|---|
| | 72 | CFRelease(urlToDefaultBrowser); |
|---|
| | 73 | } |
|---|
| | 74 | |
|---|
| | 75 | if (!browserName || !browserImage) { |
|---|
| | 76 | //Fall back on Safari and the image stored within our bundle if necessary |
|---|
| | 77 | browserName = @"Safari"; |
|---|
| | 78 | browserImage = [NSImage imageNamed:@"Safari" forClass:[self class]]; |
|---|
| | 79 | } |
|---|
| | 80 | |
|---|
| 44 | | label:AILocalizedString(@"Safari Link",nil) |
|---|
| 45 | | paletteLabel:AILocalizedString(@"Insert Safari Link",nil) |
|---|
| 46 | | toolTip:AILocalizedString(@"Insert link to active page in Safari",nil) |
|---|
| | 83 | label:[NSString stringWithFormat:AILocalizedString(@"%@ Link",nil), browserName] |
|---|
| | 84 | paletteLabel:[NSString stringWithFormat:AILocalizedString(@"Insert %@ Link",nil), browserName] |
|---|
| | 85 | toolTip:[NSString stringWithFormat:AILocalizedString(@"Insert link to active page in %@",nil), browserName] |
|---|