1
1
/****************************************************************************
2
* Copyright (C) 2012-2013 by Savoir-Faire Linux *
2
* Copyright (C) 2012-2014 by Savoir-Faire Linux *
3
3
* Author : Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> *
5
5
* This library is free software; you can redistribute it and/or *
18
18
#include "credentialmodel.h"
20
20
#include <QtCore/QDebug>
21
#include <QtCore/QCoreApplication>
23
CredentialModel::CredentialModel(QObject* parent) : QAbstractListModel(parent) {
24
CredentialModel::CredentialModel(QObject* par) : QAbstractListModel(par?par:QCoreApplication::instance())
26
QHash<int, QByteArray> roles = roleNames();
27
roles.insert(CredentialModel::Role::NAME ,QByteArray("name"));
28
roles.insert(CredentialModel::Role::PASSWORD,QByteArray("password"));
29
roles.insert(CredentialModel::Role::REALM ,QByteArray("realm"));
33
CredentialModel::~CredentialModel()
35
foreach (CredentialData2* data, m_lCredentials) {
28
QVariant CredentialModel::data(const QModelIndex& index, int role) const {
29
if (index.column() == 0) {
41
QVariant CredentialModel::data(const QModelIndex& idx, int role) const {
42
if (idx.column() == 0) {
31
44
case Qt::DisplayRole:
32
return QVariant(m_lCredentials[index.row()]->name);
34
case CredentialModel::NAME_ROLE:
35
return m_lCredentials[index.row()]->name;
37
case CredentialModel::PASSWORD_ROLE:
38
return m_lCredentials[index.row()]->password;
40
case CredentialModel::REALM_ROLE:
41
return m_lCredentials[index.row()]->realm;
45
return QVariant(m_lCredentials[idx.row()]->name);
47
case CredentialModel::Role::NAME:
48
return m_lCredentials[idx.row()]->name;
50
case CredentialModel::Role::PASSWORD:
51
return m_lCredentials[idx.row()]->password;
53
case CredentialModel::Role::REALM:
54
return m_lCredentials[idx.row()]->realm;
48
63
///Number of credentials
49
int CredentialModel::rowCount(const QModelIndex& parent) const {
64
int CredentialModel::rowCount(const QModelIndex& par) const {
51
66
return m_lCredentials.size();
55
Qt::ItemFlags CredentialModel::flags(const QModelIndex& index) const {
56
if (index.column() == 0)
57
return QAbstractItemModel::flags(index) /*| Qt::ItemIsUserCheckable*/ | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
58
return QAbstractItemModel::flags(index);
70
Qt::ItemFlags CredentialModel::flags(const QModelIndex& idx) const {
71
if (idx.column() == 0)
72
return QAbstractItemModel::flags(idx) /*| Qt::ItemIsUserCheckable*/ | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
73
return QAbstractItemModel::flags(idx);
61
76
///Set credential data
62
bool CredentialModel::setData( const QModelIndex& index, const QVariant &value, int role) {
63
if (index.column() == 0 && role == CredentialModel::NAME_ROLE) {
64
m_lCredentials[index.row()]->name = value.toString();
65
emit dataChanged(index, index);
68
else if (index.column() == 0 && role == CredentialModel::PASSWORD_ROLE) {
69
m_lCredentials[index.row()]->password = value.toString();
70
emit dataChanged(index, index);
73
else if (index.column() == 0 && role == CredentialModel::REALM_ROLE) {
74
m_lCredentials[index.row()]->realm = value.toString();
75
emit dataChanged(index, index);
77
bool CredentialModel::setData( const QModelIndex& idx, const QVariant &value, int role) {
78
if (!idx.isValid() || idx.row() > m_lCredentials.size()-1)
80
if (idx.column() == 0 && role == CredentialModel::Role::NAME) {
81
m_lCredentials[idx.row()]->name = value.toString();
82
emit dataChanged(idx, idx);
85
else if (idx.column() == 0 && role == CredentialModel::Role::PASSWORD) {
86
m_lCredentials[idx.row()]->password = value.toString();
87
emit dataChanged(idx, idx);
90
else if (idx.column() == 0 && role == CredentialModel::Role::REALM) {
91
m_lCredentials[idx.row()]->realm = value.toString();
92
emit dataChanged(idx, idx);