diff options
-rw-r--r-- | src/Applet/CCApplet.cpp | 16 | ||||
-rw-r--r-- | src/Applet/CCApplet.h | 7 |
2 files changed, 15 insertions, 8 deletions
diff --git a/src/Applet/CCApplet.cpp b/src/Applet/CCApplet.cpp index de42f91d..2d54a956 100644 --- a/src/Applet/CCApplet.cpp +++ b/src/Applet/CCApplet.cpp @@ -29,8 +29,8 @@ CApplet::CApplet(DBus::Connection &connection, const char *path, const char *nam gtk_status_icon_set_visible(m_pStatusIcon,FALSE); // LMB click //TODO add some actions! - //gtk_signal_connect(m_pStatusIcon,"activate",CApplet::OnAppletActivate_CB, this); - //gtk_signal_connect(m_pStatusIcon,"popup_menu",CApplet::OnMenuPopup_cb, this); + g_signal_connect(G_OBJECT(m_pStatusIcon),"activate",GTK_SIGNAL_FUNC(CApplet::OnAppletActivate_CB), this); + g_signal_connect(G_OBJECT(m_pStatusIcon),"popup_menu",GTK_SIGNAL_FUNC(CApplet::OnMenuPopup_cb), this); SetIconTooltip("Pending events: %i",m_mapEvents.size()); } @@ -85,15 +85,19 @@ void CApplet::SetIconTooltip(const char *format, ...) } -void CApplet::OnAppletActivate_CB() +void CApplet::OnAppletActivate_CB(GtkStatusIcon *status_icon,gpointer user_data) { - gtk_status_icon_set_visible(m_pStatusIcon,false); + CApplet *applet = (CApplet *)user_data; + gtk_status_icon_set_visible(applet->m_pStatusIcon,false); } -void CApplet::OnMenuPopup_cb(guint button, guint32 activate_time) +void CApplet::OnMenuPopup_cb(GtkStatusIcon *status_icon, + guint button, + guint activate_time, + gpointer user_data) { /* for now just hide the icon on RMB */ - gtk_status_icon_set_blinking(m_pStatusIcon, false); + gtk_status_icon_set_blinking(((CApplet *)user_data)->m_pStatusIcon, false); } void CApplet::ShowIcon() diff --git a/src/Applet/CCApplet.h b/src/Applet/CCApplet.h index b1c62a48..f2f0b2c4 100644 --- a/src/Applet/CCApplet.h +++ b/src/Applet/CCApplet.h @@ -52,8 +52,11 @@ class CApplet void Crash(std::string &value); protected: //@@TODO applet menus - void OnAppletActivate_CB(); - void OnMenuPopup_cb(guint button, guint32 activate_time); + static void OnAppletActivate_CB(GtkStatusIcon *status_icon,gpointer user_data); + static void OnMenuPopup_cb(GtkStatusIcon *status_icon, + guint button, + guint activate_time, + gpointer user_data); //menu //Glib::RefPtr<Gtk::UIManager> m_refUIManager; //Glib::RefPtr<Gtk::ActionGroup> m_refActionGroup; |