summaryrefslogtreecommitdiffstats
path: root/scribus/hysettings.cpp
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-06-11 20:35:49 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-06-11 20:35:49 +0000
commitcb22b1ee9cd50064c08dfac8db5e7cb4310c6040 (patch)
treeba8ce32fedda993ea7568c1c6fee1cd95134993d /scribus/hysettings.cpp
parentd77ce5bf6743ed2007f75f9bbdde6c1c538f14a2 (diff)
downloadscribus-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.cpp50
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);