#include "support/gettext.h"
#include "support/lstrings.h"
#include "support/os.h"
-#include "support/unicode.h"
#include "support/mythes/mythes.hxx"
namespace {
-string const to_iconv_encoding(docstring const & s, string const & encoding)
-{
- std::vector<char> const encoded =
- ucs4_to_eightbit(s.data(), s.length(), encoding);
- return string(encoded.begin(), encoded.end());
-}
-
-
-docstring const from_iconv_encoding(string const & s, string const & encoding)
-{
- std::vector<char_type> const ucs4 =
- eightbit_to_ucs4(s.data(), s.length(), encoding);
- return docstring(ucs4.begin(), ucs4.end());
-}
-
typedef std::map<docstring, MyThes *> Thesauri;
} // namespace anon
return false;
}
+ ///
+ typedef std::pair<std::string, std::string> ThesFiles;
+ ///
+ ThesFiles getThesaurus(docstring const & lang);
/// add a thesaurus to the list
bool addThesaurus(docstring const & lang);
Thesauri thes_;
};
-bool Thesaurus::Private::addThesaurus(docstring const & lang)
+
+pair<string, string> Thesaurus::Private::getThesaurus(docstring const & lang)
{
string const thes_path = external_path(lyxrc.thesaurusdir_path);
LYXERR(Debug::FILES, "thesaurus path: " << thes_path);
if (thes_path.empty())
- return false;
+ return make_pair(string(), string());
if (thesaurusAvailable(lang))
- return true;
+ return make_pair(string(), string());
FileNameList const idx_files = FileName(thes_path).dirList("idx");
FileNameList const data_files = FileName(thes_path).dirList("dat");
}
}
+ return make_pair(idx, data);
+}
+
+
+bool Thesaurus::Private::addThesaurus(docstring const & lang)
+{
+ ThesFiles files = getThesaurus(lang);
+ string const idx = files.first;
+ string const data = files.second;
+
if (idx.empty() || data.empty())
return false;
}
+bool Thesaurus::thesaurusInstalled(docstring const & lang) const
+{
+ pair<string, string> files = d->getThesaurus(lang);
+ return (!files.first.empty() && !files.second.empty());
+}
+
+
Thesaurus::Meanings Thesaurus::lookup(docstring const & t, docstring const & lang)
{
Meanings meanings;