diff options
author | Will Song <incertia9474@gmail.com> | 2014-11-27 11:42:23 -0600 |
---|---|---|
committer | Will Song <incertia9474@gmail.com> | 2014-11-27 11:42:23 -0600 |
commit | de9e621bb776b91aecfca02973fbfcbe16b38162 (patch) | |
tree | 6f02adff5cce85a428bb4875af15bc1343a13d67 | |
parent | 94bd9dbdfe7e7188e20bddf68565277630197822 (diff) | |
download | profani-tty-de9e621bb776b91aecfca02973fbfcbe16b38162.tar.gz |
add default account property and commands associated with them
-rw-r--r-- | src/command/commands.c | 31 | ||||
-rw-r--r-- | src/config/preferences.c | 3 | ||||
-rw-r--r-- | src/config/preferences.h | 1 |
3 files changed, 35 insertions, 0 deletions
diff --git a/src/command/commands.c b/src/command/commands.c index fc95f521..ba6b44fc 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -243,6 +243,37 @@ cmd_account(gchar **args, struct cmd_help_t help) cons_show(""); } } + } else if (strcmp(command, "default") == 0) { + if(g_strv_length(args) == 1){ + char *def = prefs_get_string(PREF_DEFAULT_ACCOUNT); + + if(def){ + cons_show("The default account is %s.", def); + free(def); + } else { + cons_show("No default account."); + } + } else if(g_strv_length(args) == 2){ + if(strcmp(args[1], "off") == 0){ + prefs_set_string(PREF_DEFAULT_ACCOUNT, NULL); + cons_show("Removed default account."); + } else { + cons_show("Usage: %s", help.usage); + } + } else if(g_strv_length(args) == 3) { + if(strcmp(args[1], "set") == 0){ + if(accounts_get_account(args[2])){ + prefs_set_string(PREF_DEFAULT_ACCOUNT, args[2]); + cons_show("Default account set to %s.", args[2]); + } else { + cons_show("Account %s does not exist.", args[2]); + } + } else { + cons_show("Usage: %s", help.usage); + } + } else { + cons_show("Usage: %s", help.usage); + } } else if (strcmp(command, "set") == 0) { if (g_strv_length(args) != 4) { cons_show("Usage: %s", help.usage); diff --git a/src/config/preferences.c b/src/config/preferences.c index baf3e853..4ae4e91d 100644 --- a/src/config/preferences.c +++ b/src/config/preferences.c @@ -521,6 +521,7 @@ _get_group(preference_t pref) case PREF_AUTOAWAY_MESSAGE: return PREF_GROUP_PRESENCE; case PREF_CONNECT_ACCOUNT: + case PREF_DEFAULT_ACCOUNT: return PREF_GROUP_CONNECTION; case PREF_OTR_WARN: case PREF_OTR_LOG: @@ -602,6 +603,8 @@ _get_key(preference_t pref) return "autoaway.message"; case PREF_CONNECT_ACCOUNT: return "account"; + case PREF_DEFAULT_ACCOUNT: + return "defaccount"; case PREF_OTR_LOG: return "log"; case PREF_OTR_WARN: diff --git a/src/config/preferences.h b/src/config/preferences.h index d2a3fafd..5193455a 100644 --- a/src/config/preferences.h +++ b/src/config/preferences.h @@ -90,6 +90,7 @@ typedef enum { PREF_AUTOAWAY_MODE, PREF_AUTOAWAY_MESSAGE, PREF_CONNECT_ACCOUNT, + PREF_DEFAULT_ACCOUNT, PREF_LOG_ROTATE, PREF_LOG_SHARED, PREF_OTR_LOG, |