summaryrefslogtreecommitdiffstats
path: root/scribus/langmgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scribus/langmgr.cpp')
-rw-r--r--scribus/langmgr.cpp36
1 files changed, 35 insertions, 1 deletions
diff --git a/scribus/langmgr.cpp b/scribus/langmgr.cpp
index f19832b..7f13ed3 100644
--- a/scribus/langmgr.cpp
+++ b/scribus/langmgr.cpp
@@ -20,7 +20,7 @@ for which a new license (GPL+exception) is in place.
***************************************************************************/
#include <iostream>
-
+#include <QDebug>
#include <QDir>
#include <QFileInfo>
#include <QMap>
@@ -302,6 +302,40 @@ QString LanguageManager::numericSequence(QString seq)
return retSeq;
}
+bool LanguageManager::findDictionaries(QStringList &sl)
+{
+ sl=ScPaths::instance().spellDirs();
+ if (sl.count()==0)
+ return false;
+ return true;
+}
+
+void LanguageManager::findDictionarySets(QStringList &dictionaryPaths, QMap<QString, QString> &dictionaryMap)
+{
+ for (int i=0; i<dictionaryPaths.count(); ++i)
+ {
+ // Find the dic and aff files in the location
+ QDir dictLocation(dictionaryPaths.at(i));
+ QStringList dictFilters("*.dic");
+ QStringList dictList(dictLocation.entryList(dictFilters, QDir::Files, QDir::Name));
+ dictList.replaceInStrings(".dic","");
+
+ //Ensure we have aff+dic file pairs, remove any hyphenation dictionaries from the list
+ QString dictName;
+ foreach(dictName, dictList)
+ {
+ if (!QFile::exists(dictionaryPaths.at(i)+dictName+".aff"))
+ dictList.removeAll(dictName);
+ else
+ {
+ if (!dictionaryMap.contains(dictName))
+ dictionaryMap.insert(dictName, dictionaryPaths.at(i)+dictName);
+ }
+ }
+// qDebug()<<"Number of dictionaries/AFFs found in"<<dictionaryPaths.at(i)<<":"<<dictList.count();
+ }
+}
+
LanguageManager::~LanguageManager()
{
langList.clear();