void prof_handle_idle(void) { jabber_conn_status_t status = jabber_get_connection_status(); if (status == JABBER_CONNECTED) { GSList *recipients = ui_get_recipients(); GSList *curr = recipients; while (curr != NULL) { char *recipient = curr->data; if (chat_session_get_recipient_supports(recipient)) { chat_session_no_activity(recipient); if (chat_session_is_gone(recipient) && !chat_session_get_sent(recipient)) { message_send_gone(recipient); } else if (chat_session_is_inactive(recipient) && !chat_session_get_sent(recipient)) { message_send_inactive(recipient); } else if (prefs_get_boolean(PREF_OUTTYPE) && chat_session_is_paused(recipient) && !chat_session_get_sent(recipient)) { message_send_paused(recipient); } } curr = g_slist_next(curr); } if (recipients != NULL) { g_slist_free(recipients); } } }
void ui_idle(void) { GSList *recipients = wins_get_chat_recipients(); GSList *curr = recipients; while (curr != NULL) { char *recipient = curr->data; chat_session_no_activity(recipient); if (chat_session_is_gone(recipient) && !chat_session_get_sent(recipient)) { message_send_gone(recipient); } else if (chat_session_is_inactive(recipient) && !chat_session_get_sent(recipient)) { message_send_inactive(recipient); } else if (prefs_get_boolean(PREF_OUTTYPE) && chat_session_is_paused(recipient) && !chat_session_get_sent(recipient)) { message_send_paused(recipient); } curr = g_slist_next(curr); } if (recipients != NULL) { g_slist_free(recipients); } }
void prof_handle_activity(void) { win_type_t win_type = ui_current_win_type(); jabber_conn_status_t status = jabber_get_connection_status(); if ((status == JABBER_CONNECTED) && (win_type == WIN_CHAT)) { char *recipient = ui_current_recipient(); if (chat_session_get_recipient_supports(recipient)) { chat_session_set_composing(recipient); if (!chat_session_get_sent(recipient) || chat_session_is_paused(recipient)) { message_send_composing(recipient); } } } }