KIdentityManagement

identityeditorbackend.h
1// SPDX-FileCopyrightText: 2023 Claudio Cambra <claudio.cambra@kde.org>
2// SPDX-License-Identifier: LGPL-2.0-or-later
3
4#pragma once
5
6#include <QObject>
7
8#include "identity.h"
9#include "identitymanager.h"
10
11namespace KIdentityManagementQuick
12{
13class IdentityEditorBackend : public QObject
14{
16
17 Q_PROPERTY(Mode mode READ mode WRITE setMode NOTIFY modeChanged)
18 Q_PROPERTY(KIdentityManagementCore::Identity identity READ identity WRITE setIdentity NOTIFY identityChanged NOTIFY modeChanged)
19 Q_PROPERTY(uint identityUoid READ identityUoid WRITE setIdentityUoid NOTIFY identityChanged)
20
21public:
22 enum Mode { CreateMode, EditMode };
23 Q_ENUM(Mode);
24
25 explicit IdentityEditorBackend() = default;
26
27 [[nodiscard]] Mode mode() const;
28 void setMode(Mode mode);
29
30 [[nodiscard]] KIdentityManagementCore::Identity identity() const;
31 void setIdentity(const KIdentityManagementCore::Identity &identity);
32
33 [[nodiscard]] uint identityUoid() const;
34 void setIdentityUoid(uint identityUoid);
35
36 Q_INVOKABLE void saveIdentity(const KIdentityManagementCore::Identity &modifiedIdentity);
37
38 Q_INVOKABLE void addEmailAlias(const QString &alias);
39 Q_INVOKABLE void modifyEmailAlias(const QString &originalAlias, const QString &modifiedAlias);
40 Q_INVOKABLE void removeEmailAlias(const QString &alias);
41
43 void modeChanged();
44 void identityChanged();
45
46private:
49 Mode mMode = CreateMode;
50};
51}
Manages the list of identities.
static IdentityManager * self()
Creates or reuses the identity manager instance for this process.
User identity information.
Definition identity.h:73
Q_INVOKABLEQ_INVOKABLE
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
Q_SIGNALSQ_SIGNALS
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Apr 27 2024 22:14:39 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.