21 #include "jobs/abstractjob.h"
24 #include <QStandardItemModel>
26 class JobQueue :
public QStandardItemModel
30 JobQueue(QObject *parent);
34 enum ColumnRole { COLUMN_ICON, COLUMN_OUTPUT, COLUMN_STATUS, COLUMN_COUNT };
36 static JobQueue &singleton(QObject *parent = 0);
38 AbstractJob *add(AbstractJob *job);
39 AbstractJob *jobFromIndex(
const QModelIndex &index)
const;
44 bool isPaused()
const;
45 bool hasIncomplete()
const;
46 void remove(
const QModelIndex &index);
47 void removeFinished();
48 QList<AbstractJob *> jobs()
const {
return m_jobs; }
49 bool targetIsInProgress(
const QString &target);
55 void onProgressUpdated(QStandardItem *standardItem,
int percent);
56 void onFinished(AbstractJob *job,
bool isSuccess, QString time);
59 QList<AbstractJob *> m_jobs;
64 #define JOBS JobQueue::singleton()