File indexing completed on 2024-05-12 05:17:09
0001 // SPDX-FileCopyrightText: 2023 Claudio Cambra <claudio.cambra@kde.org> 0002 // SPDX-License-Identifier: LGPL-2.0-or-later 0003 0004 #include "identityeditorbackend.h" 0005 0006 #include <memory> 0007 0008 namespace KIdentityManagementQuick 0009 { 0010 IdentityEditorBackend::Mode IdentityEditorBackend::mode() const 0011 { 0012 return mMode; 0013 } 0014 0015 void IdentityEditorBackend::setMode(Mode mode) 0016 { 0017 if (mMode == mode) { 0018 return; 0019 } 0020 0021 mMode = mode; 0022 Q_EMIT modeChanged(); 0023 } 0024 0025 KIdentityManagementCore::Identity IdentityEditorBackend::identity() const 0026 { 0027 return mIdentity; 0028 } 0029 0030 void IdentityEditorBackend::setIdentity(const KIdentityManagementCore::Identity &identity) 0031 { 0032 if (mIdentity == identity) { 0033 return; 0034 } 0035 0036 mIdentity = identity; 0037 Q_EMIT identityChanged(); 0038 } 0039 0040 uint IdentityEditorBackend::identityUoid() const 0041 { 0042 return mIdentity.uoid(); 0043 } 0044 0045 void IdentityEditorBackend::setIdentityUoid(uint identityUoid) 0046 { 0047 if (mIdentity.uoid() == identityUoid) { 0048 return; 0049 } 0050 0051 const auto &identity = mIdentityManager->modifyIdentityForUoid(identityUoid); 0052 setIdentity(identity); 0053 } 0054 0055 void IdentityEditorBackend::saveIdentity(const KIdentityManagementCore::Identity &modifiedIdentity) 0056 { 0057 mIdentityManager->saveIdentity(modifiedIdentity); 0058 } 0059 0060 void IdentityEditorBackend::addEmailAlias(const QString &alias) 0061 { 0062 auto aliases = mIdentity.emailAliases(); 0063 aliases.append(alias); 0064 mIdentity.setEmailAliases(aliases); 0065 } 0066 0067 void IdentityEditorBackend::modifyEmailAlias(const QString &originalAlias, const QString &modifiedAlias) 0068 { 0069 auto aliases = mIdentity.emailAliases(); 0070 std::replace(aliases.begin(), aliases.end(), originalAlias, modifiedAlias); 0071 mIdentity.setEmailAliases(aliases); 0072 } 0073 0074 void IdentityEditorBackend::removeEmailAlias(const QString &alias) 0075 { 0076 auto aliases = mIdentity.emailAliases(); 0077 aliases.removeAll(alias); 0078 mIdentity.setEmailAliases(aliases); 0079 } 0080 } 0081 0082 #include "moc_identityeditorbackend.cpp"