Add string lists settings to plugins

This commit is contained in:
James Booth
2016-08-01 21:34:38 +01:00
parent 30e96b2d0f
commit 2518aa5078
8 changed files with 233 additions and 0 deletions

View File

@@ -41,6 +41,7 @@
#include "common.h"
#include "config/theme.h"
#include "config/files.h"
#include "config/conflists.h"
static GKeyFile *settings;
@@ -126,6 +127,45 @@ plugin_settings_set_int(const char *const group, const char *const key, int valu
_save_settings();
}
gchar**
plugin_settings_get_string_list(const char *const group, const char *const key)
{
if (!g_key_file_has_key(settings, group, key, NULL)) {
return NULL;
}
return g_key_file_get_string_list(settings, group, key, NULL, NULL);
}
int
plugin_settings_string_list_add(const char *const group, const char *const key, const char *const value)
{
int res = conf_string_list_add(settings, group, key, value);
_save_settings();
return res;
}
int
plugin_settings_string_list_remove(const char *const group, const char *const key, const char *const value)
{
int res = conf_string_list_remove(settings, group, key, value);
_save_settings();
return res;
}
void
plugin_settings_string_list_remove_all(const char *const group, const char *const key)
{
if (!g_key_file_has_key(settings, group, key, NULL)) {
return;
}
g_key_file_remove_key(settings, group, key, NULL);
_save_settings();
}
static void
_save_settings(void)
{