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.
openmw-35
dteviot 10 years ago
parent b66937d630
commit 017e4cd4ef

@ -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…
Cancel
Save