mirror of
https://github.com/electron/electron.git
synced 2026-01-11 00:18:02 -05:00
fix: emit click events with tray context menu (#24200)
This commit is contained in:
@@ -130,23 +130,7 @@
|
||||
[statusItem_ setMenu:[menuController_ menu]];
|
||||
}
|
||||
|
||||
- (void)mouseDown:(NSEvent*)event {
|
||||
trayIcon_->NotifyMouseDown(
|
||||
gfx::ScreenPointFromNSPoint([event locationInWindow]),
|
||||
ui::EventFlagsFromModifiers([event modifierFlags]));
|
||||
|
||||
// Pass click to superclass to show menu. Custom mouseUp handler won't be
|
||||
// invoked.
|
||||
if (menuController_) {
|
||||
[super mouseDown:event];
|
||||
} else {
|
||||
[[statusItem_ button] highlight:YES];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)mouseUp:(NSEvent*)event {
|
||||
[[statusItem_ button] highlight:NO];
|
||||
|
||||
- (void)handleClickNotifications:(NSEvent*)event {
|
||||
trayIcon_->NotifyMouseUp(
|
||||
gfx::ScreenPointFromNSPoint([event locationInWindow]),
|
||||
ui::EventFlagsFromModifiers([event modifierFlags]));
|
||||
@@ -170,6 +154,27 @@
|
||||
ui::EventFlagsFromModifiers([event modifierFlags]));
|
||||
}
|
||||
|
||||
- (void)mouseDown:(NSEvent*)event {
|
||||
trayIcon_->NotifyMouseDown(
|
||||
gfx::ScreenPointFromNSPoint([event locationInWindow]),
|
||||
ui::EventFlagsFromModifiers([event modifierFlags]));
|
||||
|
||||
// Pass click to superclass to show menu. Custom mouseUp handler won't be
|
||||
// invoked.
|
||||
if (menuController_) {
|
||||
[self handleClickNotifications:event];
|
||||
[super mouseDown:event];
|
||||
} else {
|
||||
[[statusItem_ button] highlight:YES];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)mouseUp:(NSEvent*)event {
|
||||
[[statusItem_ button] highlight:NO];
|
||||
|
||||
[self handleClickNotifications:event];
|
||||
}
|
||||
|
||||
- (void)popUpContextMenu:(electron::ElectronMenuModel*)menu_model {
|
||||
// Make sure events can be pumped while the menu is up.
|
||||
base::MessageLoopCurrent::ScopedNestableTaskAllower allow;
|
||||
|
||||
Reference in New Issue
Block a user