diff --git a/camino/BrowserWindowController.mm b/camino/BrowserWindowController.mm index 4837b1556e83..2a6c068b929e 100644 --- a/camino/BrowserWindowController.mm +++ b/camino/BrowserWindowController.mm @@ -569,16 +569,22 @@ static NSArray* sToolbarDefaults = nil; - (void)performAppropriateLocationAction { - if ( [[[self window] toolbar] isVisible] ) { - if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || - ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { - [self focusURLBar]; - } else { - [self beginLocationSheet]; + NSToolbar *toolbar = [[self window] toolbar]; + if ( [toolbar isVisible] ) { + if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || + ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { + NSArray *itemsWeCanSee = [toolbar visibleItems]; + + for (unsigned int i=0;i<[itemsWeCanSee count];i++) { + if ([[[itemsWeCanSee objectAtIndex:i] itemIdentifier] isEqual:LocationToolbarItemIdentifier]) { + [self focusURLBar]; + return; } - } else { - [self beginLocationSheet]; + } } + } + + [self beginLocationSheet]; } - (void)focusURLBar diff --git a/camino/src/browser/BrowserWindowController.mm b/camino/src/browser/BrowserWindowController.mm index 4837b1556e83..2a6c068b929e 100644 --- a/camino/src/browser/BrowserWindowController.mm +++ b/camino/src/browser/BrowserWindowController.mm @@ -569,16 +569,22 @@ static NSArray* sToolbarDefaults = nil; - (void)performAppropriateLocationAction { - if ( [[[self window] toolbar] isVisible] ) { - if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || - ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { - [self focusURLBar]; - } else { - [self beginLocationSheet]; + NSToolbar *toolbar = [[self window] toolbar]; + if ( [toolbar isVisible] ) { + if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || + ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { + NSArray *itemsWeCanSee = [toolbar visibleItems]; + + for (unsigned int i=0;i<[itemsWeCanSee count];i++) { + if ([[[itemsWeCanSee objectAtIndex:i] itemIdentifier] isEqual:LocationToolbarItemIdentifier]) { + [self focusURLBar]; + return; } - } else { - [self beginLocationSheet]; + } } + } + + [self beginLocationSheet]; } - (void)focusURLBar diff --git a/chimera/BrowserWindowController.mm b/chimera/BrowserWindowController.mm index 4837b1556e83..2a6c068b929e 100644 --- a/chimera/BrowserWindowController.mm +++ b/chimera/BrowserWindowController.mm @@ -569,16 +569,22 @@ static NSArray* sToolbarDefaults = nil; - (void)performAppropriateLocationAction { - if ( [[[self window] toolbar] isVisible] ) { - if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || - ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { - [self focusURLBar]; - } else { - [self beginLocationSheet]; + NSToolbar *toolbar = [[self window] toolbar]; + if ( [toolbar isVisible] ) { + if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || + ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { + NSArray *itemsWeCanSee = [toolbar visibleItems]; + + for (unsigned int i=0;i<[itemsWeCanSee count];i++) { + if ([[[itemsWeCanSee objectAtIndex:i] itemIdentifier] isEqual:LocationToolbarItemIdentifier]) { + [self focusURLBar]; + return; } - } else { - [self beginLocationSheet]; + } } + } + + [self beginLocationSheet]; } - (void)focusURLBar diff --git a/chimera/src/browser/BrowserWindowController.mm b/chimera/src/browser/BrowserWindowController.mm index 4837b1556e83..2a6c068b929e 100644 --- a/chimera/src/browser/BrowserWindowController.mm +++ b/chimera/src/browser/BrowserWindowController.mm @@ -569,16 +569,22 @@ static NSArray* sToolbarDefaults = nil; - (void)performAppropriateLocationAction { - if ( [[[self window] toolbar] isVisible] ) { - if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || - ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { - [self focusURLBar]; - } else { - [self beginLocationSheet]; + NSToolbar *toolbar = [[self window] toolbar]; + if ( [toolbar isVisible] ) { + if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || + ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { + NSArray *itemsWeCanSee = [toolbar visibleItems]; + + for (unsigned int i=0;i<[itemsWeCanSee count];i++) { + if ([[[itemsWeCanSee objectAtIndex:i] itemIdentifier] isEqual:LocationToolbarItemIdentifier]) { + [self focusURLBar]; + return; } - } else { - [self beginLocationSheet]; + } } + } + + [self beginLocationSheet]; } - (void)focusURLBar