# HG changeset patch # User Mark Doliner # Date 1155747200 0 # Node ID 6a19a83ed49f4f1c37d18237c1e737d48fbb856f # Parent 55e3db9db9f62fa14a3e8e6c60fc1b6a51750632 [gaim-migrate @ 16791] Patch from Henning Norn Change the DND, extended away and occupied statuses in oscar so that they allow setting a message. Also change another place so that we show messages for people who are in those statuses. committer: Tailor Script diff -r 55e3db9db9f6 -r 6a19a83ed49f src/protocols/oscar/oscar.c --- a/src/protocols/oscar/oscar.c Wed Aug 16 14:18:58 2006 +0000 +++ b/src/protocols/oscar/oscar.c Wed Aug 16 16:53:20 2006 +0000 @@ -4369,7 +4369,8 @@ /* This is needed for us to un-set any previous away message. */ away = g_strdup(""); } - else if (primitive == GAIM_STATUS_AWAY) + else if ((primitive == GAIM_STATUS_AWAY) || + (primitive == GAIM_STATUS_EXTENDED_AWAY)) { htmlaway = gaim_status_get_attr_string(status, "message"); if ((htmlaway == NULL) || (*htmlaway == '\0')) @@ -5609,19 +5610,25 @@ status_types = g_list_append(status_types, type); /* ICQ-specific status types */ - type = gaim_status_type_new_full(GAIM_STATUS_UNAVAILABLE, - OSCAR_STATUS_ID_OCCUPIED, - _("Occupied"), TRUE, is_icq, FALSE); + type = gaim_status_type_new_with_attrs(GAIM_STATUS_UNAVAILABLE, + OSCAR_STATUS_ID_OCCUPIED, + _("Occupied"), TRUE, is_icq, FALSE, + "message", _("Message"), + gaim_value_new(GAIM_TYPE_STRING), NULL); status_types = g_list_append(status_types, type); - type = gaim_status_type_new_full(GAIM_STATUS_EXTENDED_AWAY, - OSCAR_STATUS_ID_DND, - _("Do Not Disturb"), TRUE, is_icq, FALSE); + type = gaim_status_type_new_with_attrs(GAIM_STATUS_EXTENDED_AWAY, + OSCAR_STATUS_ID_DND, + _("Do Not Disturb"), TRUE, is_icq, FALSE, + "message", _("Message"), + gaim_value_new(GAIM_TYPE_STRING), NULL); status_types = g_list_append(status_types, type); - type = gaim_status_type_new_full(GAIM_STATUS_EXTENDED_AWAY, - OSCAR_STATUS_ID_NA, - _("Not Available"), TRUE, is_icq, FALSE); + type = gaim_status_type_new_with_attrs(GAIM_STATUS_EXTENDED_AWAY, + OSCAR_STATUS_ID_NA, + _("Not Available"), TRUE, is_icq, FALSE, + "message", _("Message"), + gaim_value_new(GAIM_TYPE_STRING), NULL); status_types = g_list_append(status_types, type); type = gaim_status_type_new_full(GAIM_STATUS_OFFLINE,