X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fdictmngr.cpp;h=ec8d1c0c48c72500eff236df3eedadb9ba2b8c47;hb=09bebc64e6fc8ba9c88a198c0a89bbd8ed306ec8;hp=ce712ccb828d0ead753310d63d2338dd98f5ef22;hpb=cc522f362bb7834c886cc917f2a7cf45f7028044;p=mstardict diff --git a/src/dictmngr.cpp b/src/dictmngr.cpp index ce712cc..ec8d1c0 100644 --- a/src/dictmngr.cpp +++ b/src/dictmngr.cpp @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -40,6 +41,9 @@ #include "mstardict.hpp" #include "dictmngr.hpp" +#define DEFAULT_DICT_DIR "/home/user/MyDocs/mstardict" +#define STARDICT_DICT_DIR "/home/user/.stardict/dic" + enum { BOOKNAME_DICT_INFO_COLUMN, FILENAME_DICT_INFO_COLUMN, @@ -59,6 +63,12 @@ class GetAllDictList { DictMngr::DictMngr(MStarDict *mStarDict) { oStarDict = mStarDict; + + /* check if default dictionary exists */ + if (!g_file_test(DEFAULT_DICT_DIR, GFileTest(G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) { + if (g_mkdir(DEFAULT_DICT_DIR, S_IRWXU)==-1) + g_warning("Cannot create directory %s.", DEFAULT_DICT_DIR); + } } DictMngr::~DictMngr() @@ -186,8 +196,11 @@ DictMngr::GetAllDictionaryList(std::list < std::string > &dict_list) strlist_t order_list; strlist_t disable_list; - /* dictionary directory */ - dicts_dir_list.push_back(std::string("/home/user/MyDocs/mstardict")); + /* default mstardict dictionary directory */ + dicts_dir_list.push_back(std::string(DEFAULT_DICT_DIR)); + + /* stardict dictionary directory */ + dicts_dir_list.push_back(std::string(STARDICT_DICT_DIR)); for_each_file(dicts_dir_list, ".ifo", order_list, disable_list, GetAllDictList(dict_list)); }