From 731dabd7124d1707d23f5c1d74c6f13ed41dc243 Mon Sep 17 00:00:00 2001 From: James Booth Date: Fri, 7 Dec 2012 00:10:00 +0000 Subject: Added server property to accounts --- src/accounts.c | 6 +++++- src/accounts.h | 2 +- src/jabber.c | 2 +- src/profanity.c | 4 ++-- src/profanity.h | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/accounts.c b/src/accounts.c index 93179367..905904d3 100644 --- a/src/accounts.c +++ b/src/accounts.c @@ -82,10 +82,14 @@ accounts_reset_login_search(void) } void -accounts_add_login(const char *jid) +accounts_add_login(const char *jid, const char *altdomain) { if (!g_key_file_has_group(accounts, jid)) { g_key_file_set_boolean(accounts, jid, "enabled", TRUE); + if (altdomain != NULL) { + g_key_file_set_string(accounts, jid, "server", altdomain); + } + _save_accounts(); } } diff --git a/src/accounts.h b/src/accounts.h index d8fa6377..1feaa1ab 100644 --- a/src/accounts.h +++ b/src/accounts.h @@ -28,6 +28,6 @@ void accounts_close(void); char * accounts_find_login(char *prefix); void accounts_reset_login_search(void); -void accounts_add_login(const char *jid); +void accounts_add_login(const char *jid, const char *altdomain); #endif diff --git a/src/jabber.c b/src/jabber.c index d414232a..433e1de7 100644 --- a/src/jabber.c +++ b/src/jabber.c @@ -698,7 +698,7 @@ _connection_handler(xmpp_conn_t * const conn, // login success if (status == XMPP_CONN_CONNECT) { const char *jid = xmpp_conn_get_jid(conn); - prof_handle_login_success(jid); + prof_handle_login_success(jid, saved_altdomain); chat_sessions_init(); xmpp_handler_add(conn, _message_handler, NULL, STANZA_NAME_MESSAGE, NULL, ctx); diff --git a/src/profanity.c b/src/profanity.c index 92ceae44..d0616d2d 100644 --- a/src/profanity.c +++ b/src/profanity.c @@ -190,7 +190,7 @@ prof_handle_subscription(const char *from, jabber_subscr_t type) } void -prof_handle_login_success(const char *jid) +prof_handle_login_success(const char *jid, const char *altdomain) { const char *msg = "logged in successfully."; cons_show("%s %s", jid, msg); @@ -199,7 +199,7 @@ prof_handle_login_success(const char *jid) win_current_page_off(); status_bar_print_message(jid); status_bar_refresh(); - accounts_add_login(jid); + accounts_add_login(jid, altdomain); } void diff --git a/src/profanity.h b/src/profanity.h index b91a17b2..284226f5 100644 --- a/src/profanity.h +++ b/src/profanity.h @@ -27,7 +27,7 @@ void prof_run(const int disable_tls, char *log_level); -void prof_handle_login_success(const char *jid); +void prof_handle_login_success(const char *jid, const char *altdomain); void prof_handle_lost_connection(void); void prof_handle_disconnect(const char * const jid); void prof_handle_failed_login(void); -- cgit 1.4.1-2-gfad0