/** * @RDE_HEADER@ * HMI Plugin for OperatorManagement - Group Overview Dialog Model * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-02-29 */ #include "group_model.h" #include #include #include namespace OperatorManagement { //--------------------------------- // GroupModel //--------------------------------- GroupModel::GroupModel(QObject *parent) : LtsWidgets::LtsAbstractTableModel({tr("Name"), tr("Info"), tr("Id")}, parent) , m_dtc(nullptr) , m_hideHidden(false) , m_logger(getLogger("GroupManagementDialogModel")) {} GroupModel::~GroupModel() {} bool GroupModel::initModel(const std::shared_ptr &dtc, bool hideHidden) { m_dtc = dtc; m_hideHidden = hideHidden; connect(m_dtc.get(), &OperatorManagement::Interface::Dtc::groupChanged, this, &GroupModel::onDataChanged); m_dtc->groups([this](const OperatorManagement::Group &group) { if (group.type() == GroupType_def::PresetGroup) insertRow(group); }); return true; } QVariant GroupModel::data(const QModelIndex &index, int role) const { if (role != Qt::DisplayRole && role != Qt::DecorationRole) return QVariant(); if (!indexIsValid(index)) return QVariant(); const OperatorManagement::Group &group = m_vecData.at(index.row()); if (role == Qt::DecorationRole && index.column() == 0) { if (group.type() == GroupType::OperatorGroup) return QIcon(QLatin1String("icon:list-add-user.svg")); if (group.type() == GroupType::AclGroup) return QIcon(QLatin1String("icon:define_teams.svg")); return QIcon(QLatin1String("icon:display_oc_evaluations.svg")); } if (role == Qt::DisplayRole) { switch (index.column()) { case Name: return OperatorManagement::trGroupName(group.name()); case Info: return OperatorManagement::trGroupDescription(group.description()); case Id: return group.id(); //return QVariant(DTG::toStringMSec(group.lastChanged())); } } return QVariant(); } } // namespace OperatorManagement