OSDN Git Service

Simplified QKeccakHash and added self-test function.
[lamexp/LameXP.git] / src / Model_Progress.h
index 14759c4..9e86877 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2010 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2012 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 <QString>
 #include <QStringList>
-#include <QMap>
+#include <QHash>
+#include <QSet>
+#include <QUuid>
 #include <QIcon>
+#include <QUuid>
 
 class ProgressModel : public QAbstractTableModel
 {
+       Q_OBJECT
+
 public:
        ProgressModel(void);
        ~ProgressModel(void);
@@ -40,7 +45,17 @@ public:
                JobRunning = 0,
                JobPaused = 1,
                JobComplete = 2,
-               JobFailed = 3
+               JobFailed = 3,
+               JobSystem = 4,
+               JobWarning = 5,
+               JobPerformance = 6,
+               JobSkipped = 7
+       };
+       enum SysMsgType
+       {
+               SysMsg_Info = 0,
+               SysMsg_Performance = 1,
+               SysMsg_Warning = 2
        };
 
        //Model functions
@@ -49,18 +64,39 @@ public:
        QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
        QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
 
+       //Public functions
+       const QStringList &getLogFile(const QModelIndex &index) const;
+       const QUuid &getJobId(const QModelIndex &index) const;
+       const JobState getJobState(const QModelIndex &index) const;
+       const QIcon &ProgressModel::getIcon(ProgressModel::JobState state) const;
+       void restoreHiddenItems(void);
+
 public slots:
-       void addJob(const QString &jobId, const QString &jobName, const QString &jobInitialStatus = QString("Initializing..."), int jobInitialState = JobRunning);
-       void updateJob(const QString &jobId, const QString &newStatus, int newState);
+       void addJob(const QUuid &jobId, const QString &jobName, const QString &jobInitialStatus = QString("Initializing..."), int jobInitialState = JobRunning);
+       void updateJob(const QUuid &jobId, const QString &newStatus, int newState);
+       void appendToLog(const QUuid &jobId, const QString &line);
+       void addSystemMessage(const QString &text, int type = SysMsg_Info);
 
 private:
-       QStringList m_jobList;
-       QMap<QString, QString> m_jobName;
-       QMap<QString, QString> m_jobStatus;
-       QMap<QString, int> m_jobState;
+       QList<QUuid> m_jobList;
+       QList<QUuid> m_jobListHidden;
+       QHash<QUuid, QString> m_jobName;
+       QHash<QUuid, QString> m_jobStatus;
+       QHash<QUuid, int> m_jobState;
+       QHash<QUuid, QStringList> m_jobLogFile;
+       QHash<QUuid, int> m_jobIndexCache;
+       QSet<QUuid> m_jobIdentifiers;
 
        const QIcon m_iconRunning;
        const QIcon m_iconPaused;
        const QIcon m_iconComplete;
        const QIcon m_iconFailed;
+       const QIcon m_iconSystem;
+       const QIcon m_iconWarning;
+       const QIcon m_iconPerformance;
+       const QIcon m_iconSkipped;
+       const QIcon m_iconUndefined;
+
+       const QStringList m_emptyList;
+       const QUuid m_emptyUuid;
 };