Files
qt5-legatus-legacy/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/group_model.cpp
T
2026-08-13 18:33:10 +02:00

86 lines
2.4 KiB
C++
Executable File

/**
* @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 <ngltools/ngltools_dtg.h>
#include <OperatorManagement/opm_translation.h>
#include <QIcon>
namespace OperatorManagement
{
//---------------------------------
// GroupModel
//---------------------------------
GroupModel::GroupModel(QObject *parent)
: LtsWidgets::LtsAbstractTableModel<OperatorManagement::Group>({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<Interface::Dtc> &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