summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorKitty Barnett <develop@catznip.com>2012-06-11 16:04:24 +0200
committerKitty Barnett <develop@catznip.com>2012-06-11 16:04:24 +0200
commit53bd3ada86faf8c470989c809c2baeb3a3e7770c (patch)
tree7bb1fca7791ba812426d0ef8f6c40a9b3b618e2b /indra/llui
parent80b1a2c0a8f7b4444dc1588ba5f71bbb69b40acd (diff)
STORM-276 Distinguish between default dictionaries and user-installed dictionaries
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llspellcheck.cpp13
-rw-r--r--indra/llui/llspellcheck.h1
2 files changed, 12 insertions, 2 deletions
diff --git a/indra/llui/llspellcheck.cpp b/indra/llui/llspellcheck.cpp
index 7e6d594249..8b3ca50c29 100644
--- a/indra/llui/llspellcheck.cpp
+++ b/indra/llui/llspellcheck.cpp
@@ -106,6 +106,13 @@ const LLSD LLSpellChecker::getDictionaryData(const std::string& dict_language)
}
// static
+bool LLSpellChecker::hasDictionary(const std::string& dict_language, bool check_installed)
+{
+ const LLSD dict_info = getDictionaryData(dict_language);
+ return dict_info.has("language") && ( (!check_installed) || (dict_info["installed"].asBoolean()) );
+}
+
+// static
void LLSpellChecker::setDictionaryData(const LLSD& dict_info)
{
const std::string dict_language = dict_info["language"].asString();
@@ -150,9 +157,11 @@ void LLSpellChecker::refreshDictionaryMap()
{
LLSD custom_dict_map;
LLSDSerialize::fromXMLDocument(custom_dict_map, custom_file);
- for (LLSD::array_const_iterator it = custom_dict_map.beginArray(); it != custom_dict_map.endArray(); ++it)
+ for (LLSD::array_iterator it = custom_dict_map.beginArray(); it != custom_dict_map.endArray(); ++it)
{
- setDictionaryData(*it);
+ LLSD& dict_info = *it;
+ dict_info["user_installed"] = true;
+ setDictionaryData(dict_info);
}
custom_file.close();
}
diff --git a/indra/llui/llspellcheck.h b/indra/llui/llspellcheck.h
index acb121dd19..776565b20a 100644
--- a/indra/llui/llspellcheck.h
+++ b/indra/llui/llspellcheck.h
@@ -62,6 +62,7 @@ public:
static const LLSD getDictionaryData(const std::string& dict_language);
static const LLSD& getDictionaryMap() { return sDictMap; }
static bool getUseSpellCheck();
+ static bool hasDictionary(const std::string& dict_language, bool check_installed = false);
static void refreshDictionaryMap();
static void setUseSpellCheck(const std::string& dict_name);
protected: