Added remaining chat states

This commit is contained in:
James Booth
2015-01-11 20:20:17 +00:00
parent 76bd2ec13f
commit c16871d143
13 changed files with 399 additions and 104 deletions

View File

@@ -46,6 +46,7 @@
#include "profanity.h"
#include "chat_session.h"
#include "chat_state.h"
#include "config/accounts.h"
#include "config/preferences.h"
#include "config/theme.h"
@@ -131,38 +132,39 @@ prof_run(const int disable_tls, char *log_level, char *account_name)
g_timer_destroy(timer);
}
//
//void
//prof_handle_idle(void)
//{
// jabber_conn_status_t status = jabber_get_connection_status();
// if (status == JABBER_CONNECTED) {
// GSList *recipients = ui_get_chat_recipients();
// GSList *curr = recipients;
//
// while (curr != NULL) {
// char *barejid = curr->data;
// chat_session_on_inactivity(barejid);
// 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)) {
// ProfChatWin *chatwin = wins_get_current_chat();
// chat_session_on_activity(chatwin->barejid);
// }
//}
void
prof_handle_idle(void)
{
jabber_conn_status_t status = jabber_get_connection_status();
if (status == JABBER_CONNECTED) {
GSList *recipients = ui_get_chat_recipients();
GSList *curr = recipients;
while (curr != NULL) {
char *barejid = curr->data;
ProfChatWin *chatwin = wins_get_chat(barejid);
chat_state_handle_idle(chatwin->barejid, chatwin->state);
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)) {
ProfChatWin *chatwin = wins_get_current_chat();
chat_state_handle_typing(chatwin->barejid, chatwin->state);
}
}
/*
* Take a line of input and process it, return TRUE if profanity is to