win: Add "balloon-clicked" event for Tray
This commit is contained in:
parent
8097cb2b9e
commit
210c97f957
8 changed files with 22 additions and 0 deletions
|
@ -41,6 +41,10 @@ void Tray::OnDoubleClicked() {
|
|||
Emit("double-clicked");
|
||||
}
|
||||
|
||||
void Tray::OnBalloonClicked() {
|
||||
Emit("balloon-clicked");
|
||||
}
|
||||
|
||||
void Tray::Destroy() {
|
||||
tray_icon_.reset();
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ class Tray : public mate::EventEmitter,
|
|||
// TrayIconObserver:
|
||||
void OnClicked() override;
|
||||
void OnDoubleClicked() override;
|
||||
void OnBalloonClicked() override;
|
||||
|
||||
void Destroy();
|
||||
void SetImage(mate::Arguments* args, const gfx::ImageSkia& image);
|
||||
|
|
|
@ -31,4 +31,8 @@ void TrayIcon::NotifyDoubleClicked() {
|
|||
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnDoubleClicked());
|
||||
}
|
||||
|
||||
void TrayIcon::NotifyBalloonClicked() {
|
||||
FOR_EACH_OBSERVER(TrayIconObserver, observers_, OnBalloonClicked());
|
||||
}
|
||||
|
||||
} // namespace atom
|
||||
|
|
|
@ -52,6 +52,7 @@ class TrayIcon {
|
|||
void RemoveObserver(TrayIconObserver* obs) { observers_.RemoveObserver(obs); }
|
||||
void NotifyClicked();
|
||||
void NotifyDoubleClicked();
|
||||
void NotifyBalloonClicked();
|
||||
|
||||
protected:
|
||||
TrayIcon();
|
||||
|
|
|
@ -11,6 +11,7 @@ class TrayIconObserver {
|
|||
public:
|
||||
virtual void OnClicked() {}
|
||||
virtual void OnDoubleClicked() {}
|
||||
virtual void OnBalloonClicked() {}
|
||||
|
||||
protected:
|
||||
virtual ~TrayIconObserver() {}
|
||||
|
|
|
@ -71,6 +71,10 @@ void NotifyIcon::HandleClickEvent(const gfx::Point& cursor_pos,
|
|||
ui::MENU_SOURCE_MOUSE));
|
||||
}
|
||||
|
||||
void NotifyIcon::HandleBalloonClickEvent() {
|
||||
NotifyBalloonClicked();
|
||||
}
|
||||
|
||||
void NotifyIcon::ResetIcon() {
|
||||
NOTIFYICONDATA icon_data;
|
||||
InitIconData(&icon_data);
|
||||
|
|
|
@ -35,6 +35,9 @@ class NotifyIcon : public TrayIcon {
|
|||
// otherwise displays the context menu if there is one.
|
||||
void HandleClickEvent(const gfx::Point& cursor_pos, bool left_button_click);
|
||||
|
||||
// Handles a click on the balloon from the user.
|
||||
void HandleBalloonClickEvent();
|
||||
|
||||
// Re-creates the status tray icon now after the taskbar has been created.
|
||||
void ResetIcon();
|
||||
|
||||
|
|
|
@ -132,6 +132,10 @@ LRESULT CALLBACK NotifyIconHost::WndProc(HWND hwnd,
|
|||
return TRUE;
|
||||
|
||||
switch (lparam) {
|
||||
case TB_INDETERMINATE:
|
||||
win_icon->HandleBalloonClickEvent();
|
||||
return TRUE;
|
||||
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_RBUTTONDOWN:
|
||||
case WM_CONTEXTMENU:
|
||||
|
|
Loading…
Reference in a new issue