summaryrefslogtreecommitdiffstats
path: root/scribus/langmgr.cpp
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-06-07 20:01:10 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-06-07 20:01:10 +0000
commit1ae91cf9fdb1dc8292404bf2d6c58384f0557eda (patch)
tree93f0ed17416cd4e6aca7803f3a7efbffb476b317 /scribus/langmgr.cpp
parent1b786f099b838cf42237bf7b18b9615f858673b3 (diff)
downloadscribus-1ae91cf9fdb1dc8292404bf2d6c58384f0557eda.tar.gz
scribus-1ae91cf9fdb1dc8292404bf2d6c58384f0557eda.tar.xz
scribus-1ae91cf9fdb1dc8292404bf2d6c58384f0557eda.zip
Add in dictionary downloader code, updates to downloader threading and add in GUI to hyphenator preferences for downloading
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17542 11d20701-8431-0410-a711-e3c959e3b870
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();