aboutsummaryrefslogtreecommitdiffstats
path: root/kgpg/KGpgSignNode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kgpg/KGpgSignNode.cpp')
-rw-r--r--kgpg/KGpgSignNode.cpp95
1 files changed, 95 insertions, 0 deletions
diff --git a/kgpg/KGpgSignNode.cpp b/kgpg/KGpgSignNode.cpp
new file mode 100644
index 0000000..f35bd9a
--- /dev/null
+++ b/kgpg/KGpgSignNode.cpp
@@ -0,0 +1,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;
+}