forked from mirror/openmw-tes3mp
OpenCS shows plug-ins with load order issues.
1. FileDiaog in OpenCS now shows warning icon beside .esm./.esp files with load order problems. 2. omwlaucher -> replaced "stop" icon with "warning" icon for files with load order problems.
This commit is contained in:
parent
b66937d630
commit
017e4cd4ef
3 changed files with 12 additions and 10 deletions
|
@ -6,13 +6,12 @@
|
|||
#include <QDir>
|
||||
#include <QTextCodec>
|
||||
#include <QDebug>
|
||||
#include <QBrush>
|
||||
#include <QIcon>
|
||||
|
||||
#include "components/esm/esmreader.hpp"
|
||||
|
||||
ContentSelectorModel::ContentModel::ContentModel(QObject *parent) :
|
||||
ContentSelectorModel::ContentModel::ContentModel(QObject *parent, QIcon warningIcon) :
|
||||
QAbstractTableModel(parent),
|
||||
mWarningIcon(warningIcon),
|
||||
mMimeType ("application/omwcontent"),
|
||||
mMimeTypes (QStringList() << mMimeType),
|
||||
mColumnCount (1),
|
||||
|
@ -180,7 +179,7 @@ QVariant ContentSelectorModel::ContentModel::data(const QModelIndex &index, int
|
|||
{
|
||||
case Qt::DecorationRole:
|
||||
{
|
||||
return isLoadOrderError(file) ? QIcon::fromTheme("edit-delete") : QVariant();
|
||||
return isLoadOrderError(file) ? mWarningIcon : QVariant();
|
||||
}
|
||||
|
||||
case Qt::EditRole:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include <QAbstractTableModel>
|
||||
#include <QStringList>
|
||||
#include <QSet>
|
||||
|
||||
#include <QIcon>
|
||||
#include "loadordererror.hpp"
|
||||
|
||||
namespace ContentSelectorModel
|
||||
|
@ -23,7 +23,7 @@ namespace ContentSelectorModel
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ContentModel(QObject *parent = 0);
|
||||
explicit ContentModel(QObject *parent, QIcon warningIcon);
|
||||
~ContentModel();
|
||||
|
||||
void setEncoding(const QString &encoding);
|
||||
|
@ -57,6 +57,9 @@ namespace ContentSelectorModel
|
|||
|
||||
void refreshModel();
|
||||
|
||||
/// Checks all plug-ins for load order errors and updates mPluginsWithLoadOrderError with plug-ins with issues
|
||||
void checkForLoadOrderErrors();
|
||||
|
||||
private:
|
||||
|
||||
void addFile(EsmFile *file);
|
||||
|
@ -65,9 +68,6 @@ namespace ContentSelectorModel
|
|||
|
||||
void sortFiles();
|
||||
|
||||
/// Checks all plug-ins for load order errors and updates mPluginsWithLoadOrderError with plug-ins with issues
|
||||
void checkForLoadOrderErrors();
|
||||
|
||||
/// Checks a specific plug-in for load order errors
|
||||
/// \return all errors found for specific plug-in
|
||||
QList<LoadOrderError> checkForLoadOrderErrors(const EsmFile *file, int row) const;
|
||||
|
@ -82,6 +82,7 @@ namespace ContentSelectorModel
|
|||
QSet<QString> mPluginsWithLoadOrderError;
|
||||
QTextCodec *mCodec;
|
||||
QString mEncoding;
|
||||
QIcon mWarningIcon;
|
||||
|
||||
public:
|
||||
|
||||
|
|
|
@ -24,7 +24,8 @@ ContentSelectorView::ContentSelector::ContentSelector(QWidget *parent) :
|
|||
|
||||
void ContentSelectorView::ContentSelector::buildContentModel()
|
||||
{
|
||||
mContentModel = new ContentSelectorModel::ContentModel(this);
|
||||
QIcon warningIcon(ui.addonView->style()->standardIcon(QStyle::SP_MessageBoxWarning).pixmap(QSize(16, 15)));
|
||||
mContentModel = new ContentSelectorModel::ContentModel(this, warningIcon);
|
||||
}
|
||||
|
||||
void ContentSelectorView::ContentSelector::buildGameFileView()
|
||||
|
@ -161,6 +162,7 @@ void ContentSelectorView::ContentSelector::slotCurrentGameFileIndexChanged(int i
|
|||
oldIndex = index;
|
||||
|
||||
model->setData(model->index(index, 0), true, Qt::UserRole + 1);
|
||||
mContentModel->checkForLoadOrderErrors();
|
||||
}
|
||||
|
||||
if (proxy)
|
||||
|
|
Loading…
Reference in a new issue