aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/src
diff options
context:
space:
mode:
Diffstat (limited to 'lang/qt/src')
-rw-r--r--lang/qt/src/Makefile.am2
-rw-r--r--lang/qt/src/cryptoconfig.cpp44
-rw-r--r--lang/qt/src/cryptoconfig.h9
-rw-r--r--lang/qt/src/qgpgmenewcryptoconfig.cpp12
-rw-r--r--lang/qt/src/qgpgmenewcryptoconfig.h2
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;