aboutsummaryrefslogtreecommitdiffstats
path: root/kgpg/KGpgSignNode.cpp
blob: f35bd9aaf20a4b7348feabcfdb5defa44232d69e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/* Copyright 2008,2009,2010 Rolf Eike Beer <[email protected]>
 *
 * 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 "KGpgSignNode.h"

#include "KGpgSignableNode.h"

//#include <KLocale>
#include <QLocale>

class KGpgSignNodePrivate {
public:
	KGpgSignNodePrivate(const QStringList &sl);

	QDateTime m_creation;
	QDateTime m_expiration;
	bool m_local;
	bool m_revocation;
};

KGpgSignNodePrivate::KGpgSignNodePrivate(const QStringList &sl)
{
	m_revocation = (sl.at(0) == QLatin1String("rev"));
	if (sl.count() < 6)
		return;
	m_creation = QDateTime::fromTime_t(sl.at(5).toUInt());
	if (sl.count() < 7)
		return;
	if (!sl.at(6).isEmpty())
		m_expiration = QDateTime::fromTime_t(sl.at(6).toUInt());
	if (sl.count() < 11)
		return;
	m_local = sl.at(10).endsWith(QLatin1Char( 'l' ));
}

KGpgSignNode::KGpgSignNode(KGpgSignableNode *parent, const QStringList &s)
	: KGpgRefNode(parent, s.at(4)),
	d_ptr(new KGpgSignNodePrivate(s))
{
}

KGpgSignNode::~KGpgSignNode()
{
	delete d_ptr;
}

QDateTime
KGpgSignNode::getExpiration() const
{
	const Q_D(KGpgSignNode);

	return d->m_expiration;
}

QDateTime
KGpgSignNode::getCreation() const
{
	const Q_D(KGpgSignNode);

	return d->m_creation;
}

QString
KGpgSignNode::getName() const
{
	const Q_D(KGpgSignNode);
	const QString name = KGpgRefNode::getName();

	if (!d->m_local)
		return name;

    //return tr("%1 [local signature]", &name.constData()->toAscii());
    return "fixme";
}

KgpgCore::KgpgItemType
KGpgSignNode::getType() const
{
	return KgpgCore::ITYPE_SIGN;
}