• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeutils API Reference
  • KDE Home
  • Contact Us
 

kgpg

  • sources
  • kde-4.12
  • kdeutils
  • kgpg
  • model
kgpgitemmodel.cpp
Go to the documentation of this file.
1 /* Copyright 2008,2009,2010,2011,2012,2013 Rolf Eike Beer <kde@opensource.sf-tec.de>
2  *
3  * This program is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU General Public License as
5  * published by the Free Software Foundation; either version 2 of
6  * the License or (at your option) version 3 or any later version
7  * accepted by the membership of KDE e.V. (or its successor approved
8  * by the membership of KDE e.V.), which shall act as a proxy
9  * defined in Section 14 of version 3 of the license.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 #include "kgpgitemmodel.h"
20 
21 #include "kgpgsettings.h"
22 #include "core/convert.h"
23 #include "core/images.h"
24 #include "model/kgpgitemnode.h"
25 
26 #include <KGlobal>
27 #include <KLocale>
28 #include <QMetaObject>
29 
30 KGpgItemModel::KGpgItemModel(QObject *parent)
31  : QAbstractItemModel(parent),
32  m_root(new KGpgRootNode(this)),
33  m_default(KGpgSettings::defaultKey())
34 {
35  QMetaObject::invokeMethod(this, "refreshGroups", Qt::QueuedConnection);
36 }
37 
38 KGpgItemModel::~KGpgItemModel()
39 {
40  delete m_root;
41 }
42 
43 QModelIndex
44 KGpgItemModel::index(int row, int column, const QModelIndex &parent) const
45 {
46  if (hasIndex(row, column, parent)) {
47  KGpgNode *parentNode = nodeForIndex(parent);
48  KGpgNode *childNode = parentNode->getChild(row);
49  return createIndex(row, column, childNode);
50  }
51  return QModelIndex();
52 }
53 
54 QModelIndex
55 KGpgItemModel::parent(const QModelIndex &child) const
56 {
57  if (!child.isValid())
58  return QModelIndex();
59  KGpgNode *childNode = nodeForIndex(child);
60  KGpgNode *parentNode = childNode->m_parent;
61 
62  if (parentNode == m_root)
63  return QModelIndex();
64 
65  Q_ASSERT(parentNode != NULL);
66  int row = rowForNode(parentNode);
67  int column = 0;
68 
69  return createIndex(row, column, parentNode);
70 }
71 
72 int
73 KGpgItemModel::rowCount(const QModelIndex &parent) const
74 {
75  if (parent.column() > 0)
76  return 0;
77 
78  KGpgNode *parentNode = nodeForIndex(parent);
79 
80  return parentNode->getChildCount();
81 }
82 
83 bool
84 KGpgItemModel::hasChildren(const QModelIndex &parent) const
85 {
86  if (parent.column() > 0)
87  return false;
88 
89  KGpgNode *parentNode = nodeForIndex(parent);
90 
91  return parentNode->hasChildren();
92 }
93 
94 QVariant
95 KGpgItemModel::data(const QModelIndex &index, int role) const
96 {
97  if (!index.isValid())
98  return QVariant();
99 
100  KGpgNode *node = nodeForIndex(index);
101 
102  if (role == Qt::FontRole) {
103  QFont f;
104  f.setBold(isDefaultKey(node));
105  return f;
106  }
107 
108  switch (index.column()) {
109  case KEYCOLUMN_NAME:
110  switch (role) {
111  case Qt::DisplayRole:
112  case Qt::EditRole:
113  return node->getName();
114  case Qt::DecorationRole:
115  switch (node->getType()) {
116  case ITYPE_GROUP:
117  return Images::group();
118  case ITYPE_GSECRET:
119  case ITYPE_SECRET:
120  return Images::orphan();
121  case ITYPE_GPUBLIC:
122  case ITYPE_SUB:
123  case ITYPE_PUBLIC:
124  return Images::single();
125  case ITYPE_GPAIR:
126  case ITYPE_PAIR:
127  return Images::pair();
128  case ITYPE_UID:
129  return Images::userId();
130  case ITYPE_UAT:
131  return node->toUatNode()->getPixmap();
132  case ITYPE_REVSIGN:
133  return Images::revoke();
134  case ITYPE_SIGN:
135  return Images::signature();
136  default:
137  Q_ASSERT(0);
138  return QVariant();
139  }
140  case Qt::ToolTipRole:
141  return node->getComment();
142  }
143  break;
144  case KEYCOLUMN_EMAIL:
145  if (role == Qt::DisplayRole)
146  return node->getEmail();
147  break;
148  case KEYCOLUMN_TRUST:
149  {
150  KgpgKeyTrust t = node->getTrust();
151 
152  switch (role) {
153  case Qt::BackgroundColorRole:
154  switch (t) {
155  case TRUST_INVALID:
156  case TRUST_DISABLED:
157  return KGpgSettings::colorBad();
158  case TRUST_EXPIRED:
159  return KGpgSettings::colorExpired();
160  case TRUST_MARGINAL:
161  return KGpgSettings::colorMarginal();
162  case TRUST_REVOKED:
163  return KGpgSettings::colorRev();
164  case TRUST_UNDEFINED:
165  case TRUST_NONE:
166  return KGpgSettings::colorUnknown();
167  case TRUST_FULL:
168  return KGpgSettings::colorGood();
169  case TRUST_ULTIMATE:
170  return KGpgSettings::colorUltimate();
171  case TRUST_UNKNOWN:
172  default:
173  return KGpgSettings::colorUnknown();
174  }
175  case Qt::AccessibleTextRole:
176  return Convert::toString(t);
177  }
178  break;
179  }
180  case KEYCOLUMN_EXPIR:
181  if (role == Qt::DisplayRole)
182  return KGlobal::locale()->formatDate(node->getExpiration().date(), KLocale::ShortDate);
183  break;
184  case KEYCOLUMN_SIZE:
185  switch (role) {
186  case Qt::DisplayRole:
187  return node->getSize();
188  case Qt::ToolTipRole:
189  switch (node->getType()) {
190  case ITYPE_PAIR:
191  case ITYPE_PUBLIC:
192  return node->toKeyNode()->getSignCount();
193  case ITYPE_UAT:
194  return node->toUatNode()->getSignCount();
195  case ITYPE_UID:
196  return node->toUidNode()->getSignCount();
197  case ITYPE_SUB:
198  return node->toSubkeyNode()->getSignCount();
199  }
200  }
201  break;
202  case KEYCOLUMN_CREAT:
203  if (role == Qt::DisplayRole)
204  return KGlobal::locale()->formatDate(node->getCreation().date(), KLocale::ShortDate);
205  break;
206  case KEYCOLUMN_ID:
207  switch (role) {
208  case Qt::DisplayRole:
209  return node->getId();
210  case Qt::ToolTipRole:
211  switch (node->getType()) {
212  case ITYPE_PAIR:
213  case ITYPE_PUBLIC:
214  return node->toKeyNode()->getFingerprint();
215  case ITYPE_SECRET:
216  return node->toOrphanNode()->getFingerprint();
217  default:
218  return QVariant();
219  }
220  default:
221  return QVariant();
222  }
223  break;
224  }
225 
226  return QVariant();
227 }
228 
229 KGpgNode *
230 KGpgItemModel::nodeForIndex(const QModelIndex &index) const
231 {
232  if (index.isValid())
233  return static_cast<KGpgNode*>(index.internalPointer());
234  return m_root;
235 }
236 
237 KGpgKeyNode *
238 KGpgItemModel::findKeyNode(const QString& id) const
239 {
240  return m_root->findKey(id);
241 }
242 
243 int
244 KGpgItemModel::rowForNode(KGpgNode *node) const
245 {
246  return node->m_parent->getChildIndex(node);
247 }
248 
249 KGpgRootNode *
250 KGpgItemModel::getRootNode() const
251 {
252  return m_root;
253 }
254 
255 QString
256 KGpgItemModel::statusCountMessage() const
257 {
258  const int groups = m_root->groupChildren();
259  const int keys = m_root->getChildCount() - groups;
260 
261  return statusCountMessageString(keys, groups);
262 }
263 
264 QString
265 KGpgItemModel::statusCountMessageString(const unsigned int keys, const unsigned int groups)
266 {
267  // Most people will not have groups. Handle this case
268  // special so the string isn't displayed in this case at all
269  if (groups == 0) {
270  return i18np("1 Key", "%1 Keys", keys);
271  }
272 
273  const QString keyString = i18np("1 Key", "%1 Keys", keys);
274  const QString groupString = i18np("1 Group", "%1 Groups", groups);
275 
276  return i18nc("%1 = something like 7 keys, %2 = something like 2 groups", "%1, %2", keyString, groupString);
277 
278 }
279 
280 KGpgGroupNode *
281 KGpgItemModel::addGroup(const QString &name, const KGpgKeyNode::List &keys)
282 {
283  KGpgGroupNode *nd;
284  const int cIndex = m_root->getChildCount(); // row of the new node
285 
286  beginInsertRows(QModelIndex(), cIndex, cIndex);
287  nd = new KGpgGroupNode(m_root, name, keys);
288  endInsertRows();
289 
290  nd->saveMembers();
291 
292  Q_ASSERT(m_root->getChildIndex(nd) == cIndex);
293 
294  return nd;
295 }
296 
297 void
298 KGpgItemModel::delNode(KGpgNode *node)
299 {
300  beginResetModel();
301  delete node;
302  endResetModel();
303 }
304 
305 void
306 KGpgItemModel::changeGroup(KGpgGroupNode *node, const QList<KGpgNode *> &keys)
307 {
308  const QModelIndex gIndex = nodeIndex(node);
309  for (int i = node->getChildCount() - 1; i >= 0; i--) {
310  bool found = false;
311 
312  for (int j = 0; j < keys.count(); j++) {
313  found = (node->getChild(i)->getId() == keys.at(j)->getId());
314  if (found)
315  break;
316  }
317  if (found)
318  continue;
319 
320  beginRemoveRows(gIndex, i, i);
321  delete node->getChild(i);
322  endRemoveRows();
323  }
324 
325  int cnt = node->getChildCount();
326 
327  for (int i = 0; i < keys.count(); i++) {
328  bool found = false;
329  for (int j = 0; j < cnt; j++) {
330  found = (node->getChild(j)->getId() == keys.at(i)->getId());
331  if (found)
332  break;
333  }
334  if (found)
335  continue;
336 
337  beginInsertRows(gIndex, cnt, cnt);
338  new KGpgGroupMemberNode(node, keys.at(i)->toKeyNode());
339  endInsertRows();
340  cnt++;
341  }
342 
343  node->saveMembers();
344 }
345 
346 void
347 KGpgItemModel::deleteFromGroup(KGpgGroupNode *group, KGpgGroupMemberNode *member)
348 {
349  Q_ASSERT(group == member->getParentKeyNode());
350 
351  const int childRow = group->getChildIndex(member);
352  const QModelIndex pIndex = nodeIndex(group);
353 
354  beginRemoveRows(pIndex, childRow, childRow);
355  delete member;
356  endRemoveRows();
357 
358  group->saveMembers();
359 }
360 
361 QVariant
362 KGpgItemModel::headerData(int section, Qt::Orientation orientation, int role) const
363 {
364  if (role != Qt::DisplayRole)
365  return QVariant();
366 
367  if (orientation != Qt::Horizontal)
368  return QVariant();
369 
370  switch (section) {
371  case KEYCOLUMN_NAME: return QString(i18n("Name"));
372  case KEYCOLUMN_EMAIL: return QString(i18nc("@title:column Title of a column of emails", "Email"));
373  case KEYCOLUMN_TRUST: return QString(i18n("Trust"));
374  case KEYCOLUMN_SIZE: return QString(i18n("Size"));
375  case KEYCOLUMN_EXPIR: return QString(i18n("Expiration"));
376  case KEYCOLUMN_CREAT: return QString(i18n("Creation"));
377  case KEYCOLUMN_ID: return QString(i18n("ID"));
378  default: return QVariant();
379  }
380 }
381 
382 void
383 KGpgItemModel::setDefaultKey(KGpgKeyNode *def)
384 {
385  int defrow = m_root->findKeyRow(def);
386  int odefrow = m_root->findKeyRow(m_default);
387  if (defrow == odefrow)
388  return;
389 
390  int lastcol = columnCount(QModelIndex()) - 1;
391  if (odefrow >= 0) {
392  KGpgNode *nd = m_root->getChild(odefrow);
393  emit dataChanged(createIndex(odefrow, 0, nd), createIndex(odefrow, lastcol, nd));
394  }
395 
396  if (def) {
397  m_default = def->getId();
398  emit dataChanged(createIndex(defrow, 0, def), createIndex(defrow, lastcol, def));
399  } else {
400  m_default.clear();
401  }
402 }
403 
404 QModelIndex
405 KGpgItemModel::nodeIndex(KGpgNode *node, const int column)
406 {
407  KGpgNode *p = node->getParentKeyNode();
408 
409  for (int i = 0; i < p->getChildCount(); i++)
410  if (p->getChild(i) == node)
411  return createIndex(i, column, node);
412 
413  Q_ASSERT(0);
414  return QModelIndex();
415 }
416 
417 void
418 KGpgItemModel::refreshKey(KGpgKeyNode *nd)
419 {
420  KGpgKeyNode::List nodes;
421 
422  nodes.append(nd);
423 
424  refreshKeyIds(nodes);
425 }
426 
427 void
428 KGpgItemModel::refreshKey(const QString &id)
429 {
430  refreshKeyIds(QStringList(id));
431 }
432 
433 void
434 KGpgItemModel::refreshKeys(KGpgKeyNode::List keys)
435 {
436  refreshKeyIds(keys);
437 }
438 
439 void
440 KGpgItemModel::refreshKeys(const QStringList &ids)
441 {
442  refreshKeyIds(ids);
443 }
444 
445 void
446 KGpgItemModel::refreshKeyIds(const QStringList &ids)
447 {
448  beginResetModel();
449  if (ids.isEmpty()) {
450  for (int i = m_root->getChildCount() - 1; i >= 0; i--) {
451  KGpgNode *nd = m_root->getChild(i);
452  if (nd->getType() == ITYPE_GROUP)
453  continue;
454  delete nd;
455  }
456  m_root->addKeys();
457  } else {
458  QStringList::ConstIterator it = ids.constBegin();
459  const QStringList::ConstIterator itEnd = ids.constEnd();
460 
461  KGpgKeyNode::List refreshNodes;
462  QStringList addIds;
463 
464  for (; it != itEnd; ++it) {
465  KGpgKeyNode *nd = m_root->findKey(*it);
466  if (nd)
467  refreshNodes << nd;
468  else
469  addIds << *it;
470  }
471 
472  if (!refreshNodes.isEmpty())
473  m_root->refreshKeys(refreshNodes);
474  if (!addIds.isEmpty())
475  m_root->addKeys(addIds);
476  }
477 
478  endResetModel();
479 }
480 
481 void
482 KGpgItemModel::refreshKeyIds(KGpgKeyNode::List &nodes)
483 {
484  beginResetModel();
485  m_root->refreshKeys(nodes);
486  endResetModel();
487 }
488 
489 void
490 KGpgItemModel::refreshGroups()
491 {
492  for (int i = m_root->getChildCount() - 1; i >= 0; i--) {
493  KGpgNode *nd = m_root->getChild(i);
494  if (nd->getType() != ITYPE_GROUP)
495  continue;
496 
497  beginRemoveRows(QModelIndex(), i, i);
498  delete nd;
499  endRemoveRows();
500  }
501 
502  const QStringList groups = KGpgGroupNode::readGroups();
503 
504  if (groups.isEmpty())
505  return;
506 
507  const int oldCount = m_root->getChildCount();
508  beginInsertRows(QModelIndex(), oldCount, oldCount + groups.count());
509  m_root->addGroups(groups);
510  endInsertRows();
511 }
512 
513 bool
514 KGpgItemModel::isDefaultKey(const KGpgNode *node) const
515 {
516  return !m_default.isEmpty() && (m_default == node->getId().right(m_default.length()));
517 }
518 
519 void
520 KGpgItemModel::invalidateIndexes(KGpgNode *nd)
521 {
522  foreach (const QModelIndex &idx, persistentIndexList()) {
523  KGpgNode *n = nodeForIndex(idx);
524 
525  if (n != nd)
526  continue;
527 
528  changePersistentIndex(idx, QModelIndex());
529  }
530 }
531 
532 void
533 KGpgItemModel::refreshTrust(const KgpgCore::KgpgKeyTrust trust, const QColor& color)
534 {
535  updateNodeTrustColor(m_root, trust, color);
536 }
537 
538 void
539 KGpgItemModel::updateNodeTrustColor(KGpgExpandableNode *node, const KgpgCore::KgpgKeyTrust trust, const QColor &color)
540 {
541  for (int i = 0; i < node->getChildCount(); i++) {
542  KGpgNode *child = node->getChild(i);
543 
544  if (child->getTrust() == trust)
545  emit dataChanged(createIndex(i, KEYCOLUMN_TRUST, child), createIndex(i, KEYCOLUMN_TRUST, child));
546 
547  if (!child->hasChildren())
548  continue;
549 
550  KGpgExpandableNode *echild = child->toExpandableNode();
551  if (echild->wasExpanded())
552  updateNodeTrustColor(echild, trust, color);
553  }
554 }
555 
556 #include "kgpgitemmodel.moc"
KEYCOLUMN_SIZE
#define KEYCOLUMN_SIZE
Definition: kgpgitemmodel.h:34
KgpgCore::TRUST_MARGINAL
there is a minimal level of trust
Definition: kgpgkey.h:61
KgpgCore::ITYPE_GPAIR
key pair as member of a key group
Definition: kgpgkey.h:115
KEYCOLUMN_TRUST
#define KEYCOLUMN_TRUST
Definition: kgpgitemmodel.h:32
KGpgSettings::colorExpired
static QColor colorExpired()
Get Color used for expired keys.
Definition: kgpgsettings.h:839
KGpgNode::getParentKeyNode
KGpgExpandableNode * getParentKeyNode() const
Returns the parent node in the key hierarchy.
Definition: KGpgNode.cpp:330
KGpgKeyNode::List
QList< KGpgKeyNode * > List
Definition: KGpgKeyNode.h:50
KGpgItemModel::isDefaultKey
bool isDefaultKey(const KGpgNode *node) const
Definition: kgpgitemmodel.cpp:514
KGpgExpandableNode::getChildIndex
virtual int getChildIndex(KGpgNode *node) const
Returns the index for a given child node.
Definition: KGpgExpandableNode.cpp:77
KGpgGroupNode
A GnuPG group of public keys.
Definition: KGpgGroupNode.h:33
KGpgKeyNode::getSignCount
virtual QString getSignCount() const
Return the number of signatures of the primary user id.
Definition: KGpgKeyNode.cpp:160
KGpgItemModel::updateNodeTrustColor
void updateNodeTrustColor(KGpgExpandableNode *node, const KgpgCore::KgpgKeyTrust trust, const QColor &color)
Definition: kgpgitemmodel.cpp:539
KGpgItemModel::addGroup
KGpgGroupNode * addGroup(const QString &name, const KGpgKeyNode::List &keys)
Definition: kgpgitemmodel.cpp:281
KGpgKeyNode::getId
virtual QString getId() const
Definition: KGpgKeyNode.cpp:113
KGpgItemModel::refreshKey
void refreshKey(const QString &id)
Definition: kgpgitemmodel.cpp:428
KGpgRootNode::refreshKeys
void refreshKeys(KGpgKeyNode::List nodes)
Definition: KGpgRootNode.cpp:89
KGpgSettings::colorUnknown
static QColor colorUnknown()
Get Color used for unknown keys.
Definition: kgpgsettings.h:763
KGpgOrphanNode::getFingerprint
const QString & getFingerprint() const
Definition: KGpgOrphanNode.cpp:81
KgpgCore::ITYPE_GPUBLIC
public key as member of a key group
Definition: kgpgkey.h:114
images.h
KGpgItemModel::statusCountMessageString
static QString statusCountMessageString(const unsigned int keys, const unsigned int groups)
Definition: kgpgitemmodel.cpp:265
KGpgItemModel::KGpgItemModel
KGpgItemModel(QObject *parent=0)
Definition: kgpgitemmodel.cpp:30
KGpgSettings::colorRev
static QColor colorRev()
Get Color used for revoked keys.
Definition: kgpgsettings.h:744
KGpgItemModel::refreshTrust
void refreshTrust(const KgpgCore::KgpgKeyTrust trust, const QColor &color)
Definition: kgpgitemmodel.cpp:533
KGpgItemModel::hasChildren
virtual bool hasChildren(const QModelIndex &parent) const
Definition: kgpgitemmodel.cpp:84
QObject
KGpgExpandableNode::getChild
virtual KGpgNode * getChild(const int index) const
Returns the child node at the given index.
Definition: KGpgExpandableNode.cpp:41
KGpgNode::getComment
virtual QString getComment() const
Definition: KGpgNode.cpp:324
KGpgKeyNode
A public key with or without corresponding secret key.
Definition: KGpgKeyNode.h:33
KEYCOLUMN_CREAT
#define KEYCOLUMN_CREAT
Definition: kgpgitemmodel.h:35
KgpgCore::Images::signature
QPixmap signature()
Definition: images.cpp:64
KGpgItemModel::rowCount
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: kgpgitemmodel.cpp:73
KGpgItemModel::invalidateIndexes
void invalidateIndexes(KGpgNode *nd)
Definition: kgpgitemmodel.cpp:520
KGpgItemModel::rowForNode
int rowForNode(KGpgNode *node) const
Definition: kgpgitemmodel.cpp:244
KGpgNode::getCreation
virtual QDateTime getCreation() const
Definition: KGpgNode.cpp:312
KGpgNode::getType
virtual KgpgCore::KgpgItemType getType() const =0
Returns the item type of this object.
KGpgNode::getExpiration
virtual QDateTime getExpiration() const
Definition: KGpgNode.cpp:306
KgpgCore::ITYPE_GSECRET
secret key as member of a key group
Definition: kgpgkey.h:113
KGpgRootNode
The parent of all key data objects.
Definition: KGpgRootNode.h:38
KGpgItemModel::findKeyNode
KGpgKeyNode * findKeyNode(const QString &id) const
Definition: kgpgitemmodel.cpp:238
KGpgKeyNode::getFingerprint
const QString & getFingerprint() const
Definition: KGpgKeyNode.cpp:75
KGpgNode::getSize
virtual QString getSize() const
Returns a string describing the size of this object.
Definition: KGpgNode.cpp:288
KgpgCore::TRUST_DISABLED
key is disabled by user (not owner)
Definition: kgpgkey.h:55
KgpgCore::ITYPE_SECRET
secret key
Definition: kgpgkey.h:110
KGpgItemModel::refreshGroups
void refreshGroups()
Definition: kgpgitemmodel.cpp:490
kgpgitemmodel.h
KgpgCore::Images::orphan
QPixmap orphan()
Definition: images.cpp:56
KGpgSettings::colorUltimate
static QColor colorUltimate()
Get Color used for ultimately trusted keys.
Definition: kgpgsettings.h:801
KgpgCore::ITYPE_PUBLIC
public key
Definition: kgpgkey.h:111
KGpgUatNode::getPixmap
const QPixmap & getPixmap() const
Definition: KGpgUatNode.cpp:148
KGpgExpandableNode::getChildCount
virtual int getChildCount()
Return how many child nodes exist.
Definition: KGpgExpandableNode.cpp:49
KgpgCore::Convert::toString
QString toString(const KgpgKeyAlgo algorithm)
Definition: convert.cpp:37
KGpgItemModel::refreshKeyIds
void refreshKeyIds(const QStringList &id)
Definition: kgpgitemmodel.cpp:446
KGpgItemModel::index
virtual QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
Definition: kgpgitemmodel.cpp:44
KGpgItemModel::~KGpgItemModel
virtual ~KGpgItemModel()
Definition: kgpgitemmodel.cpp:38
KGpgItemModel::data
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
Definition: kgpgitemmodel.cpp:95
KGpgItemModel::statusCountMessage
QString statusCountMessage() const
Definition: kgpgitemmodel.cpp:256
KGpgItemModel::changeGroup
void changeGroup(KGpgGroupNode *node, const KGpgNode::List &keys)
Definition: kgpgitemmodel.cpp:306
KGpgGroupMemberNode::getParentKeyNode
virtual KGpgGroupNode * getParentKeyNode() const
Definition: KGpgGroupMemberNode.cpp:97
KgpgCore::TRUST_FULL
you can fully trust this key
Definition: kgpgkey.h:62
KGpgGroupNode::readGroups
static QStringList readGroups()
get all groups from GnuPG config file
Definition: KGpgGroupNode.cpp:255
KgpgCore::ITYPE_GROUP
the element is a GnuPG key group
Definition: kgpgkey.h:109
KGpgRootNode::addGroups
void addGroups(const QStringList &groups)
Create new group nodes.
Definition: KGpgRootNode.cpp:54
kgpgitemnode.h
QAbstractItemModel
KGpgNode::toOrphanNode
KGpgOrphanNode * toOrphanNode()
Definition: KGpgNode.cpp:240
KGpgItemModel::delNode
void delNode(KGpgNode *node)
Definition: kgpgitemmodel.cpp:298
KGpgNode
The abstract base class for all classes representing keyring data.
Definition: KGpgNode.h:42
KgpgCore::ITYPE_PAIR
key pair
Definition: kgpgkey.h:112
KGpgItemModel::getRootNode
KGpgRootNode * getRootNode() const
Definition: kgpgitemmodel.cpp:250
KgpgCore::TRUST_EXPIRED
key is beyond it's expiry date
Definition: kgpgkey.h:57
KgpgCore::ITYPE_REVSIGN
revokation signature
Definition: kgpgkey.h:119
KgpgCore::TRUST_UNDEFINED
trust value undefined (i.e. you did not set a trust level)
Definition: kgpgkey.h:58
KEYCOLUMN_EXPIR
#define KEYCOLUMN_EXPIR
Definition: kgpgitemmodel.h:33
KgpgCore::Images::group
QPixmap group()
Definition: images.cpp:48
KgpgCore::TRUST_REVOKED
key is revoked by owner
Definition: kgpgkey.h:56
KGpgRootNode::findKey
KGpgKeyNode * findKey(const QString &keyId)
Find a key node with the given id.
Definition: KGpgRootNode.cpp:118
KGpgRootNode::addKeys
void addKeys(const QStringList &ids=QStringList())
Definition: KGpgRootNode.cpp:64
KGpgNode::toExpandableNode
KGpgExpandableNode * toExpandableNode()
Definition: KGpgNode.cpp:60
KGpgItemModel::headerData
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
Definition: kgpgitemmodel.cpp:362
KGpgSettings::colorGood
static QColor colorGood()
Get Color used for trusted keys.
Definition: kgpgsettings.h:725
kgpgsettings.h
KgpgCore::ITYPE_SIGN
signature (to a key, uid or uat)
Definition: kgpgkey.h:120
KgpgCore::Images::revoke
QPixmap revoke()
Definition: images.cpp:88
KGpgExpandableNode
The abstract base class for all classes that may have child objects.
Definition: KGpgExpandableNode.h:34
KGpgNode::toUatNode
KGpgUatNode * toUatNode()
Definition: KGpgNode.cpp:160
KGpgSettings
Definition: kgpgsettings.h:13
KGpgNode::toKeyNode
KGpgKeyNode * toKeyNode()
Definition: KGpgNode.cpp:94
KGpgRootNode::findKeyRow
int findKeyRow(const QString &keyId)
Return the child number of the key with the given id.
Definition: KGpgRootNode.cpp:129
KGpgItemModel::refreshKeys
void refreshKeys(const QStringList &ids=QStringList())
Definition: kgpgitemmodel.cpp:440
KGpgNode::getId
virtual QString getId() const
Definition: KGpgNode.cpp:318
KGpgExpandableNode::wasExpanded
virtual bool wasExpanded() const
check if there are any child nodes present in memory
Definition: KGpgExpandableNode.cpp:64
KGpgNode::toUidNode
KGpgUidNode * toUidNode()
Definition: KGpgNode.cpp:128
KGpgGroupMemberNode
A member of a GnuPG group.
Definition: KGpgGroupMemberNode.h:35
KGpgNode::m_parent
KGpgExpandableNode * m_parent
Definition: KGpgNode.h:50
KgpgCore::ITYPE_UAT
user attribute to a key (i.e. photo id)
Definition: kgpgkey.h:118
KGpgSettings::colorMarginal
static QColor colorMarginal()
Get Color used for marginally trusted keys.
Definition: kgpgsettings.h:820
KGpgNode::getEmail
virtual QString getEmail() const
Definition: KGpgNode.cpp:300
KGpgNode::getChild
virtual KGpgNode * getChild(const int index) const
Returns the child node at the given index.
Definition: KGpgNode.cpp:268
KGpgRootNode::groupChildren
int groupChildren() const
Return the group count.
Definition: KGpgRootNode.cpp:150
KGpgNode::getChildCount
virtual int getChildCount()
Return how many child nodes exist.
Definition: KGpgNode.cpp:262
KGpgItemModel::nodeForIndex
KGpgNode * nodeForIndex(const QModelIndex &index) const
Definition: kgpgitemmodel.cpp:230
KGpgNode::getName
virtual QString getName() const
Definition: KGpgNode.cpp:294
KGpgItemModel::nodeIndex
QModelIndex nodeIndex(KGpgNode *node, const int column=0)
Definition: kgpgitemmodel.cpp:405
KGpgItemModel::parent
virtual QModelIndex parent(const QModelIndex &child) const
Definition: kgpgitemmodel.cpp:55
KGpgSignableNode::getSignCount
virtual QString getSignCount() const
count signatures
Definition: KGpgSignableNode.cpp:46
KGpgItemModel::deleteFromGroup
void deleteFromGroup(KGpgGroupNode *group, KGpgGroupMemberNode *member)
Definition: kgpgitemmodel.cpp:347
KGpgNode::toSubkeyNode
KGpgSubkeyNode * toSubkeyNode()
Definition: KGpgNode.cpp:144
KGpgItemModel::setDefaultKey
void setDefaultKey(KGpgKeyNode *def)
Definition: kgpgitemmodel.cpp:383
KgpgCore::TRUST_UNKNOWN
trust value unknown (i.e. no entry in gpg's trust database)
Definition: kgpgkey.h:59
KGpgGroupNode::saveMembers
void saveMembers()
Write the current members to GnuPG config file.
Definition: KGpgGroupNode.cpp:202
KgpgCore::TRUST_ULTIMATE
this key has highest possible level of trust (e.g. your own secret keys)
Definition: kgpgkey.h:63
KGpgNode::hasChildren
virtual bool hasChildren() const
Returns if this node has child nodes.
Definition: KGpgNode.cpp:256
KgpgCore::Images::pair
QPixmap pair()
Definition: images.cpp:40
KGpgNode::getTrust
virtual KgpgCore::KgpgKeyTrust getTrust() const
Definition: KGpgNode.cpp:282
KgpgCore::TRUST_INVALID
key is invalid
Definition: kgpgkey.h:54
KgpgCore::ITYPE_UID
additional user id
Definition: kgpgkey.h:117
convert.h
KGpgItemModel::columnCount
virtual int columnCount(const QModelIndex &) const
Definition: kgpgitemmodel.h:62
KEYCOLUMN_EMAIL
#define KEYCOLUMN_EMAIL
Definition: kgpgitemmodel.h:31
defaultKey
static QString defaultKey()
Definition: kgpgsettings_addons.h:23
KgpgCore::TRUST_NONE
there is no trusted path to this key
Definition: kgpgkey.h:60
KgpgCore::Images::userId
QPixmap userId()
Definition: images.cpp:72
KEYCOLUMN_NAME
#define KEYCOLUMN_NAME
Definition: kgpgitemmodel.h:30
QList
KGpgSettings::colorBad
static QColor colorBad()
Get Color used for untrusted keys.
Definition: kgpgsettings.h:782
KEYCOLUMN_ID
#define KEYCOLUMN_ID
Definition: kgpgitemmodel.h:36
KgpgCore::Images::single
QPixmap single()
Definition: images.cpp:32
KgpgCore::ITYPE_SUB
subkey of a public or secret key
Definition: kgpgkey.h:116
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:07:51 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kgpg

Skip menu "kgpg"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeutils API Reference

Skip menu "kdeutils API Reference"
  • ark
  • filelight
  • kcalc
  • kcharselect
  • kdf
  • kfloppy
  • kgpg
  • kremotecontrol
  • ktimer
  • kwallet
  • superkaramba
  • sweeper

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal