mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-15 12:09:06 +00:00
48 lines
1,002 B
C++
48 lines
1,002 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;
|
|
}
|