From 40308051a520423d536e5577bbb32348d12c6846 Mon Sep 17 00:00:00 2001 From: jonnyshen Date: Mon, 3 Jun 2019 21:22:18 +0800 Subject: [PATCH] support publish notify icon dbclicked event --- notifyicon.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/notifyicon.go b/notifyicon.go index 5daabf57..fc8bb079 100644 --- a/notifyicon.go +++ b/notifyicon.go @@ -27,6 +27,9 @@ func notifyIconWndProc(hwnd win.HWND, msg uint32, wParam, lParam uintptr) (resul case win.WM_LBUTTONUP: ni.publishMouseEvent(&ni.mouseUpPublisher, LeftButton) + case win.WM_LBUTTONDBLCLK: + ni.publishMouseEvent(&ni.mouseDbClickedPublisher, LeftButton) + case win.WM_RBUTTONDOWN: ni.publishMouseEvent(&ni.mouseDownPublisher, RightButton) @@ -35,6 +38,9 @@ func notifyIconWndProc(hwnd win.HWND, msg uint32, wParam, lParam uintptr) (resul win.SendMessage(hwnd, msg, wParam, win.WM_CONTEXTMENU) + case win.WM_RBUTTONDBLCLK: + ni.publishMouseEvent(&ni.mouseDbClickedPublisher, RightButton) + case win.WM_CONTEXTMENU: if ni.contextMenu.Actions().Len() == 0 { break @@ -82,6 +88,7 @@ type NotifyIcon struct { mouseDownPublisher MouseEventPublisher mouseUpPublisher MouseEventPublisher messageClickedPublisher EventPublisher + mouseDbClickedPublisher MouseEventPublisher } // NewNotifyIcon creates and returns a new NotifyIcon. @@ -377,3 +384,9 @@ func (ni *NotifyIcon) MouseUp() *MouseEvent { func (ni *NotifyIcon) MessageClicked() *Event { return ni.messageClickedPublisher.Event() } + +// MouseDbClicked returns the event that is published when a mouse button is double clicked +// while the cursor is over the NotifyIcon. +func (ni *NotifyIcon) MouseDbClicked() *MouseEvent { + return ni.mouseDbClickedPublisher.Event() +}