OSDN Git Service

Happy new year 2014!
[x264-launcher/x264-launcher.git] / src / model_jobList.h
index bd41835..a941a7e 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2012 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2@GMX.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 #include <QList>
 #include <QMap>
 
+class PreferencesModel;
+
 class JobListModel : public QAbstractItemModel
 {
        Q_OBJECT
                
 public:
-       JobListModel(void);
+       JobListModel(PreferencesModel *preferences);
        ~JobListModel(void);
 
        virtual int columnCount(const QModelIndex &parent) const;
@@ -44,17 +46,32 @@ public:
        virtual QModelIndex parent (const QModelIndex &index) const;
        virtual QVariant data(const QModelIndex &index, int role) const;
 
-       bool JobListModel::insertJob(EncodeThread *thread);
+       QModelIndex insertJob(EncodeThread *thread);
+       bool startJob(const QModelIndex &index);
+       bool pauseJob(const QModelIndex &index);
+       bool resumeJob(const QModelIndex &index);
+       bool abortJob(const QModelIndex &index);
+       bool deleteJob(const QModelIndex &index);
        LogFileModel *getLogFile(const QModelIndex &index);
+       const QString &getJobSourceFile(const QModelIndex &index);
+       const QString &getJobOutputFile(const QModelIndex &index);
+       JobStatus getJobStatus(const QModelIndex &index);
+       unsigned int getJobProgress(const QModelIndex &index);
+       const OptionsModel *getJobOptions(const QModelIndex &index);
+       QModelIndex getJobIndexById(const QUuid &id);
 
 protected:
        QList<QUuid> m_jobs;
+       QMap<QUuid, QString> m_name;
        QMap<QUuid, EncodeThread*> m_threads;
-       QMap<QUuid, EncodeThread::JobStatus> m_status;
+       QMap<QUuid, JobStatus> m_status;
        QMap<QUuid, unsigned int> m_progress;
        QMap<QUuid, LogFileModel*> m_logFile;
+       QMap<QUuid, QString> m_details;
+       PreferencesModel *m_preferences;
 
 public slots:
-       void updateStatus(const QUuid &jobId, EncodeThread::JobStatus newStatus);
+       void updateStatus(const QUuid &jobId, JobStatus newStatus);
        void updateProgress(const QUuid &jobId, unsigned int newProgress);
+       void updateDetails(const QUuid &jobId, const QString &details);
 };