6#include "selectbodytypewidget.h"
7#include "autocreatescripts/autocreatescriptutil_p.h"
9#include <KLineEditEventHandler>
10#include <KLocalizedString>
16using namespace KSieveUi;
18SelectBodyTypeWidget::SelectBodyTypeWidget(
QWidget *parent)
24SelectBodyTypeWidget::~SelectBodyTypeWidget() =
default;
26void SelectBodyTypeWidget::initialize()
28 auto lay =
new QHBoxLayout(
this);
29 lay->setContentsMargins({});
31 mBodyCombobox =
new QComboBox(
this);
32 lay->addWidget(mBodyCombobox);
33 mBodyCombobox->addItem(
i18n(
"raw"), QStringLiteral(
":raw"));
34 mBodyCombobox->addItem(
i18n(
"content"), QStringLiteral(
":content"));
35 mBodyCombobox->addItem(
i18n(
"text"), QStringLiteral(
":text"));
38 mBodyLineEdit =
new QLineEdit(
this);
41 lay->addWidget(mBodyLineEdit);
42 mBodyLineEdit->hide();
45QString SelectBodyTypeWidget::code()
const
47 QString value = mBodyCombobox->itemData(mBodyCombobox->currentIndex()).toString();
48 if (value == QLatin1StringView(
":content")) {
49 value += QStringLiteral(
" \"%1\"").
arg(mBodyLineEdit->text());
54void SelectBodyTypeWidget::slotBodyTypeChanged(
int index)
56 const QString value = mBodyCombobox->itemData(index).toString();
57 if (value == QLatin1StringView(
":content")) {
58 mBodyLineEdit->show();
60 mBodyLineEdit->hide();
65void SelectBodyTypeWidget::setCode(
const QString &type,
const QString &content,
const QString &name, QString &error)
67 const int index = mBodyCombobox->findData(type);
69 mBodyCombobox->setCurrentIndex(index);
71 AutoCreateScriptUtil::comboboxItemNotFound(type, name, error);
72 mBodyCombobox->setCurrentIndex(0);
74 slotBodyTypeChanged(index);
75 mBodyLineEdit->setText(content);
78#include "moc_selectbodytypewidget.cpp"
QString i18n(const char *text, const TYPE &arg...)
void catchReturnKey(QObject *lineEdit)
void initialize(StandardShortcut id)
void activated(int index)
void textChanged(const QString &text)
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QString arg(Args &&... args) const const