Switch JobStatus enum to scoped enum.

This commit is contained in:
Andrius Štikonas 2018-04-12 15:18:50 +03:00
parent 0263e45251
commit 527734e9e8
2 changed files with 12 additions and 23 deletions

View File

@ -35,7 +35,7 @@
Job::Job() :
m_Report(nullptr),
m_Status(Pending)
m_Status(Status::Pending)
{
}
@ -121,7 +121,7 @@ Report* Job::jobStarted(Report& parent)
void Job::jobFinished(Report& report, bool b)
{
setStatus(b ? Success : Error);
setStatus(b ? Status::Success : Status::Error);
emit progress(numSteps());
emit finished();
@ -137,12 +137,7 @@ QString Job::statusIcon() const
QStringLiteral("dialog-error")
};
Q_ASSERT(status() >= 0 && static_cast<quint32>(status()) < sizeof(icons) / sizeof(icons[0]));
if (status() < 0 || static_cast<quint32>(status()) >= sizeof(icons) / sizeof(icons[0]))
return QString();
return icons[status()];
return icons[static_cast<int>(status())];
}
/** @return the Job's current status text */
@ -154,10 +149,5 @@ QString Job::statusText() const
xi18nc("@info:progress job", "Error")
};
Q_ASSERT(status() >= 0 && static_cast<quint32>(status()) < sizeof(s) / sizeof(s[0]));
if (status() < 0 || static_cast<quint32>(status()) >= sizeof(s) / sizeof(s[0]))
return QString();
return s[status()];
return s[static_cast<int>(status())];
}

View File

@ -15,8 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.*
*************************************************************************/
#if !defined(KPMCORE_JOB_H)
#ifndef KPMCORE_JOB_H
#define KPMCORE_JOB_H
#include "fs/filesystem.h"
@ -49,10 +48,10 @@ class LIBKPMCORE_EXPORT Job : public QObject
public:
/** Status of this Job */
enum JobStatus {
Pending = 0, /**< Pending, not yet run */
Success, /**< Successfully run */
Error /**< Running generated an error */
enum class Status : int {
Pending, /**< Pending, not yet run */
Success, /**< Successfully run */
Error /**< Running generated an error */
};
protected:
@ -76,7 +75,7 @@ public:
virtual QString statusIcon() const;
virtual QString statusText() const;
JobStatus status() const {
Status status() const {
return m_Status; /**< @return the Job's current status */
}
@ -90,13 +89,13 @@ protected:
Report* jobStarted(Report& parent);
void jobFinished(Report& report, bool b);
void setStatus(JobStatus s) {
void setStatus(Status s) {
m_Status = s;
}
private:
Report *m_Report;
JobStatus m_Status;
Status m_Status;
};
#endif