Mercurial > geeqie.yaz
diff src/filelist.c @ 170:9a56e3d13e67
basic sidecar files configuration via preferences dialog
author | nadvornik |
---|---|
date | Sun, 23 Dec 2007 21:24:48 +0000 |
parents | 05bf5d364dba |
children | d18b94f1ca80 |
line wrap: on
line diff
--- a/src/filelist.c Sun Dec 23 20:28:50 2007 +0000 +++ b/src/filelist.c Sun Dec 23 21:24:48 2007 +0000 @@ -416,7 +416,7 @@ return sidecar_ext_list; } -void sidecar_ext_parse(const gchar *text) +void sidecar_ext_parse(const gchar *text, gint quoted) { GList *work; gchar *value; @@ -431,7 +431,10 @@ g_list_free(sidecar_ext_list); sidecar_ext_list = NULL; - value = quoted_value(text); + if (quoted) + value = quoted_value(text); + else + value = g_strdup(text); if (value == NULL) return; @@ -443,22 +446,28 @@ void sidecar_ext_write(FILE *f) { GList *work; - fprintf(f, "\nsidecar_ext: \""); - + fprintf(f, "\nsidecar_ext: \"%s\"\n", sidecar_ext_to_string()); +} + +char *sidecar_ext_to_string() +{ + GList *work; + GString *str = g_string_new(""); + work = sidecar_ext_list; while (work) { gchar *ext = work->data; work = work->next; - fprintf(f, "%s%s", ext, work ? ";" : ""); + g_string_append(str, ext); + if (work) g_string_append(str, ";"); } - fprintf(f, "\"\n"); - + return g_string_free(str, FALSE); } void sidecar_ext_add_defaults() { - sidecar_ext_parse("\".jpg;.cr2;.nef;.crw\""); + sidecar_ext_parse(".jpg;.cr2;.nef;.crw", FALSE); } /*