• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeutils API Reference
  • KDE Home
  • Contact Us
 

kgpg

  • sources
  • kde-4.14
  • kdeutils
  • kgpg
  • transactions
kgpgsigntext.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Rolf Eike Beer <kde@opensource.sf-tec.de>
3  */
4 
5 /***************************************************************************
6  * *
7  * This program is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU General Public License as published by *
9  * the Free Software Foundation; either version 2 of the License, or *
10  * (at your option) any later version. *
11  * *
12  ***************************************************************************/
13 
14 #include "kgpgsigntext.h"
15 
16 #include "kgpgsettings.h"
17 
18 KGpgSignText::KGpgSignText(QObject *parent, const QString &signId, const QString &text, const SignOptions &options, const QStringList &extraOptions)
19  : KGpgTextOrFileTransaction(parent, text),
20  m_fileIndex(-1),
21  m_options(options),
22  m_signId(signId),
23  m_extraOptions(extraOptions)
24 {
25 }
26 
27 KGpgSignText::KGpgSignText(QObject *parent, const QString &signId, const KUrl::List &files, const SignOptions &options, const QStringList &extraOptions)
28  : KGpgTextOrFileTransaction(parent, files),
29  m_fileIndex(0),
30  m_options(options),
31  m_signId(signId),
32  m_extraOptions(extraOptions)
33 {
34  /* GnuPG can only handle one file at a time when signing */
35  Q_ASSERT(files.count() == 1);
36 }
37 
38 KGpgSignText::~KGpgSignText()
39 {
40 }
41 
42 QStringList
43 KGpgSignText::command() const
44 {
45  QStringList ret = m_extraOptions;
46 
47  const KUrl::List &files = getInputFiles();
48  QString fileName;
49 
50  if (!files.isEmpty())
51  fileName = files.first().path();
52 
53  ret << QLatin1String("-u") << m_signId;
54 
55  if (m_options & AsciiArmored) {
56  if (fileName.isEmpty())
57  ret << QLatin1String("--clearsign");
58  else
59  ret << QLatin1String("--armor");
60  }
61  if (KGpgSettings::pgpCompatibility())
62  ret << QLatin1String("--pgp6");
63 
64  if (!fileName.isEmpty()) {
65  if (m_options & DetachedSignature)
66  ret << QLatin1String("--detach-sign") <<
67  QLatin1String("--output") << fileName + QLatin1String(".sig");
68  }
69 
70  return ret;
71 }
72 
73 QStringList
74 KGpgSignText::signedText() const
75 {
76  QStringList result;
77 
78  foreach (const QString &line, getMessages())
79  if (!line.startsWith(QLatin1String("[GNUPG:] "))) {
80  result.append(line);
81  }
82 
83  return result;
84 }
85 
86 #include "kgpgsigntext.moc"
KGpgTextOrFileTransaction
feed a text or file through gpg
Definition: kgpgtextorfiletransaction.h:29
KGpgSignText::AsciiArmored
output the data as printable ASCII as opposed to binary data
Definition: kgpgsigntext.h:37
KGpgSettings::pgpCompatibility
static bool pgpCompatibility()
Get Enable PGP 6 compatibility.
Definition: kgpgsettings.h:250
kgpgsigntext.h
QList::append
void append(const T &value)
QObject
KGpgSignText::~KGpgSignText
virtual ~KGpgSignText()
destructor
Definition: kgpgsigntext.cpp:38
QString::isEmpty
bool isEmpty() const
QString::startsWith
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const
QString
KGpgTextOrFileTransaction::getInputFiles
const KUrl::List & getInputFiles() const
Definition: kgpgtextorfiletransaction.cpp:176
QStringList
KGpgSignText::signedText
QStringList signedText() const
get signing result
Definition: kgpgsigntext.cpp:74
kgpgsettings.h
KGpgSignText::command
virtual QStringList command() const
Definition: kgpgsigntext.cpp:43
QLatin1String
KGpgTextOrFileTransaction::getMessages
const QStringList & getMessages() const
get gpg info message
Definition: kgpgtextorfiletransaction.cpp:159
KGpgSignText::DetachedSignature
save the signature in a separate file
Definition: kgpgsigntext.h:38
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:42:08 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kgpg

Skip menu "kgpg"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeutils API Reference

Skip menu "kdeutils API Reference"
  • ark
  • filelight
  • kcalc
  • kcharselect
  • kdf
  • kfloppy
  • kgpg
  • ktimer
  • kwallet
  • sweeper

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal