Changed filter mechanism for game / addons

Filters by number of master references, regardless of extension
This commit is contained in:
graffy76 2013-08-16 17:26:23 -05:00
parent 21121d5ba5
commit bfb71f23c9
2 changed files with 13 additions and 4 deletions

View file

@ -25,13 +25,13 @@ FileDialog::FileDialog(QWidget *parent) :
mDataFilesModel = new DataFilesModel(this); mDataFilesModel = new DataFilesModel(this);
mMastersProxyModel = new QSortFilterProxyModel(); mMastersProxyModel = new QSortFilterProxyModel();
mMastersProxyModel->setFilterRegExp(QString("^.*\\.esm")); mMastersProxyModel->setFilterRegExp("game"); //QString("^.*\\.esm"));
mMastersProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); mMastersProxyModel->setFilterRole (Qt::UserRole);
mMastersProxyModel->setSourceModel(mDataFilesModel); mMastersProxyModel->setSourceModel(mDataFilesModel);
mPluginsProxyModel = new PluginsProxyModel(); mPluginsProxyModel = new PluginsProxyModel();
mPluginsProxyModel->setFilterRegExp(QString("^.*\\.esp")); mPluginsProxyModel->setFilterRegExp("addon"); //QString("^.*\\.esp"));
mPluginsProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); mPluginsProxyModel->setFilterRole (Qt::UserRole);
mPluginsProxyModel->setSourceModel(mDataFilesModel); mPluginsProxyModel->setSourceModel(mDataFilesModel);
mFilterProxyModel = new QSortFilterProxyModel(); mFilterProxyModel = new QSortFilterProxyModel();

View file

@ -144,6 +144,15 @@ QVariant DataFilesModel::data(const QModelIndex &index, int role) const
return tooltip; return tooltip;
} }
case Qt::UserRole:
{
if (file->masters().size() == 0)
return "game";
else
return "addon";
}
default: default:
return QVariant(); return QVariant();
} }