From ed27009285d762ba35e99b9bc3d4bca2685b7fea Mon Sep 17 00:00:00 2001 From: TingPing Date: Sun, 7 Apr 2013 20:41:29 -0400 Subject: [PATCH] Notify away status of friends --- src/common/inbound.c | 9 +++++++++ src/common/text.c | 5 +++++ src/common/textevents.in | 12 ++++++++++++ 3 files changed, 26 insertions(+) diff --git a/src/common/inbound.c b/src/common/inbound.c index 58a458b0..29eaf754 100644 --- a/src/common/inbound.c +++ b/src/common/inbound.c @@ -1021,7 +1021,16 @@ inbound_away_notify (server *serv, char *nick, char *reason) { sess = list->data; if (sess->server == serv) + { userlist_set_away (sess, nick, reason ? TRUE : FALSE); + if (sess == serv->front_session && notify_is_in_list (serv, nick)) + { + if (reason) + EMIT_SIGNAL (XP_TE_NOTIFYAWAY, sess, nick, reason, NULL, NULL, 0); + else + EMIT_SIGNAL (XP_TE_NOTIFYBACK, sess, nick, NULL, NULL, NULL, 0); + } + } list = list->next; } } diff --git a/src/common/text.c b/src/common/text.c index a7cfa5b7..04328a69 100644 --- a/src/common/text.c +++ b/src/common/text.c @@ -1436,6 +1436,11 @@ static char * const pevt_dccgenericoffer_help[] = { N_("Nickname"), }; +static char * const pevt_notifyaway_help[] = { + N_("Nickname"), + N_("Away Reason"), +}; + static char * const pevt_notifynumber_help[] = { N_("Number of notify items"), }; diff --git a/src/common/textevents.in b/src/common/textevents.in index 5e9ee55a..2c12cf01 100644 --- a/src/common/textevents.in +++ b/src/common/textevents.in @@ -562,6 +562,18 @@ pevt_ctcpsend_help %O->%C18$1%O<-$t$2 n2 +Notify Away +XP_TE_NOTIFYAWAY +pevt_notifyaway_help +%C23*%O$tNotify: %C18$1%C is away (%C24$2%O) +2 + +Notify Back +XP_TE_NOTIFYBACK +pevt_generic_nick_help +%C23*%O$tNotify: %C18$1%C is back +1 + Notify Empty XP_TE_NOTIFYEMPTY pevt_generic_none_help