mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Added resource handling in account module
Handle old accounts on load
This commit is contained in:
parent
43841ee9ee
commit
1a30ee15e0
@ -62,7 +62,33 @@ accounts_load(void)
|
||||
if (g_key_file_get_boolean(accounts, jids[i], "enabled", NULL)) {
|
||||
autocomplete_add(enabled_ac, strdup(jids[i]));
|
||||
}
|
||||
|
||||
// fix old style accounts (no jid, or resource setting)
|
||||
char *barejid = jids[i];
|
||||
char *resource = NULL;
|
||||
Jid *jid = jid_create(jids[i]);
|
||||
if (jid != NULL) {
|
||||
barejid = jid->barejid;
|
||||
resource = jid->resourcepart;
|
||||
}
|
||||
|
||||
if (!g_key_file_has_key(accounts, jids[i], "jid", NULL)) {
|
||||
g_key_file_set_string(accounts, jids[i], "jid", barejid);
|
||||
_save_accounts();
|
||||
}
|
||||
if (!g_key_file_has_key(accounts, jids[i], "resource", NULL)) {
|
||||
if (resource != NULL) {
|
||||
g_key_file_set_string(accounts, jids[i], "resource", resource);
|
||||
} else {
|
||||
g_key_file_set_string(accounts, jids[i], "resource", "profanity");
|
||||
}
|
||||
|
||||
_save_accounts();
|
||||
}
|
||||
|
||||
autocomplete_add(all_ac, strdup(jids[i]));
|
||||
|
||||
jid_destroy(jid);
|
||||
}
|
||||
|
||||
for (i = 0; i < njids; i++) {
|
||||
@ -133,16 +159,6 @@ accounts_add_login(const char *account_name, const char *altdomain)
|
||||
_save_accounts();
|
||||
autocomplete_add(all_ac, strdup(account_name));
|
||||
autocomplete_add(enabled_ac, strdup(account_name));
|
||||
|
||||
// already exists, update old style accounts
|
||||
} else {
|
||||
g_key_file_set_string(accounts, account_name, "jid", barejid);
|
||||
if (resource != NULL) {
|
||||
g_key_file_set_string(accounts, account_name, "resource", resource);
|
||||
} else {
|
||||
g_key_file_set_string(accounts, account_name, "resource", "profanity");
|
||||
}
|
||||
_save_accounts();
|
||||
}
|
||||
|
||||
jid_destroy(jid);
|
||||
|
@ -1135,9 +1135,18 @@ _cmd_account(gchar **args, struct cmd_help_t help)
|
||||
cons_show("");
|
||||
} else {
|
||||
if (strcmp(property, "jid") == 0) {
|
||||
accounts_set_jid(account_name, value);
|
||||
cons_show("Updated jid for account %s: %s", account_name, value);
|
||||
cons_show("");
|
||||
Jid *jid = jid_create(args[3]);
|
||||
if (jid == NULL) {
|
||||
cons_show("Malformed jid: %s", value);
|
||||
} else {
|
||||
accounts_set_jid(account_name, jid->barejid);
|
||||
cons_show("Updated jid for account %s: %s", account_name, jid->barejid);
|
||||
if (jid->resourcepart != NULL) {
|
||||
cons_show("Updated resource for account %s: %s", account_name, jid->resourcepart);
|
||||
}
|
||||
cons_show("");
|
||||
}
|
||||
jid_destroy(jid);
|
||||
} else if (strcmp(property, "server") == 0) {
|
||||
accounts_set_server(account_name, value);
|
||||
cons_show("Updated server for account %s: %s", account_name, value);
|
||||
|
@ -1227,14 +1227,17 @@ void
|
||||
cons_show_account(ProfAccount *account)
|
||||
{
|
||||
cons_show("%s account details:", account->name);
|
||||
cons_show("jid : %s", account->jid);
|
||||
if (account->enabled) {
|
||||
cons_show("enabled : TRUE");
|
||||
cons_show("enabled : TRUE");
|
||||
} else {
|
||||
cons_show("enabled : FALSE");
|
||||
cons_show("enabled : FALSE");
|
||||
}
|
||||
cons_show("jid : %s", account->jid);
|
||||
if (account->resource != NULL) {
|
||||
cons_show("resource : %s", account->resource);
|
||||
}
|
||||
if (account->server != NULL) {
|
||||
cons_show("server : %s", account->server);
|
||||
cons_show("server : %s", account->server);
|
||||
}
|
||||
cons_show("");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user