aboutsummaryrefslogtreecommitdiffstats
path: root/lang/qt/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Qt: Undeprecate QByteArray based start functsAndre Heinecke2021-01-042-2/+2
| | | | | | | | | | | | * lang/qt/src/encryptjob.h, lang/qt/src/signjob.h (start): Undeprecate QByteArray based functions. -- While the QIODevice access might avoid a copy it is more difficult to manage the data and lifetime of the QIODevices in calling code. The QByteArray calls are convienient for small data objects like mails where an in memory copy is not really expensive anymore.
* Revert "cpp: Use portable off_t size_t"Andre Heinecke2020-11-201-1/+1
| | | | | | | | | This reverts commit 88294023c196497cfa6737be262c8b0c09d2a3ce. -- This commit was too early and i needed to test more this is breaking more then it helps so for now revert it before we can do a proper solution.
* cpp: Use portable off_t size_tAndre Heinecke2020-11-181-1/+1
| | | | | | | | | | | | | | | | | * configure.ac: Configure cpp data.h.in * lang/cpp/src/Makefile.am: Generate data.h * lang/cpp/src/data.cpp, lang/cpp/src/data.h: Use portable types. * lang/qt/src/Makefile.am: Include build dir. * lang/qt/tests/makefile.am: Include build dir. -- These kind of patches have been around for a while, IMO this should not create an ABI incompatbility for cases where it already works because the types should be the same so I think this is not an interface break. GnuPG-Bug-Id: T3996
* qt: Avoid empty "[email protected]" signature notationsIngo Klöcker2020-11-181-1/+1
| | | | | | | | | * lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Check remark for being an empty string instead of a null QString. -- GnuPG-bug-id: 5142 Co-authored-by: Daniel Kahn Gillmor
* qt: Fix export of qDebug GpgME::Error overloadAndre Heinecke2020-11-121-0/+1
| | | | * lang/qt/src/debug.cpp: Include debug.h to get the export decl.
* qt: Add export macro for QDebug operatorAndre Heinecke2020-11-111-1/+3
| | | | | | | | | | * lang/qt/src/debug.h: Add export macro. -- This is public API so it should be exported. This did not resolve a link issue for Windows that I've experienced when building. But this might be to some uncleanlyness in my build environment.
* qt: Make audit parameters of result signal optionalIngo Klöcker2020-11-031-1/+1
| | | | | | | | | | | lang/qt/src/quickjob.h (QuickJob::result): Make parameters auditLogAsHtml and audigLogError optional. -- This aligns the signature of QuickJob's result signal with the result signals of the other Job subclasses. GnuPG-bug-id: 5094
* qt: Add support for revoke signature quick commandIngo Klöcker2020-10-293-2/+38
| | | | | | | | | | * lang/qt/src/quickjob.h (QuickJob::startRevokeSignature): New. * lang/qt/src/qgpgmequickjob.h, lang/qt/src/qgpgmequickjob.cpp (QGpgMEQuickJob::startRevokeSignature): New. * lang/qt/src/qgpgmequickjob.cpp (revokeSignatureWorker): New. -- GnuPG-bug-id: 5094
* qt: Some minor cleanupsIngo Klöcker2020-10-291-13/+3
| | | | | | | | | * lang/qt/src/qgpgmequickjob.h: (GpgME::Key, QDateTime, QString): Remove superfluous forward declarations. (QGpgMEQuickJob): Remove superfluous second template argument. It is identical to the default. (QGpgMEQuickJob::result): Remove. It is already defined in the base class.
* qt: Add QDebug stream operator for GpgME::ErrorIngo Klöcker2020-10-233-1/+99
| | | | | | | | | | * lang/qt/src/Makefile.am: Add new files. * lang/qt/src/debug.h, lang/qt/src/debug.cpp: New. * NEWS: Mention it. -- This was previously implemented in Kleopatra, but it makes sense for all users of qgpgme.
* qt: Update the documentation of ListAllKeysJobIngo Klöcker2020-09-081-2/+3
| | | | | | | | * lang/qt/src/listallkeysjob.h (ListAllKeysJob::start): Document that the mergeKeys argument is ignored with gpg >= 2.1. -- GnuPG-bug-id: 4794
* qt: List keys once with --with-secret instead of twiceIngo Klöcker2020-09-071-9/+52
| | | | | | | | | | | | | | | | | * lang/qt/src/qgpgmelistallkeysjob.cpp (do_list_keys): Rename to do_list_keys_legacy and put into unnamed namespace. (merge_keys): Put into unnamed namespace. (list_keys): Rename to list_keys_legacy and put into unnamed namespace. (do_list_keys, list_keys): New. * lang/qt/tests/t-keylist.cpp (testListAllKeysSync): New. -- With gpg >= 2.1, list keys once with --with-secret instead of listing public keys and secret keys and then merging (part of) the information about the keys. GnuPG-bug-id: 4794
* qt: Fix an rfc2253 parser flawWerner Koch2020-08-281-3/+2
| | | | | | | | | | | | | | * lang/qt/src/dn.cpp (parse_dn_part): Fix parser. -- This could in theory result in reading bytes after a after Nul in a string and thus possible segv on unallocated memory or reading other parts of the memory. However, it is harmless because the rfc2253 strings have been received from GnuPG which is expected to emit correct syntax. GnuPG-bug-id: 5037
* qt: Support changing expiry of subkeysIngo Klöcker2020-08-113-4/+39
| | | | | | | | | | | | | * lang/qt/src/changeexpiryjob.h (ChangeExpiryJob::start): New overload that accepts subkeys (with empty implementation). * lang/qt/src/qgpgmechangeexpiryjob.h, lang/qt/src/qgpgmechangeexpiryjob.cpp (QGpgMEChangeExpiryJob::start): New overload that accepts subkeys. -- This adds the possibility to change the expiry of subkeys. GnuPG-bug-id: 4717
* qt: Port to new setExpire()Ingo Klöcker2020-08-051-18/+6
| | | | | | | | | | | | * lang/qt/src/qgpgmechangeexpiryjob.cpp (change_expiry): Use new setExpire() instead of edit() with GpgSetExpiryTimeEditInteractor -- Using the new setExpire() (which uses --quick-set-expire) is a lot less complex than using gpg's edit interface. It also feels faster. Next, I'll add support for changing the expiration time of subkeys. GnuPG-bug-id: 5003
* qt, cpp: Support export modesAndre Heinecke2020-07-163-4/+22
| | | | | | | | | | | | | * lang/cpp/context.cpp, lang/cpp/context.h (Context::startPublicKeyExport, Context::exportPublicKeys): Extend with flags paramenter. (Context::ExportMode): New. * lang/qt/src/exportjob.h (ExportJob::setExportMode): New. * lang/qt/src/qgpgmeexportjob.cpp, lang/qt/src/qgpgmeexportjob.h: Update accordingly. -- This adds the C++ and Qt API for export modes.
* qt: Change logging categoryaheinecke/json-testAndre Heinecke2020-02-1910-55/+55
| | | | | | | | | * lang/qt/src/*: Change logging category to macro to QGPGME_LOG. -- The old logging category macro had a typo and this way we are more consistent with other logging rules. For example you could write gpg.* in the logging conf.
* qt: Log execution args of gpg-cardAndre Heinecke2020-02-191-3/+5
| | | | * lang/qt/src/qgpgmegpgcardjob.cpp (do_work): Log call.
* qt: Add dummy context to make mixin happyAndre Heinecke2020-02-121-1/+2
| | | | | | * lang/qt/qgpgmegpgcardjob.cpp (QGpgMEGpgCardJob): Add context. -- Otherwise it fails with an assert.
* qt: Add GpgCardJob following the job patternAndre Heinecke2020-02-128-2/+319
| | | | | | | | | | | | | | | | | | | * lang/qt/src/Makefile.am: Add new files. * lang/qt/src/job.cpp (GpgCardJob): Add impl stuff. * lang/qt/src/protocol.h (gpgCardJob): Get one. * lang/qt/src/qgpgmebackend.cpp, lang/qt/src/qgpgmebackend.h: Add helpers to get the job. * lang/qt/src/qgpgmegpgcardjob.cpp, lang/qt/src/gpgcardjob.h, lang/qt/src/qgpgmegpgcardjob.h: New. -- This is annoyingly complex to add a simple new job. In the future we should implement something like this without the threadedjobmixin stuff. But the idea was to follow the usual job pattern. GnuPG-Bug-Id: T4794
* cpp, qt: Use uidhash to select uids for signingAndre Heinecke2019-12-131-0/+1
| | | | | | | | | | | | | | | | * lang/cpp/src/gpgsignkeyeditinteractor.cpp (action): Use uidhash instead of number. (GpgSignKeyEditInteractor::setKey): New. * lang/cpp/src/gpgsignkeyeditinteractor.h: Update accordingly. * lang/cpp/src/key.h, lang/cpp/src/key.cpp: Wrap uidhash. * lang/qt/src/qgpgmesignkeyjob.cpp: Set the key. -- Using the uidhash avoids problems when the user ids on --edit-key are different ones then the uids captured by gpgme when listing keys. Or if they are in a different order. This can happen with cached keys or keys with user attributes.
* qt: Allow adding empty remarksAndre Heinecke2019-11-011-1/+1
| | | | | * lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Allow empty remarks.
* qt: Extend signkeyjob to handle remarks and dupsAndre Heinecke2019-10-293-3/+56
| | | | | | | | | | | * lang/qt/src/qgpgmesignkeyjob.cpp: Handle remarks and dupeOK. * lang/qt/src/signkeyjob.h (SignKeyJob::setDupeOk), (SignKeyJob::setRemark): New. -- This API makes it easy for Kleopatra to add remarks for: GnuPG-Bug-Id: T4734
* qt: Handle diagnostic audit log for CMSAndre Heinecke2019-03-201-1/+7
| | | | | * lang/qt/src/threadedjobmixin.cpp(_detail::audit_log_as_html): Handle CMS audit log.
* qt,cpp: Consistently use nullptr and overrideAndre Heinecke2018-12-0319-83/+84
| | | | | | | | | | | | | | | * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am (AM_CPPFLAGS): Add suggest-override and zero-as-null-pointer-constant warnings. * lang/cpp/src/*, lang/qt/src/*: Consistenly use nullptr and override. -- This was especially important for the headers so that downstream users of GpgME++ or QGpgME do not get flooded by warnings if they have these warnings enabled. It also improves compiler errors/warnings in case of accidental mistakes.
* spelling: fix misspellingsDaniel Kahn Gillmor2018-11-082-3/+3
| | | | Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* qt: Handle encoding for diagnosticsAndre Heinecke2018-07-181-1/+53
| | | | | | | | | | | | | | | | | | | | * lang/qt/src/threadedjobmixin.cpp (fromEncoding) (stringFromGpgOutput): New helpers. (markupDiagnostics): Use it. -- The Problem is that on my western windows system GnuPG gets CP 437 as GetConsoleOutputCP and prints in that codepage. In a W32 GUI Application we get 0 as GetConsoleOutputCP and 1252 with GetACP. The only thing that seemed to somehow match was GetOEMCP but that might just be luck and it might still be broken in other windows languages. This code is also used in Kleopatra so it might make sense to make it public once it is demonstrated that it works on most systems.
* qt: Handle OpenPGP Diagnostic logAndre Heinecke2018-07-051-5/+27
| | | | | * lang/qt/src/threadedjobmixin.cpp (_detail::audit_log_as_html): Handle OpenPGP audit log differently.
* qt: Fix filename handling in cryptoconfigAndre Heinecke2018-04-261-3/+3
| | | | | | | | | | | * src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigEntry::urlValue): Build url from local file. (QGpgMENewCryptoConfigEntry::setURLValue): Set native seperated path. -- This fixes setting files through cryptoconfig on Windows. GnuPG-Bug-Id: T3939
* qt: Don't use QDateTime::toSecsSinceEpochAndre Heinecke2017-12-111-2/+2
| | | | | | | | * lang/qt/src/qgpgmequickjob.cpp (addSubkeyWorker) (createWorker): Use toMSecsSinceEpoch instead toSecsSinceEpoch. -- toSecsSinceEpoch was only introduced in Qt 5.8.
* qt: Add job for quick commandsAndre Heinecke2017-12-017-2/+315
| | | | | | | | | | | | | | | * lang/qt/src/qgpgmequickjob.cpp, lang/qt/src/qgpgmequickjob.h, lang/qt/src/quickjob.h: New. * lang/qt/src/Makefile.am, lang/qt/src/protocol.h, lang/qt/src/protocol_p.h, lang/qt/src/job.cpp: Update accordingly. -- Keeping it in line with the Job for everything pattern. Although it's reduced to one job for four commands as the commands all behave the same.
* qt: Fix IODeviceDataProvider with ProcessAndre Heinecke2017-11-141-1/+5
| | | | | | | | | * lang/qt/src/dataprovider.cpp (blocking_read): Keep reading if process is not atEnd. -- This fixes a regression in Kleopatra that uses this dataprovider to chain the gpgtar process to the encryption / signing.
* qt: Add a missing include <functional>Andre Heinecke2017-05-101-0/+1
| | | | | | | | | | | * lang/qt/src/qgpgmenewcryptoconfig.cpp: Include functional. -- This is intended to fix compilation against the c++ stdlib from Gentoo / GCC 7. Patch provided by Martin Väth. GnuPG-Bug-Id: T3151
* qt: Undeprecate API that I find usefulAndre Heinecke2017-05-105-5/+5
| | | | | | | | | | | | | | | | * lang/qt/src/decryptjob.h, lang/qt/src/decryptverifyjob.h, lang/qt/src/signencryptjob.h, lang/qt/src/verifydetachedjob.h, lang/qt/src/verifyopaquejob.h: Undeprecate ByteArray based API. -- While an IODevice may be more performant the ByteArray API is a very easy way to get started with QGpgME as it allows you basically to encrypt / decrypt any QString. This also fixes a ton of deprecation warnings in KDE where this API is used all over the place.
* qt, cpp: Add additional copyright BSI notesAndre Heinecke2017-04-252-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/cpp/Makefile.am, lang/cpp/src/Makefile.am, lang/cpp/src/callbacks.cpp, lang/cpp/src/callbacks.h, lang/cpp/src/configuration.cpp, lang/cpp/src/configuration.h, lang/cpp/src/context_glib.cpp, lang/cpp/src/context_p.h, lang/cpp/src/context_qt.cpp, lang/cpp/src/context_vanilla.cpp, lang/cpp/src/data_p.h, lang/cpp/src/decryptionresult.cpp, lang/cpp/src/decryptionresult.h, lang/cpp/src/defaultassuantransaction.cpp, lang/cpp/src/defaultassuantransaction.h, lang/cpp/src/editinteractor.cpp, lang/cpp/src/editinteractor.h, lang/cpp/src/encryptionresult.cpp, lang/cpp/src/encryptionresult.h, lang/cpp/src/engineinfo.cpp, lang/cpp/src/engineinfo.h, lang/cpp/src/error.h, lang/cpp/src/eventloopinteractor.cpp, lang/cpp/src/eventloopinteractor.h, lang/cpp/src/exception.cpp, lang/cpp/src/exception.h, lang/cpp/src/global.h, lang/cpp/src/gpgadduserideditinteractor.cpp, lang/cpp/src/gpgadduserideditinteractor.h, lang/cpp/src/gpgagentgetinfoassuantransaction.cpp, lang/cpp/src/gpgagentgetinfoassuantransaction.h, lang/cpp/src/gpgmefw.h, lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp, lang/cpp/src/gpgsetexpirytimeeditinteractor.h, lang/cpp/src/gpgsetownertrusteditinteractor.cpp, lang/cpp/src/gpgsetownertrusteditinteractor.h, lang/cpp/src/gpgsignkeyeditinteractor.cpp, lang/cpp/src/gpgsignkeyeditinteractor.h, lang/cpp/src/importresult.cpp, lang/cpp/src/importresult.h, lang/cpp/src/interfaces/assuantransaction.h, lang/cpp/src/interfaces/dataprovider.h, lang/cpp/src/interfaces/passphraseprovider.h, lang/cpp/src/interfaces/progressprovider.h, lang/cpp/src/keygenerationresult.cpp, lang/cpp/src/keygenerationresult.h, lang/cpp/src/keylistresult.cpp, lang/cpp/src/keylistresult.h, lang/cpp/src/notation.h, lang/cpp/src/result.h, lang/cpp/src/result_p.h, lang/cpp/src/scdgetinfoassuantransaction.cpp, lang/cpp/src/scdgetinfoassuantransaction.h, lang/cpp/src/signingresult.cpp, lang/cpp/src/signingresult.h, lang/cpp/src/trustitem.cpp, lang/cpp/src/trustitem.h, lang/cpp/src/util.h, lang/cpp/src/verificationresult.cpp, lang/cpp/src/verificationresult.h, lang/cpp/src/vfsmountresult.cpp, lang/qt/Makefile.am, lang/qt/doc/Makefile.am, lang/qt/src/Makefile.am, lang/qt/src/defaultkeygenerationjob.h, lang/qt/tests/Makefile.am: Add missing copyright. -- Moving the qt / cpp bindings into GPGME contained global changes that modified nearly every source file. To reflect that the copyright year / note should also be updated.
* Change copyright from Intevation to BSIAndre Heinecke2017-04-2595-95/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lang/cpp/src/gpggencardkeyinteractor.cpp, lang/cpp/src/gpggencardkeyinteractor.h, lang/cpp/src/gpgmepp_export.h, lang/cpp/src/swdbresult.cpp, lang/cpp/src/swdbresult.h, lang/cpp/src/tofuinfo.cpp, lang/cpp/src/tofuinfo.h, lang/qt/src/abstractimportjob.h, lang/qt/src/adduseridjob.h, lang/qt/src/changeexpiryjob.h, lang/qt/src/changeownertrustjob.h, lang/qt/src/changepasswdjob.h, lang/qt/src/cryptoconfig.cpp, lang/qt/src/cryptoconfig.h, lang/qt/src/dataprovider.cpp, lang/qt/src/dataprovider.h, lang/qt/src/decryptjob.h, lang/qt/src/decryptverifyjob.h, lang/qt/src/deletejob.h, lang/qt/src/dn.cpp, lang/qt/src/dn.h, lang/qt/src/downloadjob.h, lang/qt/src/encryptjob.h, lang/qt/src/exportjob.h, lang/qt/src/hierarchicalkeylistjob.h, lang/qt/src/importfromkeyserverjob.h, lang/qt/src/importjob.h, lang/qt/src/job.cpp, lang/qt/src/job.h, lang/qt/src/keyformailboxjob.h, lang/qt/src/keygenerationjob.h, lang/qt/src/keylistjob.h, lang/qt/src/listallkeysjob.h, lang/qt/src/multideletejob.h, lang/qt/src/protocol.h, lang/qt/src/protocol_p.h, lang/qt/src/qgpgme_export.h, lang/qt/src/qgpgmeadduseridjob.cpp, lang/qt/src/qgpgmeadduseridjob.h, lang/qt/src/qgpgmebackend.cpp, lang/qt/src/qgpgmebackend.h, lang/qt/src/qgpgmechangeexpiryjob.cpp, lang/qt/src/qgpgmechangeexpiryjob.h, lang/qt/src/qgpgmechangeownertrustjob.cpp, lang/qt/src/qgpgmechangeownertrustjob.h, lang/qt/src/qgpgmechangepasswdjob.cpp, lang/qt/src/qgpgmechangepasswdjob.h, lang/qt/src/qgpgmedecryptjob.cpp, lang/qt/src/qgpgmedecryptjob.h, lang/qt/src/qgpgmedecryptverifyjob.cpp, lang/qt/src/qgpgmedecryptverifyjob.h, lang/qt/src/qgpgmedeletejob.cpp, lang/qt/src/qgpgmedeletejob.h, lang/qt/src/qgpgmedownloadjob.cpp, lang/qt/src/qgpgmedownloadjob.h, lang/qt/src/qgpgmeencryptjob.cpp, lang/qt/src/qgpgmeencryptjob.h, lang/qt/src/qgpgmeexportjob.cpp, lang/qt/src/qgpgmeexportjob.h, lang/qt/src/qgpgmeimportfromkeyserverjob.cpp, lang/qt/src/qgpgmeimportfromkeyserverjob.h, lang/qt/src/qgpgmeimportjob.cpp, lang/qt/src/qgpgmeimportjob.h, lang/qt/src/qgpgmekeyformailboxjob.cpp, lang/qt/src/qgpgmekeyformailboxjob.h, lang/qt/src/qgpgmekeygenerationjob.cpp, lang/qt/src/qgpgmekeygenerationjob.h, lang/qt/src/qgpgmekeylistjob.cpp, lang/qt/src/qgpgmekeylistjob.h, lang/qt/src/qgpgmelistallkeysjob.cpp, lang/qt/src/qgpgmelistallkeysjob.h, lang/qt/src/qgpgmenewcryptoconfig.cpp, lang/qt/src/qgpgmenewcryptoconfig.h, lang/qt/src/qgpgmerefreshkeysjob.cpp, lang/qt/src/qgpgmerefreshkeysjob.h, lang/qt/src/qgpgmesecretkeyexportjob.cpp, lang/qt/src/qgpgmesecretkeyexportjob.h, lang/qt/src/qgpgmesignencryptjob.cpp, lang/qt/src/qgpgmesignencryptjob.h, lang/qt/src/qgpgmesignjob.cpp, lang/qt/src/qgpgmesignjob.h, lang/qt/src/qgpgmesignkeyjob.cpp, lang/qt/src/qgpgmesignkeyjob.h, lang/qt/src/qgpgmetofupolicyjob.cpp, lang/qt/src/qgpgmetofupolicyjob.h, lang/qt/src/qgpgmeverifydetachedjob.cpp, lang/qt/src/qgpgmeverifydetachedjob.h, lang/qt/src/qgpgmeverifyopaquejob.cpp, lang/qt/src/qgpgmeverifyopaquejob.h, lang/qt/src/qgpgmewkspublishjob.cpp, lang/qt/src/qgpgmewkspublishjob.h, lang/qt/src/refreshkeysjob.h, lang/qt/src/signencryptjob.h, lang/qt/src/signjob.h, lang/qt/src/signkeyjob.h, lang/qt/src/specialjob.h, lang/qt/src/threadedjobmixin.cpp, lang/qt/src/threadedjobmixin.h, lang/qt/src/tofupolicyjob.h, lang/qt/src/verifydetachedjob.h, lang/qt/src/verifyopaquejob.h, lang/qt/src/wkspublishjob.h, lang/qt/tests/run-keyformailboxjob.cpp, lang/qt/tests/t-config.cpp, lang/qt/tests/t-encrypt.cpp, lang/qt/tests/t-keylist.cpp, lang/qt/tests/t-keylocate.cpp, lang/qt/tests/t-ownertrust.cpp, lang/qt/tests/t-support.cpp, lang/qt/tests/t-support.h, lang/qt/tests/t-tofuinfo.cpp, lang/qt/tests/t-various.cpp, lang/qt/tests/t-verify.cpp, lang/qt/tests/t-wkspublish.cpp, tests/gpg/t-encrypt-mixed.c, tests/gpg/t-thread-keylist-verify.c, tests/gpg/t-thread-keylist.c, tests/run-decrypt.c: Change Intevation GmbH copyright to BSI. -- This should make it more transparent where the BSI is the actual copyright holder as the code was mostly developed as part of a development contract.
* qt: pass fmt to gpgrt_asprintf()Igor Gnatenko2017-04-031-1/+1
| | | | | | | | | * lang/qt/src/dn.cpp (parse_dn_part): Add fmt argument instead of using name directly. GnuPG-Bug-Id: 3023 Signed-off-by: Igor Gnatenko <[email protected]> Signed-off-by: Andre Heinecke <[email protected]>
* qt: Use gpgrt_asprintf instead of qstrdupAndre Heinecke2017-03-131-2/+2
| | | | | | | | | * lang/qt/src/dn.cpp (parse_dn_part): Use gpgrt_asprintf instead of qstrdup. -- This fixes a new / free mismatch because qstrdup uses new and the allocated parts are freed with free. Similar to: a09ed3f2
* qt: Allow creation of default keys without nameAndre Heinecke2017-03-011-3/+8
| | | | | * lang/qt/src/defaultkeygenerationjob.cpp (DefaultKeyGenerationJob::start): Handle empty name and email.
* qt: Add missing #include <functional>Igor Gnatenko2017-02-132-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * lang/qt/src/qgpgmenewcryptoconfig.cpp, lang/qt/src/threadedjobmixin.h: Include functional. -- With GCC 7.0, functional is not included transitively and we get: In file included from qgpgmedeletejob.h:39:0, from qgpgmedeletejob.cpp:38: threadedjobmixin.h:98:33: error: 'function' in namespace 'std' does not name a template type void setFunction(const std::function<T_result()> &function) ^~~~~~~~ std::{function,bind,placeholders,mem_fn} are defined in functional. References: https://bugzilla.redhat.com/show_bug.cgi?id=1417383 Signed-off-by: Igor Gnatenko <[email protected]> GnuPG-Bug-Id: 2955 Commit Message amended by Andre Heinecke Signed-off-by: Andre Heinecke <[email protected]>
* qt: Add support for stringValueList in CryptoConfAndre Heinecke2017-01-125-1/+68
| | | | | | | | | | | | | | | | * lang/qt/src/Makefile.am (qgpgme_sources): Add cryptoconfig.cpp * lang/qt/src/cryptoconfig.cpp: New. * lang/qt/src/cryptoconfig.h (CryptoConfigEntry::stringValueList): New. * lang/qt/src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigEntry::stringValueList): New. * lang/qt/src/qgpgmenewcryptoconfig.h: Update accordingly. -- This is a pardigm change in cryptoconfig.h to avoid ABI breaks with each new config value we support it now has an implementation that is directly related to qgpgmenewcryptoconfig, which is now the only one.
* Fix Qgpgme build for macosAndre Heinecke2017-01-111-1/+3
| | | | | | * lang/qt/src/dn.cpp: Include string.h (parse_dn_part): Use qstrdup. * lang/qt/tests/t-support.h (getPassphrase): Use qstrdup.
* Fix cmake configuration files for MacOSAndre Heinecke2017-01-112-1/+8
| | | | | | | | | | | | * configure.ac: Set HAVE_MACOS_SYSTEM conditional. * lang/qt/src/Makefile.am, lang/cpp/src/Makefile.am, lang/qt/src/QGpgmeConfig.cmake.in.in, lang/cpp/src/GpgmeConfig.cmake.in.in: Use libsuffix again to distinguish between macos .dylib -- GnuPG-Bug-Id: 2884
* qt: Update config sync doc / commentAndre Heinecke2017-01-022-12/+6
| | | | | | | | * lang/qt/src/cryptoconfig.h (CryptoConfig::sync): Document that runtime option is always set. * lang/qt/Src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigComponent::sync): Remove outdated comment and warn on error.
* qt, cpp: Add cmake config files for w32Andre Heinecke2016-11-153-7/+113
| | | | | | | | | | | | | | | * lang/cpp/src/GpgmeppConfig-w32.cmake.in.in lang/qt/src/QGpgmeConfig-w32.cmake.in.in: New. * lang/cpp/src/GpgmeppConfig.cmake.in.in, lang/qt/src/QGpgmeConfig.cmake.in.in: Remove libsuffix handling. * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Create / install w32 config files. * configure.ac: Configure them. -- To work with DLL's cmake needs to know about the implib and the final DLL. So the config files look different enough that it's better to use alternative files.
* qt: Use new style connect in th..mixinAndre Heinecke2016-11-151-1/+2
| | | | | * lang/qt/src/threadedjobmixin.h (ThreadedJobMixin::lateInitialization): Use new style connect.
* qt: Add API to get the context for a JobAndre Heinecke2016-11-143-2/+32
| | | | | | | | | | | | | | | | | | | | * lang/qt/src/job.cpp, lang/qt/src/job.h (Job::context): New. * lang/qt/src/threadedjobmixin.cpp (ThreadedJobMixin::~ThreadedJobMixin): New. Unregister context. (ThreadedJobMixin::lateInitialization): Register context. * NEWS: Update for cpp and qt. -- The global map hack is necessary because the job class does not know about the context which is held in threadedjobmixin. Adding a virtual function in Job would be an ABI break which I'd like to avoid at this point. Although QGpgME's API will need a big ABI break to make it ABI maintainable. The virtual jobs -> implementation classes are nearly unmaintainable ABI wise. The context is exposed to provide more flexibility to users, e.g. to add a passphrase callback or to set the sender in a context.
* qt, cpp: Enable dll build for windowsAndre Heinecke2016-11-141-1/+1
| | | | | * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am: Add -no-undefined to LDFLAGS.
* qt: Change license of export / version headerAndre Heinecke2016-11-032-34/+54
| | | | | | | | | | | * lang/qt/src/qgpgme_export.h, lang/qt/src/qgpgme_version.h: Change license to GPLv2+ -- These files were based on copies from the cpp version/export headers. This change is meant to clarify the licensing by bringing it in line with the overall licesense of the qgpgme library.
* qt: Fix build with g++ 4.8.xAndras Mantia2016-11-021-3/+3
| | | | | | | | | * lang/qt/src/defaultkeygenerationjob.cpp (DefaultKeyGenerationJob::start): Explicitly connect pointer in the QPointer. -- Commit message written by Andre Heinecke <[email protected]>