10 #include "mailwidget.h"
11 #include <KLocalizedString>
12 #include <QHBoxLayout>
13 #include <QToolButton>
14 #include <editor/generalinfoeditor/mail/mailtypecombobox.h>
15 #include <editor/widgets/preferredlineeditwidget.h>
18 MailWidget::MailWidget(
QWidget *parent)
20 , mMailEdit(new PreferredLineEditWidget(this))
21 , mMailType(new
Akonadi::MailTypeCombobox(this))
26 layout->setSpacing(0);
27 layout->setContentsMargins({});
29 mMailEdit->setTrapReturnKey(
true);
30 mMailEdit->setPlaceholderText(
i18n(
"Add an Email Account"));
31 mMailEdit->setObjectName(QLatin1StringView(
"mailedit"));
32 layout->addWidget(mMailEdit);
33 connect(mMailEdit, &PreferredLineEditWidget::preferredChanged,
this, &MailWidget::slotPreferredChanged);
35 mMailType->setObjectName(QLatin1StringView(
"mailtype"));
36 layout->addWidget(mMailType);
39 mAddButton->setObjectName(QLatin1StringView(
"addbutton"));
40 mAddButton->setToolTip(
i18n(
"Add an Email"));
42 layout->addWidget(mAddButton);
45 mRemoveButton->setObjectName(QLatin1StringView(
"removebutton"));
46 mRemoveButton->setToolTip(
i18n(
"Remove Email"));
48 layout->addWidget(mRemoveButton);
51 MailWidget::~MailWidget() =
default;
53 void MailWidget::slotPreferredChanged()
55 Q_EMIT preferredChanged(
this);
58 void MailWidget::clearWidget()
62 mMailType->setCurrentIndex(0);
65 void MailWidget::updateAddRemoveButton(
bool addButtonEnabled)
67 mAddButton->setEnabled(addButtonEnabled);
73 mMailEdit->setText(email.mail());
74 mMailType->setCurrentIndex(mMailType->findData((
int)email.
type()));
80 mEmail.setEmail(mMailEdit->text());
82 mEmail.setPreferred(mMailEdit->preferred());
86 void MailWidget::setPreferred(
bool b)
88 mMailEdit->setPreferred(b);
91 void MailWidget::setReadOnly(
bool readOnly)
93 mMailEdit->setReadOnly(readOnly);
94 mMailType->setEnabled(!readOnly);
95 mAddButton->setEnabled(!readOnly);
96 mRemoveButton->setEnabled(!readOnly);
99 void MailWidget::slotAddMail()
101 Q_EMIT addWidget(
this);
104 void MailWidget::slotRemoveMail()
106 Q_EMIT removeWidget(
this);
109 #include "moc_mailwidget.cpp"