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()) {
|
StatusIcon::StatusIcon() : icon_(gtk_status_icon_new()) {
|
||||||
gtk_status_icon_set_visible(icon_, TRUE);
|
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);
|
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_);
|
menu_->PopupAsContextForStatusIcon(time, button, icon_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StatusIcon::OnActivate(GtkWidget* widget) {
|
||||||
|
NotifyClicked();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace atom
|
} // namespace atom
|
||||||
|
|
|
@ -30,6 +30,9 @@ class StatusIcon : public TrayIcon {
|
||||||
// Callback invoked when user right-clicks on the status icon.
|
// Callback invoked when user right-clicks on the status icon.
|
||||||
CHROMEGTK_CALLBACK_2(StatusIcon, void, OnPopupMenu, guint, guint);
|
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.
|
// The currently-displayed icon for the window.
|
||||||
GtkStatusIcon* icon_;
|
GtkStatusIcon* icon_;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue