5 * by JH <jheinonen@bigfoot.com>
7 * Copyright (C) Jaakko Heinonen
14 #include "abook_curses.h"
21 struct conff_node *abook_config;
23 static int rcfile_exist();
24 static void default_options();
29 abook_opt_conff_get_val(char *key)
35 for(tried = 0; tried < 2; ) {
36 if( ( value = conff_get_value(abook_config, key) )
39 default_options(); /* try with defaults */
47 options_get_int(char *key)
52 if( ( value = abook_opt_conff_get_val(key) )
56 if( !strcasecmp(value, "true") )
59 if( !strcasecmp(value, "false") )
62 ret = safe_atoi(value);
68 options_get_str(char *key)
70 return abook_opt_conff_get_val(key);
89 conff_free_nodes(abook_config);
97 * edit your ~/.abook.conf manually
104 return ( (0 == access(SYSWIDE_RCFILE, F_OK)) ||
105 (0 == access(rcfile, F_OK)) );
113 if( (ret = conff_load_file(&abook_config, rcfile,
115 fprintf(stderr, "%s: parse error at line %d\n", rcfile, ret);
119 if( (ret = conff_load_file(&abook_config, SYSWIDE_RCFILE,
120 DONT_REPLACE_KEY )) > 0) {
121 fprintf(stderr, "%s: parse error at line %d\n",
122 SYSWIDE_RCFILE, ret);
130 if( rcfile_exist() ) /* don't overwrite existing config */
133 conff_save_file(abook_config, rcfile);
137 options_add_key(char *key, char *value)
139 const int flags = DONT_REPLACE_KEY;
141 conff_add_key(&abook_config, key, value, flags);
147 options_add_key("autosave", "true");
149 options_add_key("show_all_emails", "true");
150 options_add_key("emailpos", "25");
151 options_add_key("extra_column", "7");
152 options_add_key("extra_alternative", "-1");
153 options_add_key("extrapos", "65");
155 options_add_key("mutt_command", "mutt");
156 options_add_key("mutt_return_all_emails", "true");
158 options_add_key("print_command", "lpr");
160 options_add_key("filesel_sort", "false");
162 options_add_key("www_command", "lynx");
164 options_add_key("address_style", "eu");