QStringList SpellCheck::userDictionaries() { // Load the list of user dictionaries. QDir userDictDir(userDictionaryDirectory()); QStringList user_dicts = userDictDir.entryList(QDir::Files | QDir::NoDotAndDotDot); user_dicts.sort(); return user_dicts; }
void Prefs_Spelling::downloadSpellDicts() { int rows=availDictTableWidget->rowCount(); QStringList dlLangs; for (int i=0; i<rows; ++i) { QTableWidgetItem *dlItem=availDictTableWidget->item(i,3); if (dlItem->checkState()==Qt::Checked) dlLangs<<availDictTableWidget->item(i,1)->text(); } if (dlLangs.isEmpty()) return; spellDownloadButton->setEnabled(false); downloadList.clear(); downloadProgressBar->setValue(0); downloadProgressBar->setVisible(true); dlLabel->setVisible(true); int i=0; QString userDictDir(ScPaths::getUserDictDir(ScPaths::Spell, true)); foreach(DownloadItem d, dictList) { if (dlLangs.contains(d.lang)) { if (d.filetype=="zip") { ScQApp->dlManager()->addURL(d.url, true, downloadLocation, userDictDir); ++i; } if (d.filetype=="plain") { //qDebug()<<d.url<<d.files; QStringList plainURLs(d.files.split(";", QString::SkipEmptyParts)); foreach (QString s, plainURLs) { ScQApp->dlManager()->addURL(d.url+"/"+s, true, downloadLocation, userDictDir); ++i; } downloadList.append(d); } }
QStringList ScPaths::hyphDirs() const { //dictionaryPaths QString macPortsPath("/opt/local/share/hunspell/"); QString finkPath("/sw/share/hunspell/"); QString osxLibreOfficePath("/Applications/LibreOffice.app/Contents/Resources/extensions"); QString osxUserLibreOfficePath(QDir::homePath()+"/Applications/LibreOffice.app/Contents/Resources/extensions"); QString linuxLocalPath("/usr/local/share/hunspell/"); QString linuxHunspellPath("/usr/share/hunspell/"); QString linuxMyspellPath("/usr/share/myspell/"); QString linuxHyphen1Path("/usr/share/hyphen/"); QString windowsLOPath("LibreOffice 3.5/share/extensions"); QDir d; QStringList hyphDirs; hyphDirs.append(userDictDir(ScPaths::Hyph, false)); hyphDirs.append(m_shareDir + "dicts/hyph/"); #ifdef Q_OS_MAC d.setPath(macPortsPath); if (d.exists()) hyphDirs.append(macPortsPath); d.setPath(finkPath); if (d.exists()) hyphDirs.append(finkPath); d.setPath(osxLibreOfficePath); if (d.exists()) { QStringList dictDirFilters("dict-*"); QStringList dictDirList(d.entryList(dictDirFilters, QDir::Dirs, QDir::Name)); QString dir; foreach (dir, dictDirList) hyphDirs.append(osxLibreOfficePath + "/" + dir + "/"); } d.setPath(osxUserLibreOfficePath); if (d.exists()) { QStringList dictDirFilters("dict-*"); QStringList dictDirList(d.entryList(dictDirFilters, QDir::Dirs, QDir::Name)); QString dir; foreach (dir, dictDirList) hyphDirs.append(osxUserLibreOfficePath + "/" + dir + "/"); } #elif defined(_WIN32) QString progFiles = windowsSpecialDir(CSIDL_PROGRAM_FILES); d.setPath(progFiles+windowsLOPath); if (d.exists()) { QStringList dictDirFilters("dict-*"); QStringList dictDirList(d.entryList(dictDirFilters, QDir::Dirs, QDir::Name)); QString dir; foreach (dir, dictDirList) hyphDirs.append(progFiles+windowsLOPath + "/" + dir + "/"); } #elif defined(Q_OS_LINUX) d.setPath(linuxHyphen1Path); if (d.exists()) hyphDirs.append(linuxHyphen1Path); d.setPath(linuxHunspellPath); if (d.exists()) hyphDirs.append(linuxHunspellPath); d.setPath(linuxMyspellPath); if (d.exists()) hyphDirs.append(linuxMyspellPath); d.setPath(linuxLocalPath); if (d.exists()) hyphDirs.append(linuxLocalPath); #endif return hyphDirs; }
void GR_MathManager::initialize(void) { XAP_App *pApp = XAP_App::getApp(); // load the gtkmathview settings and operator dictionaries from the private user directory, ... UT_UTF8String userConfDir(pApp->getUserPrivateDirectory()); UT_UTF8String userDictDir(pApp->getUserPrivateDirectory()); UT_UTF8String userCombiningDictDir(pApp->getUserPrivateDirectory()); UT_UTF8String userLocalDictDir(pApp->getUserPrivateDirectory()); #if defined(WIN32) userConfDir += "\\math\\gtkmathview.conf.xml"; userDictDir += "\\math\\dictionary.xml"; userCombiningDictDir += "\\math\\dictionary-combining.xml"; userLocalDictDir += "\\math\\dictionary-local.xml"; #else userConfDir += "/math/gtkmathview.conf.xml"; userDictDir += "/math/dictionary.xml"; userCombiningDictDir += "/math/dictionary-combining.xml"; userLocalDictDir += "/math/dictionary-local.xml"; #endif // ... or from the (common) AbiSuite directory UT_UTF8String libConfDir(pApp->getAbiSuiteLibDir()); UT_UTF8String libDictDir(pApp->getAbiSuiteLibDir()); UT_UTF8String libCombiningDictDir(pApp->getAbiSuiteLibDir()); UT_UTF8String libLocalDictDir(pApp->getAbiSuiteLibDir()); #if defined(WIN32) libConfDir += "\\math\\gtkmathview.conf.xml"; libDictDir += "\\math\\dictionary.xml"; libCombiningDictDir += "\\math\\dictionary-combining.xml"; libLocalDictDir += "\\math\\dictionary-local.xml"; #else libConfDir += "/math/gtkmathview.conf.xml"; libDictDir += "/math/dictionary.xml"; libCombiningDictDir += "/math/dictionary-combining.xml"; libLocalDictDir += "/math/dictionary-local.xml"; #endif // add the configuration paths #ifdef TOOLKIT_COCOA if (const char * resources = getenv("ABIWORD_COCOA_BUNDLED_RESOURCES")) { UT_UTF8String bundleConfDir(resources); bundleConfDir += "/gtkmathview/gtkmathview.conf.xml"; Configuration::addConfigurationPath(bundleConfDir.utf8_str()); } #endif Configuration::addConfigurationPath( libConfDir.utf8_str() ); Configuration::addConfigurationPath( userConfDir.utf8_str() ); SmartPtr<AbstractLogger> logger = Logger::create(); m_pLogger = logger; SmartPtr<Configuration> configuration = initConfiguration<libxml2_MathView>(logger, getenv("GTKMATHVIEWCONF")); logger->setLogLevel(LOG_INFO); // add the dictionary paths #ifdef TOOLKIT_COCOA if (const char * resources = getenv("ABIWORD_COCOA_BUNDLED_RESOURCES")) { UT_UTF8String bundleDictDir(resources); UT_UTF8String bundleCombiningDictDir(resources); UT_UTF8String bundleLocalDictDir(resources); bundleDictDir += "/gtkmathview/dictionary.xml"; bundleCombiningDictDir += "/gtkmathview/dictionary-combining.xml"; bundleLocalDictDir += "/gtkmathview/dictionary-local.xml"; configuration->add("dictionary/path", bundleDictDir.utf8_str()); configuration->add("dictionary/path", bundleCombiningDictDir.utf8_str()); configuration->add("dictionary/path", bundleLocalDictDir.utf8_str()); } #endif configuration->add("dictionary/path", libDictDir.utf8_str()); configuration->add("dictionary/path", libCombiningDictDir.utf8_str()); configuration->add("dictionary/path", libLocalDictDir.utf8_str()); configuration->add("dictionary/path", userDictDir.utf8_str()); configuration->add("dictionary/path", userCombiningDictDir.utf8_str()); configuration->add("dictionary/path", userLocalDictDir.utf8_str()); SmartPtr<GR_Abi_MathGraphicDevice> mathGraphicDevice = GR_Abi_MathGraphicDevice::create(logger, configuration, getGraphics()); m_pMathGraphicDevice = mathGraphicDevice; m_pAbiContext = new GR_Abi_RenderingContext(getGraphics()); UT_DEBUGMSG(("MAthView New rendering context %p Graphics %p \n",m_pAbiContext,getGraphics())); m_pOperatorDictionary = initOperatorDictionary<libxml2_MathView>(logger, configuration); }