khanat-code-old/code/ryzom/tools/client/ryzom_installer/src/profilesmodel.cpp
2016-03-12 21:56:23 +01:00

48 lines
1,003 B
C++

#include "profilesmodel.h"
CProfilesModel::CProfilesModel(QObject *parent):QAbstractListModel(parent)
{
m_profiles = CConfigFile::getInstance()->getProfiles();
}
CProfilesModel::CProfilesModel(const CProfiles &profiles, QObject *parent):QAbstractListModel(parent), m_profiles(profiles)
{
}
CProfilesModel::~CProfilesModel()
{
}
int CProfilesModel::rowCount(const QModelIndex &parent) const
{
return m_profiles.size();
}
QVariant CProfilesModel::data(const QModelIndex &index, int role) const
{
if (role != Qt::DisplayRole) return QVariant();
const CProfile &profile = m_profiles.at(index.row());
return QString("%1 (#%2)").arg(profile.name).arg(profile.id);
}
bool CProfilesModel::removeRows(int row, int count, const QModelIndex &parent)
{
if (row < 0) return false;
beginRemoveRows(parent, row, row + count - 1);
m_profiles.removeAt(row);
endRemoveRows();
return true;
}
bool CProfilesModel::save() const
{
CConfigFile::getInstance()->setProfiles(m_profiles);
return true;
}