diff options
Diffstat (limited to 'chrome/browser/ui/cocoa/menu_button.mm')
-rw-r--r-- | chrome/browser/ui/cocoa/menu_button.mm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/chrome/browser/ui/cocoa/menu_button.mm b/chrome/browser/ui/cocoa/menu_button.mm index 92b4c49..8cc0812 100644 --- a/chrome/browser/ui/cocoa/menu_button.mm +++ b/chrome/browser/ui/cocoa/menu_button.mm @@ -18,6 +18,7 @@ @implementation MenuButton @synthesize openMenuOnClick = openMenuOnClick_; +@synthesize openMenuOnRightClick = openMenuOnRightClick_; // Overrides: @@ -57,6 +58,15 @@ [self configureCell]; } +- (void)rightMouseDown:(NSEvent*)theEvent { + if (!openMenuOnRightClick_) { + [super rightMouseDown:theEvent]; + return; + } + + [self clickShowMenu:self]; +} + // Accessors and mutators: - (NSMenu*)attachedMenu { @@ -79,6 +89,10 @@ } } +- (void)setOpenMenuOnRightClick:(BOOL)enabled { + openMenuOnRightClick_ = enabled; +} + - (NSRect)menuRect { return [self bounds]; } @@ -155,7 +169,7 @@ - (void)clickShowMenu:(id)sender { // This should only be called if openMenuOnClick has been set (which hooks // up this target-action). - DCHECK(openMenuOnClick_); + DCHECK(openMenuOnClick_ || openMenuOnRightClick_); [self showMenu:NO]; } |