summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/cocoa/menu_button.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/cocoa/menu_button.mm')
-rw-r--r--chrome/browser/ui/cocoa/menu_button.mm16
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];
}