openmw-tes3coop/components/esxselector/model/pluginsproxymodel.cpp

41 lines
1,009 B
C++
Raw Normal View History

#include "pluginsproxymodel.hpp"
2013-09-07 20:57:40 +00:00
#include "contentmodel.hpp"
#include <QDebug>
2013-09-07 20:57:40 +00:00
EsxModel::PluginsProxyModel::PluginsProxyModel(QObject *parent, ContentModel *model) :
QSortFilterProxyModel(parent)
{
setFilterRegExp (QString("addon"));
setFilterRole (Qt::UserRole);
setDynamicSortFilter (true);
if (model)
setSourceModel (model);
}
EsxModel::PluginsProxyModel::~PluginsProxyModel()
{
}
QVariant EsxModel::PluginsProxyModel::data(const QModelIndex &index, int role) const
{
switch (role)
{
case Qt::CheckStateRole:
{
2013-09-07 20:57:40 +00:00
if (index.column() != 0)
return QVariant();
2013-09-07 20:57:40 +00:00
return static_cast<ContentModel *>(sourceModel())->checkState(mapToSource(index));
}
2013-09-07 20:57:40 +00:00
}
return QSortFilterProxyModel::data(index, role);
}
bool EsxModel::PluginsProxyModel::removeRows(int position, int rows, const QModelIndex &parent)
{
bool success = QSortFilterProxyModel::removeRows(position, rows, parent);
2013-09-07 20:57:40 +00:00
return success;
}