diff options
Diffstat (limited to 'src/config')
-rw-r--r-- | src/config/files.c | 24 | ||||
-rw-r--r-- | src/config/files.h | 7 | ||||
-rw-r--r-- | src/config/preferences.c | 13 | ||||
-rw-r--r-- | src/config/preferences.h | 3 | ||||
-rw-r--r-- | src/config/theme.c | 1 |
5 files changed, 42 insertions, 6 deletions
diff --git a/src/config/files.c b/src/config/files.c index da2b66bb..576303fb 100644 --- a/src/config/files.c +++ b/src/config/files.c @@ -113,7 +113,7 @@ files_get_inputrc_file(void) } char* -files_get_log_file(char *log_file) +files_get_log_file(const char *const log_file) { gchar *xdg_data = _files_get_xdg_data_home(); GString *logfile = g_string_new(xdg_data); @@ -140,7 +140,7 @@ files_get_log_file(char *log_file) } gchar* -files_get_config_path(char *config_base) +files_get_config_path(const char *const config_base) { gchar *xdg_config = _files_get_xdg_config_home(); GString *file_str = g_string_new(xdg_config); @@ -154,7 +154,7 @@ files_get_config_path(char *config_base) } gchar* -files_get_data_path(char *data_base) +files_get_data_path(const char *const data_base) { gchar *xdg_data = _files_get_xdg_data_home(); GString *file_str = g_string_new(xdg_data); @@ -167,6 +167,24 @@ files_get_data_path(char *data_base) return result; } +gchar* +files_get_account_data_path(const char *const specific_dir, const char *const jid) +{ + gchar *data_dir = files_get_data_path(specific_dir); + GString *result_dir = g_string_new(data_dir); + g_free(data_dir); + + gchar *account_dir = str_replace(jid, "@", "_at_"); + g_string_append(result_dir, "/"); + g_string_append(result_dir, account_dir); + g_free(account_dir); + + gchar *result = g_strdup(result_dir->str); + g_string_free(result_dir, TRUE); + + return result; +} + static char* _files_get_xdg_config_home(void) { diff --git a/src/config/files.h b/src/config/files.h index c87c4501..2a74793f 100644 --- a/src/config/files.h +++ b/src/config/files.h @@ -60,10 +60,11 @@ void files_create_directories(void); -gchar* files_get_config_path(char *config_base); -gchar* files_get_data_path(char *data_base); +gchar* files_get_config_path(const char *const config_base); +gchar* files_get_data_path(const char *const data_base); +gchar* files_get_account_data_path(const char *const specific_dir, const char *const jid); -gchar* files_get_log_file(char *log_file); +gchar* files_get_log_file(const char *const log_file); gchar* files_get_inputrc_file(void); #endif diff --git a/src/config/preferences.c b/src/config/preferences.c index 84f0302f..e46cbe45 100644 --- a/src/config/preferences.c +++ b/src/config/preferences.c @@ -62,6 +62,7 @@ #define PREF_GROUP_OTR "otr" #define PREF_GROUP_PGP "pgp" #define PREF_GROUP_OMEMO "omemo" +#define PREF_GROUP_OX "ox" #define PREF_GROUP_MUC "muc" #define PREF_GROUP_PLUGINS "plugins" #define PREF_GROUP_EXECUTABLES "executables" @@ -1052,6 +1053,18 @@ prefs_set_pgp_char(char *ch) } char* +prefs_get_ox_char(void) +{ + return _prefs_get_encryption_char("%", PREF_GROUP_OX, "ox.char"); +} + +gboolean +prefs_set_ox_char(char *ch) +{ + return _prefs_set_encryption_char(ch, PREF_GROUP_OX, "ox.char"); +} + +char* prefs_get_omemo_char(void) { return _prefs_get_encryption_char("~", PREF_GROUP_OMEMO, "omemo.char"); diff --git a/src/config/preferences.h b/src/config/preferences.h index 0bd10d44..e3110904 100644 --- a/src/config/preferences.h +++ b/src/config/preferences.h @@ -245,6 +245,9 @@ char* prefs_get_pgp_char(void); gboolean prefs_set_pgp_char(char *ch); char* prefs_get_omemo_char(void); gboolean prefs_set_omemo_char(char *ch); +// XEP-0373: OpenPGP for XMPP +char* prefs_get_ox_char(void); +gboolean prefs_set_ox_char(char *ch); char prefs_get_roster_header_char(void); void prefs_set_roster_header_char(char ch); diff --git a/src/config/theme.c b/src/config/theme.c index e9726593..c4df93a0 100644 --- a/src/config/theme.c +++ b/src/config/theme.c @@ -102,6 +102,7 @@ theme_init(const char *const theme_name) g_hash_table_insert(defaults, strdup("titlebar.chat"), strdup("white")); g_hash_table_insert(defaults, strdup("titlebar.dnd"), strdup("white")); g_hash_table_insert(defaults, strdup("titlebar.xa"), strdup("white")); + g_hash_table_insert(defaults, strdup("titlebar.scrolled"), strdup("default")); g_hash_table_insert(defaults, strdup("statusbar.text"), strdup("white")); g_hash_table_insert(defaults, strdup("statusbar.brackets"), strdup("cyan")); g_hash_table_insert(defaults, strdup("statusbar.active"), strdup("cyan")); |