diff options
| author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-05-31 20:25:57 +0000 |
|---|---|---|
| committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-05-31 20:25:57 +0000 |
| commit | d2ea48aace0d70a369d7f288d08615c475c7e5a6 (patch) | |
| tree | ccab0059dcfaab01f8ab41ecc1aaa15e2cc12e07 /scribus/downloadmanager/scdlthread.h | |
| parent | 3e45d96fc4cc935f1a318da181f9adafcbd4e7e4 (diff) | |
| download | scribus-d2ea48aace0d70a369d7f288d08615c475c7e5a6.tar.gz scribus-d2ea48aace0d70a369d7f288d08615c475c7e5a6.tar.xz scribus-d2ea48aace0d70a369d7f288d08615c475c7e5a6.zip | |
Add beginnings of threaded download manager
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17531 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/downloadmanager/scdlthread.h')
| -rw-r--r-- | scribus/downloadmanager/scdlthread.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/scribus/downloadmanager/scdlthread.h b/scribus/downloadmanager/scdlthread.h new file mode 100644 index 0000000..7d5b4eb --- /dev/null +++ b/scribus/downloadmanager/scdlthread.h @@ -0,0 +1,47 @@ +#ifndef SCDLTHREAD_H +#define SCDLTHREAD_H + +#include <QThread> +#include <QUrl> +#include <QStringList> +#include <QPair> +#include <QString> +#include <QQueue> +#include <QFile> +#include <QNetworkAccessManager> + +class ScDLThread : public QThread +{ + Q_OBJECT + public: + ScDLThread(QObject * parent = 0); + ~ScDLThread(); + void run(); + + void addURL(const QUrl &url, bool overwrite, const QString& location=""); + void addURLs(const QStringList &urlList, bool overwrite, const QString& location=""); + void startDownloads(); + QString saveFileName(const QUrl &url, const QString &location, bool overwrite); + + signals: + void finished(); + void runSignal(); + void received(const QString &); + + private slots: + void startNextDownload(); + void downloadFinished(); + void downloadReadyRead(); + void runSlot(); + + private: + bool urlOK(QUrl url); + QStringList m_urlList; + QFile output; + QQueue<QPair<QUrl, QString> > downloadQueue; + int downloadedCount; + int totalCount; + QNetworkReply *currentDownload; + QNetworkAccessManager manager; +}; +#endif |
