File indexing completed on 2024-06-23 05:18:28
0001 /* 0002 SPDX-FileCopyrightText: 2022 Sandro Knauß <sknauss@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "contactpreference.h" 0008 0009 #include <KContacts/Addressee> 0010 0011 using namespace MessageComposer; 0012 0013 ContactPreference::ContactPreference() = default; 0014 0015 void ContactPreference::fillFromAddressee(const KContacts::Addressee &contact) 0016 { 0017 const QString encryptPref = contact.custom(QStringLiteral("KADDRESSBOOK"), QStringLiteral("CRYPTOENCRYPTPREF")); 0018 encryptionPreference = Kleo::stringToEncryptionPreference(encryptPref); 0019 const QString signPref = contact.custom(QStringLiteral("KADDRESSBOOK"), QStringLiteral("CRYPTOSIGNPREF")); 0020 signingPreference = Kleo::stringToSigningPreference(signPref); 0021 const QString cryptoFormats = contact.custom(QStringLiteral("KADDRESSBOOK"), QStringLiteral("CRYPTOPROTOPREF")); 0022 cryptoMessageFormat = Kleo::stringToCryptoMessageFormat(cryptoFormats); 0023 pgpKeyFingerprints = contact.custom(QStringLiteral("KADDRESSBOOK"), QStringLiteral("OPENPGPFP")).split(QLatin1Char(','), Qt::SkipEmptyParts); 0024 smimeCertFingerprints = contact.custom(QStringLiteral("KADDRESSBOOK"), QStringLiteral("SMIMEFP")).split(QLatin1Char(','), Qt::SkipEmptyParts); 0025 } 0026 0027 void ContactPreference::fillAddressee(KContacts::Addressee &contact) const 0028 { 0029 contact.insertCustom(QStringLiteral("KADDRESSBOOK"), 0030 QStringLiteral("CRYPTOENCRYPTPREF"), 0031 QLatin1StringView(Kleo::encryptionPreferenceToString(encryptionPreference))); 0032 contact.insertCustom(QStringLiteral("KADDRESSBOOK"), 0033 QStringLiteral("CRYPTOSIGNPREF"), 0034 QLatin1StringView(Kleo::signingPreferenceToString(signingPreference))); 0035 contact.insertCustom(QStringLiteral("KADDRESSBOOK"), 0036 QStringLiteral("CRYPTOPROTOPREF"), 0037 QLatin1StringView(cryptoMessageFormatToString(cryptoMessageFormat))); 0038 contact.insertCustom(QStringLiteral("KADDRESSBOOK"), QStringLiteral("OPENPGPFP"), pgpKeyFingerprints.join(QLatin1Char(','))); 0039 contact.insertCustom(QStringLiteral("KADDRESSBOOK"), QStringLiteral("SMIMEFP"), smimeCertFingerprints.join(QLatin1Char(','))); 0040 }