mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 19:02:53 +00:00
146 lines
3.3 KiB
C++
146 lines
3.3 KiB
C++
/* Copyright 2008,2009,2010 Rolf Eike Beer <kde@opensource.sf-tec.de>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of
|
|
* the License or (at your option) version 3 or any later version
|
|
* accepted by the membership of KDE e.V. (or its successor approved
|
|
* by the membership of KDE e.V.), which shall act as a proxy
|
|
* defined in Section 14 of version 3 of the license.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#include "KGpgUidNode.h"
|
|
|
|
#include "KGpgKeyNode.h"
|
|
#include "convert.h"
|
|
|
|
class KGpgUidNodePrivate {
|
|
public:
|
|
KGpgUidNodePrivate(const unsigned int index, const QStringList &sl);
|
|
|
|
const QString m_index;
|
|
QString m_email;
|
|
QString m_name;
|
|
QString m_comment;
|
|
KgpgCore::KgpgKeyTrust m_trust;
|
|
bool m_valid;
|
|
};
|
|
|
|
KGpgUidNodePrivate::KGpgUidNodePrivate(const unsigned int index, const QStringList &sl)
|
|
: m_index(QString::number(index))
|
|
{
|
|
QString fullname(sl.at(9));
|
|
if (fullname.contains(QLatin1Char( '<' )) ) {
|
|
m_email = fullname;
|
|
|
|
if (fullname.contains(QLatin1Char( ')' )) )
|
|
m_email = m_email.section(QLatin1Char( ')' ), 1);
|
|
|
|
m_email = m_email.section(QLatin1Char( '<' ), 1);
|
|
m_email.truncate(m_email.length() - 1);
|
|
|
|
if (m_email.contains(QLatin1Char( '<' ))) {
|
|
// several email addresses in the same key
|
|
m_email = m_email.replace(QLatin1Char( '>' ), QLatin1Char( ';' ));
|
|
m_email.remove(QLatin1Char( '<' ));
|
|
}
|
|
}
|
|
|
|
m_name = fullname.section(QLatin1String( " <" ), 0, 0);
|
|
if (fullname.contains(QLatin1Char( '(' )) ) {
|
|
m_name = m_name.section(QLatin1String( " (" ), 0, 0);
|
|
m_comment = fullname.section(QLatin1Char( '(' ), 1, 1);
|
|
m_comment = m_comment.section(QLatin1Char( ')' ), 0, 0);
|
|
}
|
|
|
|
m_trust = KgpgCore::Convert::toTrust(sl.at(1));
|
|
m_valid = ((sl.count() <= 11) || !sl.at(11).contains(QLatin1Char( 'D' )));
|
|
}
|
|
|
|
|
|
KGpgUidNode::KGpgUidNode(KGpgKeyNode *parent, const unsigned int index, const QStringList &sl)
|
|
: KGpgSignableNode(parent),
|
|
d_ptr(new KGpgUidNodePrivate(index, sl))
|
|
{
|
|
}
|
|
|
|
KGpgUidNode::~KGpgUidNode()
|
|
{
|
|
delete d_ptr;
|
|
}
|
|
|
|
QString
|
|
KGpgUidNode::getName() const
|
|
{
|
|
const Q_D(KGpgUidNode);
|
|
|
|
return d->m_name;
|
|
}
|
|
|
|
QString
|
|
KGpgUidNode::getEmail() const
|
|
{
|
|
const Q_D(KGpgUidNode);
|
|
|
|
return d->m_email;
|
|
}
|
|
|
|
QString
|
|
KGpgUidNode::getId() const
|
|
{
|
|
const Q_D(KGpgUidNode);
|
|
|
|
return d->m_index;
|
|
}
|
|
|
|
KGpgKeyNode *
|
|
KGpgUidNode::getKeyNode(void)
|
|
{
|
|
return getParentKeyNode()->toKeyNode();
|
|
}
|
|
|
|
const KGpgKeyNode *
|
|
KGpgUidNode::getKeyNode(void) const
|
|
{
|
|
return getParentKeyNode()->toKeyNode();
|
|
}
|
|
|
|
KGpgKeyNode *
|
|
KGpgUidNode::getParentKeyNode() const
|
|
{
|
|
return m_parent->toKeyNode();
|
|
}
|
|
|
|
void
|
|
KGpgUidNode::readChildren()
|
|
{
|
|
}
|
|
|
|
KgpgCore::KgpgItemType
|
|
KGpgUidNode::getType() const
|
|
{
|
|
return KgpgCore::ITYPE_UID;
|
|
}
|
|
|
|
KgpgCore::KgpgKeyTrust
|
|
KGpgUidNode::getTrust() const
|
|
{
|
|
const Q_D(KGpgUidNode);
|
|
|
|
return d->m_trust;
|
|
}
|
|
|
|
QString
|
|
KGpgUidNode::getComment() const
|
|
{
|
|
const Q_D(KGpgUidNode);
|
|
|
|
return d->m_comment;
|
|
}
|