Tray: Add drag-entered and drag-exited events

This commit is contained in:
Nishanth Shanmugham 2015-11-05 18:45:43 -06:00
parent 5b0ea5bd46
commit 818892d474
6 changed files with 27 additions and 0 deletions

View file

@ -59,4 +59,12 @@ void TrayIcon::NotifyDropFiles(const std::vector<std::string>& files) {
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnDropFiles(files));
}
void TrayIcon::NotifyDragEntered() {
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnDragEntered());
}
void TrayIcon::NotifyDragExited() {
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnDragExited());
}
} // namespace atom

View file

@ -62,6 +62,8 @@ class TrayIcon {
void NotifyRightClicked(const gfx::Rect& bounds = gfx::Rect(),
int modifiers = 0);
void NotifyDropFiles(const std::vector<std::string>& files);
void TrayIcon::NotifyDragEntered();
void TrayIcon::NotifyDragExited();
protected:
TrayIcon();

View file

@ -254,9 +254,14 @@ const CGFloat kVerticalTitleMargin = 2;
}
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {
trayIcon_->NotifyDragEntered();
return NSDragOperationCopy;
}
- (void)draggingExited:(id <NSDraggingInfo>)sender {
trayIcon_->NotifyDragExited();
}
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender {
NSPasteboard* pboard = [sender draggingPasteboard];

View file

@ -23,6 +23,8 @@ class TrayIconObserver {
virtual void OnBalloonClosed() {}
virtual void OnRightClicked(const gfx::Rect& bounds, int modifiers) {}
virtual void OnDropFiles(const std::vector<std::string>& files) {}
virtual void OnDragEntered() {}
virtual void OnDragExited() {}
protected:
virtual ~TrayIconObserver() {}