mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 10:52:53 +00:00
86 lines
2.3 KiB
C++
86 lines
2.3 KiB
C++
/*
|
|
* Copyright (C) 2012 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) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#include "kgpgsigntext.h"
|
|
|
|
#include "kgpgsettings.h"
|
|
|
|
KGpgSignText::KGpgSignText(QObject *parent, const QString &signId, const QString &text, const SignOptions &options, const QStringList &extraOptions)
|
|
: KGpgTextOrFileTransaction(parent, text),
|
|
m_fileIndex(-1),
|
|
m_options(options),
|
|
m_signId(signId),
|
|
m_extraOptions(extraOptions)
|
|
{
|
|
}
|
|
|
|
KGpgSignText::KGpgSignText(QObject *parent, const QString &signId, const KUrl::List &files, const SignOptions &options, const QStringList &extraOptions)
|
|
: KGpgTextOrFileTransaction(parent, files),
|
|
m_fileIndex(0),
|
|
m_options(options),
|
|
m_signId(signId),
|
|
m_extraOptions(extraOptions)
|
|
{
|
|
/* GnuPG can only handle one file at a time when signing */
|
|
Q_ASSERT(files.count() == 1);
|
|
}
|
|
|
|
KGpgSignText::~KGpgSignText()
|
|
{
|
|
}
|
|
|
|
QStringList
|
|
KGpgSignText::command() const
|
|
{
|
|
QStringList ret = m_extraOptions;
|
|
|
|
const KUrl::List &files = getInputFiles();
|
|
QString fileName;
|
|
|
|
if (!files.isEmpty())
|
|
fileName = files.first().path();
|
|
|
|
ret << QLatin1String("-u") << m_signId;
|
|
|
|
if (m_options & AsciiArmored) {
|
|
if (fileName.isEmpty())
|
|
ret << QLatin1String("--clearsign");
|
|
else
|
|
ret << QLatin1String("--armor");
|
|
}
|
|
if (KGpgSettings::pgpCompatibility())
|
|
ret << QLatin1String("--pgp6");
|
|
|
|
if (!fileName.isEmpty()) {
|
|
if (m_options & DetachedSignature)
|
|
ret << QLatin1String("--detach-sign") <<
|
|
QLatin1String("--output") << fileName + QLatin1String(".sig");
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
QStringList
|
|
KGpgSignText::signedText() const
|
|
{
|
|
QStringList result;
|
|
|
|
foreach (const QString &line, getMessages())
|
|
if (!line.startsWith(QLatin1String("[GNUPG:] "))) {
|
|
result.append(line);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
#include "moc_kgpgsigntext.cpp"
|