5import QtQuick.Controls as QQC2
9import org.kde.kirigami as Kirigami
10import org.kde.kirigamiaddons.formcard 1.0 as FormCard
11import org.kde.kidentitymanagement 1.0
16 required property var identity
17 property alias toAddEmailText: toAddEmail.text
19 function isNotEmptyStr(str) {
20 return str.trim().length > 0;
26 title:
i18n(
"Identity")
32 Layout.fillWidth:
true
34 text: root.identity.fullName
35 onTextChanged: root.identity.fullName = text
41 text: root.identity.primaryEmailAddress
42 onTextChanged: root.identity.primaryEmailAddress = text
43 inputMethodHints:
Qt.ImhEmailCharactersOnly
48 title:
i18n(
"E-mail aliases")
53 id: emailAliasesRepeater
55 property var emailAliases: root.identity.emailAliases
59 delegate:
FormCard.AbstractFormDelegate {
62 Layout.fillWidth:
true
64 contentItem: RowLayout {
67 Layout.fillWidth:
true
69 inputMethodHints:
Qt.ImhEmailCharactersOnly
71 let emailAliases = emailAliasesRepeater.emailAliases;
72 emailAliases[model.index] = text;
73 identity.emailAliases = emailAliases;
74 emailAliasesRepeater.emailAliases = emailAliases;
79 icon.name:
"list-remove"
80 implicitWidth: implicitHeight
82 text:
i18n(
"Remove email alias")
85 let emailAliases = emailAliasesRepeater.emailAliases;
86 emailAliases = Array.from(emailAliases).filter(email => email !== modelData);
87 identity.emailAliases = emailAliases;
88 emailAliasesRepeater.emailAliases = emailAliases;
96 Layout.fillWidth:
true
98 contentItem: RowLayout {
101 Layout.fillWidth:
true
102 placeholderText:
i18n(
"user@example.org")
103 inputMethodHints:
Qt.ImhEmailCharactersOnly
107 icon.name:
"list-add"
108 implicitWidth: implicitHeight
109 enabled: isNotEmptyStr(toAddEmail.text)
111 text:
i18n(
"Add email alias")
114 let emailAliases = emailAliasesRepeater.emailAliases;
115 emailAliases.push(toAddEmail.text);
116 identity.emailAliases = emailAliasesRepeater.emailAliases;
117 emailAliasesRepeater.emailAliases = emailAliases;
QString i18n(const char *text, const TYPE &arg...)
QString label(StandardShortcut id)