86 lines
2.4 KiB
C++
Executable File
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
|