Simple default resource hanlding on presence

This commit is contained in:
James Booth
2013-02-14 22:06:25 +00:00
parent 576be7921d
commit b5e06a079c
9 changed files with 81 additions and 61 deletions

View File

@@ -70,8 +70,8 @@ void ui_show_typing(const char * const from);
void ui_idle(void);
void ui_show_incoming_msg(const char * const from, const char * const message,
GTimeVal *tv_stamp, gboolean priv);
void ui_contact_online(const char * const from, const char * const show,
const char * const status, GDateTime *last_activity);
void ui_contact_online(const char * const barejid, const char * const resource,
const char * const show, const char * const status, GDateTime *last_activity);
void ui_contact_offline(const char * const from, const char * const show,
const char * const status);
void ui_disconnected(void);

View File

@@ -453,19 +453,22 @@ ui_show_incoming_msg(const char * const from, const char * const message,
}
void
ui_contact_online(const char * const from, const char * const show,
const char * const status, GDateTime *last_activity)
ui_contact_online(const char * const barejid, const char * const resource,
const char * const show, const char * const status, GDateTime *last_activity)
{
_show_status_string(console->win, from, show, status, last_activity, "++",
Jid *jid = jid_create_from_bare_and_resource(barejid, resource);
_show_status_string(console->win, jid->fulljid, show, status, last_activity, "++",
"online");
int win_index = _find_prof_win_index(from);
int win_index = _find_prof_win_index(barejid);
if (win_index != NUM_WINS) {
WINDOW *win = windows[win_index]->win;
_show_status_string(win, from, show, status, last_activity, "++",
_show_status_string(win, jid->fulljid, show, status, last_activity, "++",
"online");
}
jid_destroy(jid);
if (win_index == current_index)
dirty = TRUE;
}