OSDN Git Service

Updated README file.
[x264-launcher/x264-launcher.git] / src / model_jobList.h
index a78e818..afb6674 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Simple x264 Launcher
-// Copyright (C) 2004-2012 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2016 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;
@@ -46,23 +48,42 @@ public:
 
        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);
+       bool moveJob(const QModelIndex &index, const int &direction);
        LogFileModel *getLogFile(const QModelIndex &index);
-       EncodeThread::JobStatus getJobStatus(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);
 
+       size_t saveQueuedJobs(void);
+       size_t loadQueuedJobs(const SysinfoModel *sysinfo);
+       void clearQueuedJobs(void);
+
+       typedef enum
+       {
+               MOVE_UP   = +1,
+               MOVE_DOWN = -1
+       }
+       move_t;
+
 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);
 };