# HG changeset patch # User Rob Flynn # Date 985382152 0 # Node ID 285dd96928cd5cb42e8a5078a49cfbb430f90c09 # Parent f2645224b30a2e16ebf7865a3645511247ffe018 [gaim-migrate @ 1649] Dis would be a fun thing to have ;-) So I did it :) committer: Tailor Script diff -r f2645224b30a -r 285dd96928cd ChangeLog --- a/ChangeLog Fri Mar 23 18:01:53 2001 +0000 +++ b/ChangeLog Fri Mar 23 21:15:52 2001 +0000 @@ -8,6 +8,7 @@ * Can use Alt to access menu, and Ctl-char for certain actions (thanks baldnik) * Oscar blocking works (?) + * MSN can see status of other users version 0.11.0-pre7 (03/16/2001): * Can build RPMs as non-root diff -r f2645224b30a -r 285dd96928cd plugins/msn/msn.c --- a/plugins/msn/msn.c Fri Mar 23 18:01:53 2001 +0000 +++ b/plugins/msn/msn.c Fri Mar 23 21:15:52 2001 +0000 @@ -1074,6 +1074,41 @@ g_free(gc->proto_data); } +static char *msn_get_away_text(int s) +{ + switch (s) + { + case MSN_BUSY : + return "Busy"; + case MSN_BRB : + return "Be right back"; + case MSN_AWAY : + return "Away from the computer"; + case MSN_PHONE : + return "On the phone"; + case MSN_LUNCH : + return "Out to lunch"; + default: + return NULL; + } +} + +static void msn_buddy_menu(GtkWidget *menu, struct gaim_connection *gc, char *who) +{ + struct buddy *b = find_buddy(gc, who); + char buf[MSN_BUF_LEN]; + GtkWidget *button; + + if (!(b->uc >> 5)) + return; + + g_snprintf(buf, MSN_BUF_LEN, "Status: %s", msn_get_away_text(b->uc >> 5)); + + button = gtk_menu_item_new_with_label(buf); + gtk_menu_append(GTK_MENU(menu), button); + gtk_widget_show(button); +} + static char **msn_list_icon(int uc) { if (uc == UC_UNAVAILABLE) @@ -1091,7 +1126,7 @@ ret->protocol = PROTO_MSN; ret->name = msn_name; ret->list_icon = msn_list_icon; - ret->buddy_menu = NULL; + ret->buddy_menu = msn_buddy_menu; ret->user_opts = NULL; ret->login = msn_login; ret->close = msn_close;