diff options
Diffstat (limited to 'src/identitycollection.cpp')
| -rw-r--r-- | src/identitycollection.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/identitycollection.cpp b/src/identitycollection.cpp index 43683b2..989dc9f 100644 --- a/src/identitycollection.cpp +++ b/src/identitycollection.cpp @@ -32,6 +32,7 @@ void IdentityCollection::load(QSettings &settings) id->identity.is_persistent = true; id->identity.display_name = settings.value("display_name").toString(); + id->identity.user_notes = settings.value("user_notes").toString(); id->identity.certificate = QSslCertificate::fromData( settings.value("certificate").toByteArray(), @@ -82,6 +83,7 @@ void IdentityCollection::save(QSettings &settings) const auto & id = _id->as<IdentityNode>(); settings.setValue("display_name", id.identity.display_name); + settings.setValue("user_notes", id.identity.user_notes); settings.setValue("certificate", id.identity.certificate.toDer()); settings.setValue("private_key", id.identity.private_key.toDer()); } @@ -143,6 +145,22 @@ CryptoIdentity IdentityCollection::getIdentity(const QModelIndex &index) const } } +CryptoIdentity * IdentityCollection::getMutableIdentity(const QModelIndex &index) +{ + if (!index.isValid()) + return nullptr; + + if (index.column() != 0) + return nullptr; + + Node *item = static_cast<Node*>(index.internalPointer()); + switch(item->type) { + case Node::Identity: return &static_cast<IdentityNode *>(item)->identity; + default: + return nullptr; + } +} + QStringList IdentityCollection::groups() const { QStringList result; |
