diff options
author | Dom Lachowicz <domlachowicz@gmail.com> | 2009-05-22 21:34:06 +0000 |
---|---|---|
committer | Dom Lachowicz <domlachowicz@gmail.com> | 2009-05-22 21:34:06 +0000 |
commit | eceb0e0441abbc696cee6d4c00ba1a226351038c (patch) | |
tree | 99e453056505ab854000b3bead47cdde087c4aa9 | |
parent | 38d3b1737836861a1bed5d8b4f05e8b3c0aa4a89 (diff) | |
download | enchant-eceb0e0441abbc696cee6d4c00ba1a226351038c.tar.gz |
myspell and ispell now query for any programatically-set dictionary paths. the function that parses the path is not yet implemented.
git-svn-id: svn+ssh://svn.abisource.com/svnroot/enchant/trunk@26482 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
-rw-r--r-- | src/enchant-provider.h | 3 | ||||
-rw-r--r-- | src/enchant.c | 6 | ||||
-rw-r--r-- | src/ispell/ispell_checker.cpp | 14 | ||||
-rw-r--r-- | src/myspell/myspell_checker.cpp | 14 |
4 files changed, 37 insertions, 0 deletions
diff --git a/src/enchant-provider.h b/src/enchant-provider.h index 88653a5..fafcd7d 100644 --- a/src/enchant-provider.h +++ b/src/enchant-provider.h @@ -74,6 +74,9 @@ ENCHANT_MODULE_EXPORT(void) ENCHANT_MODULE_EXPORT(FILE *) enchant_fopen (const gchar *filename, const gchar *mode); +ENCHANT_MODULE_EXPORT (GSList *) + enchant_get_dirs_from_param (EnchantBroker * broker, const char * const param_name); + struct str_enchant_dict { void *user_data; diff --git a/src/enchant.c b/src/enchant.c index 190f998..9429c91 100644 --- a/src/enchant.c +++ b/src/enchant.c @@ -2282,3 +2282,9 @@ enchant_broker_set_param (EnchantBroker * broker, const char * const param_name, else g_hash_table_insert (broker->params, g_strdup (param_name), g_strdup (param_value)); } + +ENCHANT_MODULE_EXPORT (GSList *) +enchant_get_dirs_from_param (EnchantBroker * broker, const char * const param_name) +{ + return NULL; +} diff --git a/src/ispell/ispell_checker.cpp b/src/ispell/ispell_checker.cpp index fd1fdf4..59aad47 100644 --- a/src/ispell/ispell_checker.cpp +++ b/src/ispell/ispell_checker.cpp @@ -357,6 +357,20 @@ ispell_checker_get_dictionary_dirs (EnchantBroker * broker) dirs = g_slist_append (dirs, g_strdup (ENCHANT_ISPELL_DICT_DIR)); #endif + { + GSList *config_dirs, *iter; + + config_dirs = enchant_get_dirs_from_param (broker, "enchant.ispell.dictionary.path"); + + for (iter = config_dirs; iter; iter = iter->next) + { + dirs = g_slist_append (dirs, g_strdup ((const gchar *)iter->data)); + } + + g_slist_foreach (config_dirs, (GFunc)g_free, NULL); + g_slist_free (config_dirs); + } + return dirs; } diff --git a/src/myspell/myspell_checker.cpp b/src/myspell/myspell_checker.cpp index 88f9636..6ee761e 100644 --- a/src/myspell/myspell_checker.cpp +++ b/src/myspell/myspell_checker.cpp @@ -280,6 +280,20 @@ myspell_checker_get_dictionary_dirs (EnchantBroker * broker) } #endif + { + GSList *config_dirs, *iter; + + config_dirs = enchant_get_dirs_from_param (broker, "enchant.myspell.dictionary.path"); + + for (iter = config_dirs; iter; iter = iter->next) + { + dirs = g_slist_append (dirs, g_strdup ((const gchar *)iter->data)); + } + + g_slist_foreach (config_dirs, (GFunc)g_free, NULL); + g_slist_free (config_dirs); + } + return dirs; } |