From ea995fbc6cc94712a4d10d931f48121c939db437 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Fri, 2 Oct 2009 12:27:23 +0100 Subject: Add a "Respond" button to notifications to provide a positive action (#589408) The positive action is the same positive action that would be accomplished by clicking on the status icon. --- src/empathy-status-icon.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/empathy-status-icon.c') diff --git a/src/empathy-status-icon.c b/src/empathy-status-icon.c index 430c93343..df89f0fb1 100644 --- a/src/empathy-status-icon.c +++ b/src/empathy-status-icon.c @@ -27,6 +27,7 @@ #include #include +#include #include @@ -125,6 +126,17 @@ notification_close_helper (EmpathyStatusIconPriv *priv) } } +static void +notification_action_cb (NotifyNotification *notification, + gchar *action, + EmpathyStatusIcon *icon) +{ + EmpathyStatusIconPriv *priv = GET_PRIV (icon); + + if (priv->event) + empathy_event_activate (priv->event); +} + static void status_icon_update_notification (EmpathyStatusIcon *icon) { @@ -153,6 +165,13 @@ status_icon_update_notification (EmpathyStatusIcon *icon) notify_notification_set_timeout (priv->notification, NOTIFY_EXPIRES_DEFAULT); + notify_notification_add_action (priv->notification, + "respond", + _("Respond"), + (NotifyActionCallback) notification_action_cb, + icon, + NULL); + g_signal_connect (priv->notification, "closed", G_CALLBACK (status_icon_notification_closed_cb), icon); } -- cgit v1.2.3