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