21 #include "postjobaction.h"
23 #include <QModelIndex>
30 class AbstractJob :
public QProcess
34 explicit AbstractJob(
const QString& name);
35 virtual ~AbstractJob() {}
37 void setStandardItem(QStandardItem* item);
38 QStandardItem* standardItem();
41 void appendToLog(
const QString&);
43 QString label()
const {
return m_label; }
44 void setLabel(
const QString& label);
45 QList<QAction*> standardActions()
const {
return m_standardActions; }
46 QList<QAction*> successActions()
const {
return m_successActions; }
47 QTime estimateRemaining(
int percent);
48 QTime time()
const {
return m_totalTime; }
49 void setPostJobAction(PostJobAction* action);
56 void progressUpdated(QStandardItem* item,
int percent);
57 void finished(AbstractJob* job,
bool isSuccess, QString failureTime = QString());
60 QList<QAction*> m_standardActions;
61 QList<QAction*> m_successActions;
62 QStandardItem* m_item;
65 virtual void onFinished(
int exitCode, QProcess::ExitStatus exitStatus = QProcess::NormalExit);
66 virtual void onReadyRead();
67 virtual void onStarted();
70 void onProgressUpdated(QStandardItem*,
int percent);
78 int m_startingPercent;
80 QScopedPointer<PostJobAction> m_postJobAction;
83 #endif // ABSTRACTJOB_H