예제 #1
0
DictionaryArray Exword::GetLocalDictionaries()
{
    static const wxChar *country[] = { NULL, wxT("ja"), wxT("cn"),
                                       wxT("kr"), wxT("de"), wxT("es"),
                                       wxT("fr"), wxT("ru")};
    DictionaryArray list;
    wxString path;
    if (IsConnected()) {
        path.Printf(wxT("%s%c%s%c"), Exword::GetUserDataDir().c_str(),
                    wxFileName::GetPathSeparator(), country[m_region],
                    wxFileName::GetPathSeparator());
        wxDir dir(path);
        if (dir.IsOpened()) {
            wxString filename;
            bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_DIRS);
            while (cont) {
                Dictionary *local = new LocalDictionary(filename, m_region);
                if (local->Exists()) {
                    list.Add(local);
                }
                cont = dir.GetNext(&filename);
            }
        }
    }
    return list;
}