diff options
Diffstat (limited to 'lang/qt/src')
| -rw-r--r-- | lang/qt/src/Makefile.am | 2 | ||||
| -rw-r--r-- | lang/qt/src/cryptoconfig.cpp | 44 | ||||
| -rw-r--r-- | lang/qt/src/cryptoconfig.h | 9 | ||||
| -rw-r--r-- | lang/qt/src/qgpgmenewcryptoconfig.cpp | 12 | ||||
| -rw-r--r-- | lang/qt/src/qgpgmenewcryptoconfig.h | 2 | 
5 files changed, 68 insertions, 1 deletions
diff --git a/lang/qt/src/Makefile.am b/lang/qt/src/Makefile.am index 55af1cfb..c81461ee 100644 --- a/lang/qt/src/Makefile.am +++ b/lang/qt/src/Makefile.am @@ -37,7 +37,7 @@ qgpgme_sources = \      qgpgmekeyformailboxjob.cpp gpgme_backend_debug.cpp \      qgpgmetofupolicyjob.cpp \      defaultkeygenerationjob.cpp qgpgmewkspublishjob.cpp \ -    dn.cpp +    dn.cpp cryptoconfig.cpp  # If you add one here make sure that you also add one in camelcase  qgpgme_headers= \ diff --git a/lang/qt/src/cryptoconfig.cpp b/lang/qt/src/cryptoconfig.cpp new file mode 100644 index 00000000..be265d87 --- /dev/null +++ b/lang/qt/src/cryptoconfig.cpp @@ -0,0 +1,44 @@ +/* +    cryptoconfig.cpp + +    This file is part of qgpgme, the Qt API binding for gpgme +    Copyright (c) 2017 Intevation GmbH + +    QGpgME 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. + +    QGpgME 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, write to the Free Software +    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + +    In addition, as a special exception, the copyright holders give +    permission to link the code of this program with any edition of +    the Qt library by Trolltech AS, Norway (or with modified versions +    of Qt that use the same license as Qt), and distribute linked +    combinations including the two.  You must obey the GNU General +    Public License in all respects for all of the code used other than +    Qt.  If you modify this file, you may extend this exception to +    your version of the file, but you are not obligated to do so.  If +    you do not wish to do so, delete this exception statement from +    your version. +*/ +#include "cryptoconfig.h" +#include "qgpgmenewcryptoconfig.h" + +using namespace QGpgME; + +QStringList CryptoConfigEntry::stringValueList() const +{ +    const QGpgMENewCryptoConfigEntry *entry = dynamic_cast <const QGpgMENewCryptoConfigEntry*> (this); +    if (!entry) { +        return QStringList(); +    } +    return entry->stringValueList(); +} diff --git a/lang/qt/src/cryptoconfig.h b/lang/qt/src/cryptoconfig.h index 452bfbb1..c4de22dc 100644 --- a/lang/qt/src/cryptoconfig.h +++ b/lang/qt/src/cryptoconfig.h @@ -248,6 +248,15 @@ public:       * @return true if the value was changed       */      virtual bool isDirty() const = 0; + +    // Design change from here on we are closely bound to one implementation +    // of cryptoconfig. To avoid ABI breaks with every new function we +    // add real functions from now on. + +    /** +     * @return a stringValueList. +     */ +    QStringList stringValueList() const;  };  /** diff --git a/lang/qt/src/qgpgmenewcryptoconfig.cpp b/lang/qt/src/qgpgmenewcryptoconfig.cpp index 49b27caa..4738a03b 100644 --- a/lang/qt/src/qgpgmenewcryptoconfig.cpp +++ b/lang/qt/src/qgpgmenewcryptoconfig.cpp @@ -546,6 +546,18 @@ std::vector<unsigned int> QGpgMENewCryptoConfigEntry::uintValueList() const      return m_option.currentValue().uintValues();  } +QStringList QGpgMENewCryptoConfigEntry::stringValueList() const +{ +    Q_ASSERT(isList()); +    const Argument arg = m_option.currentValue(); +    const std::vector<const char *> values = arg.stringValues(); +    QStringList ret; +    for(const char *value: values) { +        ret << QString::fromUtf8(value); +    } +    return ret; +} +  QList<QUrl> QGpgMENewCryptoConfigEntry::urlValueList() const  {      const Type type = m_option.type(); diff --git a/lang/qt/src/qgpgmenewcryptoconfig.h b/lang/qt/src/qgpgmenewcryptoconfig.h index 81b4cb44..7100e70b 100644 --- a/lang/qt/src/qgpgmenewcryptoconfig.h +++ b/lang/qt/src/qgpgmenewcryptoconfig.h @@ -93,6 +93,8 @@ public:      void setURLValueList(const QList<QUrl> &) Q_DECL_OVERRIDE;      bool isDirty() const Q_DECL_OVERRIDE; +    QStringList stringValueList() const; +  #if 0      void setDirty(bool b);      QString outputString() const;  | 
