Use events for chat sessions

This commit is contained in:
James Booth
2014-12-29 01:17:59 +00:00
parent 4be06c0ae2
commit 10a3a3a675
9 changed files with 152 additions and 152 deletions

View File

@@ -315,7 +315,7 @@ ui_contact_typing(const char * const barejid)
}
GSList *
ui_get_recipients(void)
ui_get_chat_recipients(void)
{
GSList *recipients = wins_get_chat_recipients();
return recipients;
@@ -705,15 +705,7 @@ ui_close_connected_win(int index)
otr_end_session(chatwin->barejid);
}
#endif
if (prefs_get_boolean(PREF_STATES)) {
// send <gone/> chat state before closing
if (chat_session_get_recipient_supports(chatwin->barejid)) {
chat_session_set_gone(chatwin->barejid);
message_send_gone(chatwin->barejid);
chat_session_set_sent(chatwin->barejid);
chat_session_end(chatwin->barejid);
}
}
chat_session_on_window_close(chatwin->barejid);
}
}
}
@@ -1169,17 +1161,8 @@ ui_prune_wins(void)
ProfWin *window = curr->data;
if (window->type == WIN_CHAT) {
if (conn_status == JABBER_CONNECTED) {
if (prefs_get_boolean(PREF_STATES)) {
ProfChatWin *chatwin = (ProfChatWin*)window;
// send <gone/> chat state before closing
if (chat_session_get_recipient_supports(chatwin->barejid)) {
chat_session_set_gone(chatwin->barejid);
message_send_gone(chatwin->barejid);
chat_session_set_sent(chatwin->barejid);
chat_session_end(chatwin->barejid);
}
}
ProfChatWin *chatwin = (ProfChatWin*)window;
chat_session_on_window_close(chatwin->barejid);
}
}

View File

@@ -60,7 +60,7 @@ void ui_update(void);
void ui_close(void);
void ui_redraw(void);
void ui_resize(void);
GSList* ui_get_recipients(void);
GSList* ui_get_chat_recipients(void);
void ui_handle_special_keys(const wint_t * const ch, const int result);
gboolean ui_switch_win(const int i);
void ui_next_win(void);