OSDN Git Service

Made getLogFile() function "const" and made sure that we will return a const referenc...
[lamexp/LameXP.git] / src / Model_Progress.h
index a812843..9e86877 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2011 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
@@ -25,7 +25,9 @@
 
 #include <QString>
 #include <QStringList>
-#include <QMap>
+#include <QHash>
+#include <QSet>
+#include <QUuid>
 #include <QIcon>
 #include <QUuid>
 
@@ -43,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
@@ -53,22 +65,38 @@ public:
        QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
 
        //Public functions
-       const QStringList &getLogFile(const QModelIndex &index);
+       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 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:
        QList<QUuid> m_jobList;
-       QMap<QUuid, QString> m_jobName;
-       QMap<QUuid, QString> m_jobStatus;
-       QMap<QUuid, int> m_jobState;
-       QMap<QUuid, QStringList> m_jobLogFile;
+       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;
 };