From 9922cef1af71786ae788903b52a8968e5775d510 Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Tue, 5 Jul 2005 03:15:53 +0000 Subject: Save / Load --- src/rccconfig.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 71 insertions(+), 6 deletions(-) (limited to 'src/rccconfig.c') diff --git a/src/rccconfig.c b/src/rccconfig.c index 6d0a372..e1ac34a 100644 --- a/src/rccconfig.c +++ b/src/rccconfig.c @@ -3,6 +3,7 @@ #include "internal.h" #include "rccconfig.h" +#include "opt.h" static rcc_charset_id rcc_autoengine_russian(rcc_engine_context ctx, const char *buf, int len) { return (rcc_charset_id)rcdGetRussianCharset(buf,len); @@ -14,7 +15,8 @@ rcc_language_alias rcc_default_aliases[] = { { NULL, NULL} }; -const char rcc_engine_nonconfigured[] = "NonConfigured"; +const char rcc_engine_nonconfigured[] = "default"; +const char rcc_option_nonconfigured[] = "default"; rcc_engine rcc_default_engine = { "Off", NULL, NULL, NULL, {NULL} @@ -24,7 +26,7 @@ rcc_engine rcc_russian_engine = { "Russian", NULL, NULL, &rcc_autoengine_russian, {"CP1251","KOI8-R","UTF-8","IBM866", NULL} }; -rcc_language rcc_default_languages[] = { +rcc_language rcc_default_languages[RCC_MAX_LANGUAGES + 1] = { {"default", {"Default", NULL}, { &rcc_default_engine, NULL @@ -115,8 +117,71 @@ rcc_language_name rcc_default_language_names[RCC_MAX_LANGUAGES+1] = { }; rcc_option_name rcc_default_option_names[] = { - { RCC_LEARNING_MODE, "Learning Mode" }, - { RCC_AUTODETECT_FS_TITLES, "Autodetect FS Encoding" }, - { RCC_AUTODETECT_FS_NAMES, "Autodetect File Names" }, - { RCC_MAX_OPTIONS, NULL} + { RCC_LEARNING_MODE, "Learning Mode", "LEARNING_MODE" }, + { RCC_AUTODETECT_FS_TITLES, "Autodetect FS Encoding", "AUTODETECT_FS_TITLES" }, + { RCC_AUTODETECT_FS_NAMES, "Autodetect File Names", "AUTODETECT_FS_NAMES" }, + { RCC_MAX_OPTIONS, NULL, NULL} }; + +rcc_option_defval rcc_default_option_values[] = { + { RCC_LEARNING_MODE, 0 }, + { RCC_AUTODETECT_FS_TITLES, 1}, + { RCC_AUTODETECT_FS_NAMES, 1}, + { RCC_MAX_OPTIONS, 0} +}; + +const char *rccGetLanguageFullName(const char *lang) { + unsigned int i; + rcc_language_name *names; + + if (!lang) return NULL; + + names = rcc_default_language_names; + + for (i=0;names[i].sn;i++) + if (!strcmp(lang, names[i].sn)) return names[i].name; + + return NULL; +} + +const char *rccGetOptionName(rcc_option option) { + unsigned int i; + rcc_option_name *names; + + if ((option<0)||(option>=RCC_MAX_OPTIONS)) return NULL; + + names = rcc_default_option_names; + + for (i=0;names[i].option!=RCC_MAX_OPTIONS;i++) + if (names[i].option == option) return names[i].sn; + + return NULL; +} + +const char *rccGetOptionFullName(rcc_option option) { + unsigned int i; + rcc_option_name *names; + + if ((option<0)||(option>=RCC_MAX_OPTIONS)) return NULL; + + names = rcc_default_option_names; + + for (i=0;names[i].option!=RCC_MAX_OPTIONS;i++) + if (names[i].option == option) return names[i].name; + + return NULL; +} + +rcc_option_value rccGetOptionDefaultValue(rcc_option option) { + unsigned int i; + rcc_option_defval *values; + + if ((option<0)||(option>=RCC_MAX_OPTIONS)) return 0; + + values = rcc_default_option_values; + + for (i=0;values[i].option!=RCC_MAX_OPTIONS;i++) + if (values[i].option == option) return values[i].value; + + return 0; +} -- cgit v1.2.3