#include "alienmodel.h"

AlienModel::AlienModel(QList <tbAlien> maliens, QObject *parent) :
    QAbstractListModel(parent)
{
        aliens = maliens;
}


void AlienModel::refresh(QList <tbAlien> maliens)
{
        aliens = maliens;
}


int AlienModel::rowCount(const QModelIndex &) const
{
        return aliens.count();
}


QVariant AlienModel::data(const QModelIndex &index, int role) const
{
	if (!index.isValid())
		return QVariant();

        if (index.row() >= aliens.size())
		return QVariant();

	if (role == Qt::DisplayRole)
	{
            return aliens.at(index.row()).name;
	}
        if (role == Qt::DecorationRole)
        {
            return QIcon(":/icons/icons/list-add.png");
        }
        if (role == Qt::ToolTipRole)
        {
            return tr("id=%1").arg(aliens.at(index.row()).id);
        }
        return QVariant();
}
