42 lines
		
	
	
		
			990 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			990 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "ThreadTask.h"
 | |
| #include <QtConcurrentRun>
 | |
| ThreadTask::ThreadTask(Task * internal, QObject *parent) : Task(parent), m_internal(internal)
 | |
| {
 | |
| }
 | |
| 
 | |
| void ThreadTask::start()
 | |
| {
 | |
| 	connect(m_internal, SIGNAL(failed(QString)), SLOT(iternal_failed(QString)));
 | |
| 	connect(m_internal, SIGNAL(progress(qint64,qint64)), SLOT(iternal_progress(qint64,qint64)));
 | |
| 	connect(m_internal, SIGNAL(started()), SLOT(iternal_started()));
 | |
| 	connect(m_internal, SIGNAL(status(QString)), SLOT(iternal_status(QString)));
 | |
| 	connect(m_internal, SIGNAL(succeeded()), SLOT(iternal_succeeded()));
 | |
| 	m_running = true;
 | |
| 	QtConcurrent::run(m_internal, &Task::start);
 | |
| }
 | |
| 
 | |
| void ThreadTask::iternal_failed(QString reason)
 | |
| {
 | |
| 	emitFailed(reason);
 | |
| }
 | |
| 
 | |
| void ThreadTask::iternal_progress(qint64 current, qint64 total)
 | |
| {
 | |
| 	progress(current, total);
 | |
| }
 | |
| 
 | |
| void ThreadTask::iternal_started()
 | |
| {
 | |
| 	emit started();
 | |
| }
 | |
| 
 | |
| void ThreadTask::iternal_status(QString status)
 | |
| {
 | |
| 	setStatus(status);
 | |
| }
 | |
| 
 | |
| void ThreadTask::iternal_succeeded()
 | |
| {
 | |
| 	emitSucceeded();
 | |
| }
 |