1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-06-23 21:45:30 +00:00

Added message in console on /roster add

This commit is contained in:
James Booth 2013-06-02 00:20:22 +01:00
parent cf8d00185b
commit 65c09db19e
6 changed files with 29 additions and 4 deletions

View File

@ -199,6 +199,13 @@ prof_handle_subscription(const char *from, jabber_subscr_t type)
}
}
void
prof_handle_roster_add(const char * const barejid, const char * const name)
{
ui_roster_add(barejid, name);
ui_current_page_off();
}
void
prof_handle_login_account_success(char *account_name)
{

View File

@ -80,5 +80,6 @@ void prof_handle_disco_info(const char *from, GSList *identities,
GSList *features);
void prof_handle_duck_help(const char * const result);
void prof_handle_duck_result(const char * const result);
void prof_handle_roster_add(const char * const barejid, const char * const name);
#endif

View File

@ -439,6 +439,16 @@ ui_incoming_msg(const char * const from, const char * const message,
FREE_SET_NULL(display_from);
}
void
ui_roster_add(const char * const barejid, const char * const name)
{
if (name != NULL) {
cons_show("Roster item added: %s (%s)", barejid, name);
} else {
cons_show("Roster item added: %s", barejid);
}
}
void
ui_contact_online(const char * const barejid, const char * const resource,
const char * const show, const char * const status, GDateTime *last_activity)

View File

@ -112,6 +112,7 @@ void ui_room_member_nick_change(const char * const room,
void ui_room_nick_change(const char * const room, const char * const nick);
void ui_room_member_presence(const char * const room,
const char * const nick, const char * const show, const char * const status);
void ui_roster_add(const char * const barejid, const char * const name);
// contact status functions
void ui_status_room(const char * const contact);

View File

@ -27,6 +27,7 @@
#include <strophe.h>
#include "log.h"
#include "profanity.h"
#include "tools/autocomplete.h"
#include "xmpp/connection.h"
#include "xmpp/roster.h"
@ -157,7 +158,7 @@ roster_remove(const char * const barejid)
gboolean
roster_add(const char * const barejid, const char * const name, GSList *groups,
const char * const subscription, gboolean pending_out)
const char * const subscription, gboolean pending_out, gboolean from_initial)
{
gboolean added = FALSE;
PContact contact = g_hash_table_lookup(contacts, barejid);
@ -176,6 +177,10 @@ roster_add(const char * const barejid, const char * const name, GSList *groups,
autocomplete_add(barejid_ac, strdup(barejid));
_add_name_and_barejid(name, barejid);
if (!from_initial) {
prof_handle_roster_add(barejid, name);
}
added = TRUE;
}
@ -189,7 +194,7 @@ roster_update(const char * const barejid, const char * const name,
PContact contact = g_hash_table_lookup(contacts, barejid);
if (contact == NULL) {
roster_add(barejid, name, groups, subscription, pending_out);
roster_add(barejid, name, groups, subscription, pending_out, FALSE);
} else {
p_contact_set_subscription(contact, subscription);
p_contact_set_pending_out(contact, pending_out);
@ -444,7 +449,7 @@ _roster_handle_result(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
GSList *groups = _get_groups_from_item(item);
gboolean added = roster_add(barejid, name, groups, sub, pending_out);
gboolean added = roster_add(barejid, name, groups, sub, pending_out, TRUE);
if (!added) {
log_warning("Attempt to add contact twice: %s", barejid);

View File

@ -140,7 +140,8 @@ char * roster_find_contact(char *search_str);
char * roster_find_jid(char *search_str);
char * roster_find_resource(char *search_str);
gboolean roster_add(const char * const barejid, const char * const name,
GSList *groups, const char * const subscription, gboolean pending_out);
GSList *groups, const char * const subscription, gboolean pending_out,
gboolean from_initial);
void roster_change_name(const char * const barejid, const char * const new_name);
char * roster_barejid_from_name(const char * const name);
void roster_add_new(const char * const barejid, const char * const name);