about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-09-28 21:24:49 +0100
committerJames Booth <boothj5@gmail.com>2015-09-28 21:24:49 +0100
commit0b03f72b2cbe900244f192edc0fee8e368a3b987 (patch)
treed20d9f8997c93de567d83e16e7741cd13c9c1ed7
parent16103f6cc70222fbf5434c0f29a8bd0487d69e78 (diff)
downloadprofani-tty-0b03f72b2cbe900244f192edc0fee8e368a3b987.tar.gz
Added missing account properties to /account rename
-rw-r--r--src/config/accounts.c55
1 files changed, 26 insertions, 29 deletions
diff --git a/src/config/accounts.c b/src/config/accounts.c
index 06506e23..3e556a42 100644
--- a/src/config/accounts.c
+++ b/src/config/accounts.c
@@ -53,21 +53,6 @@ static GKeyFile *accounts;
 static Autocomplete all_ac;
 static Autocomplete enabled_ac;
 
-// used to rename account (copies properties to new account)
-static gchar *string_keys[] = {
-    "jid",
-    "server",
-    "port",
-    "resource",
-    "password",
-    "eval_password",
-    "presence.last",
-    "presence.login",
-    "muc.service",
-    "muc.nick",
-    "otr.policy"
-};
-
 static void _save_accounts(void);
 static gchar * _get_accounts_file(void);
 static void _remove_from_list(GKeyFile *accounts, const char * const account_name, const char * const key, const char * const contact_jid);
@@ -338,21 +323,33 @@ accounts_rename(const char * const account_name, const char * const new_name)
         return FALSE;
     }
 
-    g_key_file_set_boolean(accounts, new_name, "enabled",
-        g_key_file_get_boolean(accounts, account_name, "enabled", NULL));
-
-    g_key_file_set_integer(accounts, new_name, "priority.online",
-        g_key_file_get_integer(accounts, account_name, "priority.online", NULL));
-    g_key_file_set_integer(accounts, new_name, "priority.chat",
-        g_key_file_get_integer(accounts, account_name, "priority.chat", NULL));
-    g_key_file_set_integer(accounts, new_name, "priority.away",
-        g_key_file_get_integer(accounts, account_name, "priority.away", NULL));
-    g_key_file_set_integer(accounts, new_name, "priority.xa",
-        g_key_file_get_integer(accounts, account_name, "priority.xa", NULL));
-    g_key_file_set_integer(accounts, new_name, "priority.dnd",
-        g_key_file_get_integer(accounts, account_name, "priority.dnd", NULL));
+    // treat all properties as strings for copy
+    gchar *string_keys[] = {
+        "enabled",
+        "jid",
+        "server",
+        "port",
+        "resource",
+        "password",
+        "eval_password",
+        "presence.last",
+        "presence.laststatus",
+        "presence.login",
+        "priority.online",
+        "priority.chat",
+        "priority.away",
+        "priority.xa",
+        "priority.dnd",
+        "muc.service",
+        "muc.nick",
+        "otr.policy",
+        "otr.manual",
+        "otr.opportunistic",
+        "otr.always",
+        "pgp.keyid",
+        "last.activity"
+    };
 
-    // copy other string properties
     int i;
     for (i = 0; i < ARRAY_SIZE(string_keys); i++) {
         char *value = g_key_file_get_string(accounts, account_name, string_keys[i], NULL);