From a363f76a7052eeabecac7fa3a2a99a3d5d30fa63 Mon Sep 17 00:00:00 2001 From: "stuart.morgan%alumni.case.edu" Date: Sat, 23 Feb 2008 19:39:31 +0000 Subject: [PATCH] Camino only - Bug 418108: Support OpenSearch discovery in the search sheet field. r/sr=pink git-svn-id: svn://10.0.0.236/trunk@246377 18797224-902f-48f8-a5cc-f745e15eee43 --- .../src/browser/BrowserWindowController.mm | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/mozilla/camino/src/browser/BrowserWindowController.mm b/mozilla/camino/src/browser/BrowserWindowController.mm index 29899552613..58688465551 100644 --- a/mozilla/camino/src/browser/BrowserWindowController.mm +++ b/mozilla/camino/src/browser/BrowserWindowController.mm @@ -1696,6 +1696,7 @@ public: // Always allow the search engine menu to work if (action == @selector(searchEngineChanged:) || + action == @selector(installSearchPlugin:) || action == @selector(manageSearchEngines:) || action == @selector(findSearchEngines:)) { @@ -4701,10 +4702,15 @@ public: - (void)showSearchPluginDetected:(BOOL)pluginsAreDetected { - if (pluginsAreDetected) - [mSearchBar setDetectedSearchPlugins:[[self browserWrapper] detectedSearchPlugins]]; - else + if (pluginsAreDetected) { + NSArray* detectedPlugins = [[self browserWrapper] detectedSearchPlugins]; + [mSearchBar setDetectedSearchPlugins:detectedPlugins]; + [mSearchSheetTextField setDetectedSearchPlugins:detectedPlugins]; + } + else { [mSearchBar setDetectedSearchPlugins:nil]; + [mSearchSheetTextField setDetectedSearchPlugins:nil]; + } } - (BOOL)webSearchField:(WebSearchField*)searchField shouldListDetectedSearchPlugin:(NSDictionary *)searchPluginInfoDict @@ -4741,6 +4747,7 @@ public: // Because of this, select the last engine. NSString* installedPluginName = [[[SearchEngineManager sharedSearchEngineManager] installedSearchEngineNames] lastObject]; [mSearchBar setCurrentSearchEngine:installedPluginName]; + [mSearchSheetTextField setCurrentSearchEngine:installedPluginName]; } else { NSString* searchPluginName = [searchPlugin valueForKey:kWebSearchPluginNameKey]; @@ -4749,10 +4756,15 @@ public: [alert setMessageText:NSLocalizedString(@"SearchPluginInstallationErrorTitle", nil)]; [alert setInformativeText:[NSString stringWithFormat:NSLocalizedString(@"SearchPluginInstallationErrorMessage", nil), searchPluginName]]; [alert setAlertStyle:NSWarningAlertStyle]; - [alert beginSheetModalForWindow:[self window] - modalDelegate:self - didEndSelector:NULL - contextInfo:NULL]; + if ([[self window] attachedSheet]) { + [alert runModal]; + } + else { + [alert beginSheetModalForWindow:[self window] + modalDelegate:self + didEndSelector:NULL + contextInfo:NULL]; + } } }