mirror of https://github.com/OpenMW/openmw.git
Adjust plug-in order to match profile loading.
Also marks plug-ins with load order problems in red and changes tool tip to describe error.pull/420/head
parent
a62e15d93d
commit
dfbd470613
@ -0,0 +1,22 @@
|
||||
#include "loadordererror.hpp"
|
||||
#include <assert.h>
|
||||
|
||||
QString ContentSelectorModel::LoadOrderError::sErrorToolTips[ErrorCode_LoadOrder] =
|
||||
{
|
||||
QString("Unable to find dependant file: %1"),
|
||||
QString("Dependent file needs to be active: %1"),
|
||||
QString("This file needs to load after %1"),
|
||||
};
|
||||
|
||||
ContentSelectorModel::LoadOrderError ContentSelectorModel::LoadOrderError::sNoError = ContentSelectorModel::LoadOrderError();
|
||||
|
||||
QString ContentSelectorModel::LoadOrderError::toolTip() const
|
||||
{
|
||||
assert(mErrorCode);
|
||||
return sErrorToolTips[mErrorCode - 1].arg(mFileName);
|
||||
}
|
||||
|
||||
bool ContentSelectorModel::LoadOrderError::operator== (const ContentSelectorModel::LoadOrderError& rhs) const
|
||||
{
|
||||
return (mErrorCode == rhs.mErrorCode) && ((mErrorCode == ErrorCode_None) || (mFileName == rhs.mFileName));
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
#ifndef LOADORDERERROR_HPP
|
||||
#define LOADORDERERROR_HPP
|
||||
|
||||
#include <QString>
|
||||
|
||||
namespace ContentSelectorModel
|
||||
{
|
||||
/// \Details of a suspected Load Order problem a plug-in will have. This is basically a POD
|
||||
class LoadOrderError
|
||||
{
|
||||
public:
|
||||
enum ErrorCode
|
||||
{
|
||||
ErrorCode_None = 0,
|
||||
ErrorCode_MissingDependency = 1,
|
||||
ErrorCode_InactiveDependency = 2,
|
||||
ErrorCode_LoadOrder = 3,
|
||||
};
|
||||
|
||||
inline LoadOrderError() : mErrorCode(ErrorCode_None) {};
|
||||
inline LoadOrderError(ErrorCode errorCode, QString fileName)
|
||||
{
|
||||
mErrorCode = errorCode;
|
||||
mFileName = fileName;
|
||||
}
|
||||
inline ErrorCode errorCode() const { return mErrorCode; }
|
||||
inline QString fileName() const { return mFileName; }
|
||||
bool operator==(const LoadOrderError& rhs) const;
|
||||
QString toolTip() const;
|
||||
|
||||
/// \Sentinal to represent a "No Load Order Error" condition
|
||||
static LoadOrderError sNoError;
|
||||
|
||||
private:
|
||||
ErrorCode mErrorCode;
|
||||
QString mFileName;
|
||||
static QString sErrorToolTips[ErrorCode_LoadOrder];
|
||||
};
|
||||
}
|
||||
|
||||
#endif // LOADORDERERROR_HPP
|
Loading…
Reference in New Issue