comparison libpurple/protocols/irc/irc.c @ 15463:0b6f337a46d5

Emblems in the blist
author Sean Egan <seanegan@gmail.com>
date Tue, 30 Jan 2007 06:53:23 +0000
parents 5fe8042783c1
children 32c366eeeb99
comparison
equal deleted inserted replaced
15462:e9c12873fae0 15463:0b6f337a46d5
40 #define PING_TIMEOUT 60 40 #define PING_TIMEOUT 60
41 41
42 static void irc_buddy_append(char *name, struct irc_buddy *ib, GString *string); 42 static void irc_buddy_append(char *name, struct irc_buddy *ib, GString *string);
43 43
44 static const char *irc_blist_icon(GaimAccount *a, GaimBuddy *b); 44 static const char *irc_blist_icon(GaimAccount *a, GaimBuddy *b);
45 static void irc_blist_emblems(GaimBuddy *b, const char **se, const char **sw, const char **nw, const char **ne);
46 static GList *irc_status_types(GaimAccount *account); 45 static GList *irc_status_types(GaimAccount *account);
47 static GList *irc_actions(GaimPlugin *plugin, gpointer context); 46 static GList *irc_actions(GaimPlugin *plugin, gpointer context);
48 /* static GList *irc_chat_info(GaimConnection *gc); */ 47 /* static GList *irc_chat_info(GaimConnection *gc); */
49 static void irc_login(GaimAccount *account); 48 static void irc_login(GaimAccount *account);
50 static void irc_login_cb_ssl(gpointer data, GaimSslConnection *gsc, GaimInputCondition cond); 49 static void irc_login_cb_ssl(gpointer data, GaimSslConnection *gsc, GaimInputCondition cond);
220 static const char *irc_blist_icon(GaimAccount *a, GaimBuddy *b) 219 static const char *irc_blist_icon(GaimAccount *a, GaimBuddy *b)
221 { 220 {
222 return "irc"; 221 return "irc";
223 } 222 }
224 223
225 static void irc_blist_emblems(GaimBuddy *b, const char **se, const char **sw, const char **nw, const char **ne)
226 {
227 GaimPresence *presence = gaim_buddy_get_presence(b);
228
229 if (gaim_presence_is_online(presence) == FALSE) {
230 *se = "offline";
231 }
232 }
233
234 static GList *irc_status_types(GaimAccount *account) 224 static GList *irc_status_types(GaimAccount *account)
235 { 225 {
236 GaimStatusType *type; 226 GaimStatusType *type;
237 GList *types = NULL; 227 GList *types = NULL;
238 228
811 OPT_PROTO_CHAT_TOPIC | OPT_PROTO_PASSWORD_OPTIONAL, 801 OPT_PROTO_CHAT_TOPIC | OPT_PROTO_PASSWORD_OPTIONAL,
812 NULL, /* user_splits */ 802 NULL, /* user_splits */
813 NULL, /* protocol_options */ 803 NULL, /* protocol_options */
814 NO_BUDDY_ICONS, /* icon_spec */ 804 NO_BUDDY_ICONS, /* icon_spec */
815 irc_blist_icon, /* list_icon */ 805 irc_blist_icon, /* list_icon */
816 irc_blist_emblems, /* list_emblems */ 806 NULL, /* list_emblems */
817 NULL, /* status_text */ 807 NULL, /* status_text */
818 NULL, /* tooltip_text */ 808 NULL, /* tooltip_text */
819 irc_status_types, /* away_states */ 809 irc_status_types, /* away_states */
820 NULL, /* blist_node_menu */ 810 NULL, /* blist_node_menu */
821 irc_chat_join_info, /* chat_info */ 811 irc_chat_join_info, /* chat_info */