add mouse-enter and mouse-exit events for tray

This commit is contained in:
Shubham 2017-06-14 18:00:29 -04:00
parent a6ea316a5d
commit 8dbb8ccbab
7 changed files with 48 additions and 1 deletions

View file

@ -54,9 +54,16 @@ const CGFloat kVerticalTitleMargin = 2;
statusItemWithLength:NSVariableStatusItemLength];
statusItem_.reset([item retain]);
[statusItem_ setView:self];
// Finalize setup by sizing our views
[self updateDimensions];
// Add NSTrackingArea for listening to mouseEnter and mouseExit events
int opts = (NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways);
NSTrackingArea* trackingArea = [[NSTrackingArea alloc] initWithRect:[self bounds]
options:opts
owner:self
userInfo:nil];
[self addTrackingArea:trackingArea];
}
return self;
}
@ -288,6 +295,14 @@ const CGFloat kVerticalTitleMargin = 2;
return NSDragOperationCopy;
}
- (void)mouseExited:(NSEvent*)event {
trayIcon_->NotifyMouseExited();
}
- (void)mouseEntered:(NSEvent*)event {
trayIcon_->NotifyMouseEntered();
}
- (void)draggingExited:(id <NSDraggingInfo>)sender {
trayIcon_->NotifyDragExited();
}