diff options
author | James Booth <boothj5@gmail.com> | 2015-11-19 23:21:51 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-11-19 23:21:51 +0000 |
commit | 316b6a7b8bf2aab233bc777d0eb224e6af814f7b (patch) | |
tree | 2febb8f2f98a597c268b076d2601550d21dd6365 /src/config | |
parent | 78a8487892a294b4690d20e04f0081d5d6c71823 (diff) | |
download | profani-tty-316b6a7b8bf2aab233bc777d0eb224e6af814f7b.tar.gz |
Added /roster char header
Diffstat (limited to 'src/config')
-rw-r--r-- | src/config/preferences.c | 34 | ||||
-rw-r--r-- | src/config/preferences.h | 4 | ||||
-rw-r--r-- | src/config/theme.c | 7 |
3 files changed, 45 insertions, 0 deletions
diff --git a/src/config/preferences.c b/src/config/preferences.c index 0f5041bf..36f02a64 100644 --- a/src/config/preferences.c +++ b/src/config/preferences.c @@ -444,6 +444,40 @@ prefs_set_pgp_char(char ch) _save_prefs(); } +char +prefs_get_roster_header_char(void) +{ + char result = 0; + + char *resultstr = g_key_file_get_string(prefs, PREF_GROUP_UI, "roster.header.char", NULL); + if (!resultstr) { + result = 0; + } else { + result = resultstr[0]; + } + free(resultstr); + + return result; +} + +void +prefs_set_roster_header_char(char ch) +{ + char str[2]; + str[0] = ch; + str[1] = '\0'; + + g_key_file_set_string(prefs, PREF_GROUP_UI, "roster.header.char", str); + _save_prefs(); +} + +void +prefs_clear_roster_header_char(void) +{ + g_key_file_remove_key(prefs, PREF_GROUP_UI, "roster.header.char", NULL); + _save_prefs(); +} + gboolean prefs_add_alias(const char *const name, const char *const value) { diff --git a/src/config/preferences.h b/src/config/preferences.h index c5f60469..e75e94eb 100644 --- a/src/config/preferences.h +++ b/src/config/preferences.h @@ -165,6 +165,10 @@ void prefs_set_otr_char(char ch); char prefs_get_pgp_char(void); void prefs_set_pgp_char(char ch); +char prefs_get_roster_header_char(void); +void prefs_set_roster_header_char(char ch); +void prefs_clear_roster_header_char(void); + void prefs_add_login(const char *jid); gboolean prefs_add_alias(const char *const name, const char *const value); diff --git a/src/config/theme.c b/src/config/theme.c index a6649e88..73cdf0ad 100644 --- a/src/config/theme.c +++ b/src/config/theme.c @@ -469,6 +469,13 @@ _load_preferences(void) gint roster_size = g_key_file_get_integer(theme, "ui", "roster.size", NULL); prefs_set_roster_size(roster_size); } + if (g_key_file_has_key(theme, "ui", "roster.header.char", NULL)) { + gchar *ch = g_key_file_get_string(theme, "ui", "roster.header.char", NULL); + if (ch && strlen(ch) > 0) { + prefs_set_roster_header_char(ch[0]); + g_free(ch); + } + } _set_boolean_preference("privileges", PREF_MUC_PRIVILEGES); |