summaryrefslogtreecommitdiff
path: root/src/prefs.c
diff options
context:
space:
mode:
authorJorge Arellano Cid <jcid@dillo.org>2011-07-24 13:47:24 -0400
committerJorge Arellano Cid <jcid@dillo.org>2011-07-24 13:47:24 -0400
commit378a4098e362794b4feb3d75e40b6ada697c47e9 (patch)
treea0e7e1dd5ed6790227e0f98cf7e17021cb089277 /src/prefs.c
parent58d8a78e4c89ba7609cb16ba8b4462235137fd58 (diff)
Added multiple search engines (with several 'search_url' lines in dillorc)
This patch adds the PREFS_STRINGS type to the prefsparser, which allows having multiple different strings asociated with one dillorc option (stored in a list)
Diffstat (limited to 'src/prefs.c')
-rw-r--r--src/prefs.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/prefs.c b/src/prefs.c
index be0882bd..cbd1f5d8 100644
--- a/src/prefs.c
+++ b/src/prefs.c
@@ -75,7 +75,10 @@ void a_Prefs_init(void)
prefs.panel_size = P_medium;
prefs.parse_embedded_css=TRUE;
prefs.save_dir = dStrdup(PREFS_SAVE_DIR);
- prefs.search_url = dStrdup(PREFS_SEARCH_URL);
+ prefs.search_urls = dList_new(16);
+ dList_append(prefs.search_urls, dStrdup(PREFS_SEARCH_URL));
+ dList_append(prefs.search_urls, NULL); /* flags a default search URL */
+ prefs.search_url_idx = 0;
prefs.show_back = TRUE;
prefs.show_bookmarks = TRUE;
prefs.show_clear_url = TRUE;
@@ -104,6 +107,8 @@ void a_Prefs_init(void)
*/
void a_Prefs_freeall(void)
{
+ int i;
+
dFree(prefs.font_cursive);
dFree(prefs.font_fantasy);
dFree(prefs.font_monospace);
@@ -117,6 +122,8 @@ void a_Prefs_freeall(void)
dFree(prefs.http_user_agent);
dFree(prefs.no_proxy);
dFree(prefs.save_dir);
- dFree(prefs.search_url);
+ for (i = 0; i < dList_length(prefs.search_urls); ++i)
+ dFree(dList_nth_data(prefs.search_urls, i));
+ dList_free(prefs.search_urls);
a_Url_free(prefs.start_page);
}