gtk: Implement click event for status icon.
This commit is contained in:
parent
4647efd22f
commit
540e6ff01b
2 changed files with 8 additions and 0 deletions
|
@ -12,6 +12,7 @@ namespace atom {
|
|||
StatusIcon::StatusIcon() : icon_(gtk_status_icon_new()) {
|
||||
gtk_status_icon_set_visible(icon_, TRUE);
|
||||
|
||||
g_signal_connect(icon_, "activate", G_CALLBACK(OnActivateThunk), this);
|
||||
g_signal_connect(icon_, "popup-menu", G_CALLBACK(OnPopupMenuThunk), this);
|
||||
}
|
||||
|
||||
|
@ -48,4 +49,8 @@ void StatusIcon::OnPopupMenu(GtkWidget* widget, guint button, guint time) {
|
|||
menu_->PopupAsContextForStatusIcon(time, button, icon_);
|
||||
}
|
||||
|
||||
void StatusIcon::OnActivate(GtkWidget* widget) {
|
||||
NotifyClicked();
|
||||
}
|
||||
|
||||
} // namespace atom
|
||||
|
|
|
@ -30,6 +30,9 @@ class StatusIcon : public TrayIcon {
|
|||
// Callback invoked when user right-clicks on the status icon.
|
||||
CHROMEGTK_CALLBACK_2(StatusIcon, void, OnPopupMenu, guint, guint);
|
||||
|
||||
// Callback invoked when the icon is clicked.
|
||||
CHROMEGTK_CALLBACK_0(StatusIcon, void, OnActivate);
|
||||
|
||||
// The currently-displayed icon for the window.
|
||||
GtkStatusIcon* icon_;
|
||||
|
||||
|
|
Loading…
Reference in a new issue