summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2009-02-20 11:28:18 +0100
committerJiri Moskovcak <jmoskovc@redhat.com>2009-02-20 11:28:18 +0100
commit51b8a58f3b49661f5b97a714571d6caa77ec25d0 (patch)
treef1d39a85972c17606b7d1ea6ab14f0f06fe65143
parent7297777a4e9d6be48d5897c5f1f3833da1d138b9 (diff)
downloadabrt-51b8a58f3b49661f5b97a714571d6caa77ec25d0.tar.gz
abrt-51b8a58f3b49661f5b97a714571d6caa77ec25d0.tar.xz
abrt-51b8a58f3b49661f5b97a714571d6caa77ec25d0.zip
Readded simple actions to status icon.
-rw-r--r--src/Applet/CCApplet.cpp16
-rw-r--r--src/Applet/CCApplet.h7
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;