Implement legacy forge button!
Many refactors of the task system. Progress dialog now accepts generic ProgressProvider objects
This commit is contained in:
@ -5,6 +5,8 @@
|
||||
#include "ByteArrayDownload.h"
|
||||
#include "CacheDownload.h"
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
ByteArrayDownloadPtr DownloadJob::add ( QUrl url )
|
||||
{
|
||||
ByteArrayDownloadPtr ptr (new ByteArrayDownload(url));
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "FileDownload.h"
|
||||
#include "CacheDownload.h"
|
||||
#include "HttpMetaCache.h"
|
||||
#include "logic/tasks/ProgressProvider.h"
|
||||
|
||||
class DownloadJob;
|
||||
typedef QSharedPointer<DownloadJob> DownloadJobPtr;
|
||||
@ -12,12 +13,12 @@ typedef QSharedPointer<DownloadJob> DownloadJobPtr;
|
||||
/**
|
||||
* A single file for the downloader/cache to process.
|
||||
*/
|
||||
class DownloadJob : public QObject
|
||||
class DownloadJob : public ProgressProvider
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DownloadJob(QString job_name)
|
||||
:QObject(), m_job_name(job_name){};
|
||||
:ProgressProvider(), m_job_name(job_name){};
|
||||
|
||||
ByteArrayDownloadPtr add(QUrl url);
|
||||
FileDownloadPtr add(QUrl url, QString rel_target_path);
|
||||
@ -37,6 +38,19 @@ public:
|
||||
{
|
||||
return downloads.size();
|
||||
}
|
||||
virtual void getProgress(qint64& current, qint64& total)
|
||||
{
|
||||
current = current_progress;
|
||||
total = total_progress;
|
||||
};
|
||||
virtual QString getStatus() const
|
||||
{
|
||||
return m_job_name;
|
||||
};
|
||||
virtual bool isRunning() const
|
||||
{
|
||||
return m_running;
|
||||
};
|
||||
signals:
|
||||
void started();
|
||||
void progress(qint64 current, qint64 total);
|
||||
@ -56,5 +70,6 @@ private:
|
||||
qint64 total_progress = 0;
|
||||
int num_succeeded = 0;
|
||||
int num_failed = 0;
|
||||
bool m_running = false;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user