| 3224 gc = b->account->gc; |
3224 gc = b->account->gc; |
| 3225 pd = gc->proto_data; |
3225 pd = gc->proto_data; |
| 3226 |
3226 |
| 3227 str = g_string_new(NULL); |
3227 str = g_string_new(NULL); |
| 3228 |
3228 |
| 3229 tmp = status_text(b); |
|
| 3230 g_string_append_printf(str, _("\n<b>Status</b>: %s"), tmp); |
|
| 3231 |
|
| 3232 tmp = mwServiceAware_getText(pd->srvc_aware, &idb); |
3229 tmp = mwServiceAware_getText(pd->srvc_aware, &idb); |
| 3233 if(tmp) { |
3230 if(tmp) { |
| 3234 tmp = g_markup_escape_text(tmp, -1); |
3231 tmp = g_markup_escape_text(tmp, -1); |
| 3235 g_string_append_printf(str, _("\n<b>Message</b>: %s"), tmp); |
3232 g_string_append_printf(str, _("\n<b>%s</b>: %s"), status_text(b), tmp); |
| 3236 g_free((char *) tmp); |
3233 g_free((char *) tmp); |
| 3237 } |
3234 |
| 3238 |
3235 } else { |
| 3239 tmp = user_supports_text(pd->srvc_aware, b->name); |
3236 g_string_append_printf(str, _("\n<b>Status</b>: %s"), status_text(b)); |
| 3240 if(tmp) { |
3237 } |
| 3241 g_string_append_printf(str, _("\n<b>Supports</b>: %s"), tmp); |
3238 |
| 3242 g_free((char *) tmp); |
3239 if(full) { |
| 3243 } |
3240 tmp = user_supports_text(pd->srvc_aware, b->name); |
| 3244 |
3241 if(tmp) { |
| 3245 if(buddy_is_external(b)) { |
3242 g_string_append_printf(str, _("\n<b>Supports</b>: %s"), tmp); |
| 3246 g_string_append(str, _("\n<b>External User</b>")); |
3243 g_free((char *) tmp); |
| 3247 } |
3244 } |
| 3248 |
3245 |
| 3249 tmp = str->str; |
3246 if(buddy_is_external(b)) { |
| 3250 g_string_free(str, FALSE); |
3247 g_string_append(str, _("\n<b>External User</b>")); |
| 3251 return (char *) tmp; |
3248 } |
| |
3249 } |
| |
3250 |
| |
3251 return g_string_free(str, FALSE); |
| 3252 } |
3252 } |
| 3253 |
3253 |
| 3254 |
3254 |
| 3255 static GList *mw_prpl_status_types(GaimAccount *acct) { |
3255 static GList *mw_prpl_status_types(GaimAccount *acct) { |
| 3256 GList *types = NULL; |
3256 GList *types = NULL; |
| 3257 GaimStatusType *type; |
3257 GaimStatusType *type; |
| 3258 |
3258 |
| 3259 type = gaim_status_type_new(GAIM_STATUS_AVAILABLE, MW_STATE_ACTIVE, |
3259 type = gaim_status_type_new(GAIM_STATUS_AVAILABLE, MW_STATE_ACTIVE, |
| 3260 _("Available"), TRUE); |
3260 NULL, TRUE); |
| 3261 gaim_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), |
3261 gaim_status_type_add_attr(type, MW_STATE_MESSAGE, _("Message"), |
| 3262 gaim_value_new(GAIM_TYPE_STRING)); |
3262 gaim_value_new(GAIM_TYPE_STRING)); |
| 3263 types = g_list_append(types, type); |
3263 types = g_list_append(types, type); |
| 3264 |
3264 |
| 3265 type = gaim_status_type_new(GAIM_STATUS_AWAY, MW_STATE_AWAY, |
3265 type = gaim_status_type_new(GAIM_STATUS_AWAY, MW_STATE_AWAY, |