diff options
| author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-06-11 20:35:49 +0000 |
|---|---|---|
| committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-06-11 20:35:49 +0000 |
| commit | cb22b1ee9cd50064c08dfac8db5e7cb4310c6040 (patch) | |
| tree | ba8ce32fedda993ea7568c1c6fee1cd95134993d /scribus/hysettings.cpp | |
| parent | d77ce5bf6743ed2007f75f9bbdde6c1c538f14a2 (diff) | |
| download | scribus-cb22b1ee9cd50064c08dfac8db5e7cb4310c6040.tar.gz scribus-cb22b1ee9cd50064c08dfac8db5e7cb4310c6040.tar.xz scribus-cb22b1ee9cd50064c08dfac8db5e7cb4310c6040.zip | |
Add plain download type that does not get unzipped just moved into place. Now use http://cgit.freedesktop.org/libreoffice/dictionaries/tree/dictionaries for dict source
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17554 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/hysettings.cpp')
| -rw-r--r-- | scribus/hysettings.cpp | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/scribus/hysettings.cpp b/scribus/hysettings.cpp index edd7cf1..9f569a3 100644 --- a/scribus/hysettings.cpp +++ b/scribus/hysettings.cpp @@ -12,7 +12,7 @@ for which a new license (GPL+exception) is in place. #include "scribusdoc.h" #include "util_icon.h" #include "util.h" -#include "ui/downloaddictionaries.h" +#include "util_file.h" #include "scpaths.h" #include <QDomDocument> #include <QHeaderView> @@ -182,9 +182,21 @@ void HySettings::downloadSpellDicts() { if (dlLangs.contains(d.lang)) { - ScQApp->dlManager()->addURL(d.url, true, downloadLocation); - downloadList.append(d); - ++i; + if (d.filetype=="zip") + { + ScQApp->dlManager()->addURL(d.url, true, downloadLocation); + downloadList.append(d); + ++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); + downloadList.append(d); + ++i; + } } } if (i>0) @@ -251,16 +263,29 @@ void HySettings::downloadSpellDictsFinished() foreach(DictData d, downloadList) { QString basename = QFileInfo(d.url).fileName(); - QString filename=downloadLocation+"/"+basename; + QString filename=downloadLocation+basename; //qDebug()<<filename; - FileUnzip* fun = new FileUnzip(filename); - QStringList files=d.files.split(";", QString::SkipEmptyParts); - foreach (QString s, files) + if (d.filetype=="zip") + { + //qDebug()<<"zip data found"<<filename; + FileUnzip* fun = new FileUnzip(filename); + QStringList files=d.files.split(";", QString::SkipEmptyParts); + foreach (QString s, files) + { + //qDebug()<<"Unzipping"<<userDictDir+s; + QString data=fun->getFile(s, userDictDir); + } + delete fun; + } + if (d.filetype=="plain") { - qDebug()<<"Unzipping"<<userDictDir+s; - QString data=fun->getFile(s, userDictDir); + QStringList files=d.files.split(";", QString::SkipEmptyParts); + foreach (QString s, files) + { + //qDebug()<<"plain data found"<<downloadLocation<<userDictDir<<s; + moveFile(downloadLocation+s, userDictDir+s); + } } - delete fun; } updateDictList(); } @@ -293,7 +318,7 @@ void HySettings::setAvailDictsXMLFile(QString availDictsXMLDataFile) if( !e.isNull() ) { if (e.tagName()=="dictionary") { - if (e.hasAttribute("type")) + if (e.hasAttribute("type") && e.hasAttribute("filetype")) { if (e.attribute("type")=="spell") { @@ -305,6 +330,7 @@ void HySettings::setAvailDictsXMLFile(QString availDictsXMLDataFile) d.version=e.attribute("version"); d.lang=e.attribute("language"); d.license=e.attribute("license"); + d.filetype=e.attribute("filetype"); QUrl url(d.url); if (url.isValid() && !url.isEmpty() && !url.host().isEmpty()) dictList.append(d); |
