1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
/*
SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#include "snippetattachmentwidget.h"
#include "snippetselectattachmentdialog.h"
#include <KLocalizedString>
#include <QHBoxLayout>
#include <QLineEdit>
#include <QPointer>
#include <QToolButton>
using namespace MailCommon;
SnippetAttachmentWidget::SnippetAttachmentWidget(QWidget *parent)
: QWidget(parent)
, mLineEdit(new QLineEdit(this))
{
auto layout = new QHBoxLayout(this);
layout->setObjectName(QLatin1StringView("layout"));
layout->setContentsMargins({});
mLineEdit->setObjectName(QLatin1StringView("lineedit"));
mLineEdit->setPlaceholderText(i18nc("@info:placeholder", "Click on button for selecting attachment file"));
layout->addWidget(mLineEdit);
mLineEdit->setReadOnly(true);
auto button = new QToolButton(this);
button->setObjectName(QLatin1StringView("button"));
button->setToolTip(i18nc("@info:tooltip", "Select Attachments"));
button->setText(i18n("…"));
layout->addWidget(button);
connect(button, &QToolButton::clicked, this, &SnippetAttachmentWidget::slotSelectAttachment);
}
SnippetAttachmentWidget::~SnippetAttachmentWidget() = default;
void SnippetAttachmentWidget::setText(const QString &str)
{
mLineEdit->setText(str);
}
QString SnippetAttachmentWidget::text() const
{
return mLineEdit->text();
}
void SnippetAttachmentWidget::clear()
{
mLineEdit->clear();
}
void SnippetAttachmentWidget::slotSelectAttachment()
{
QPointer<MailCommon::SnippetSelectAttachmentDialog> dlg = new MailCommon::SnippetSelectAttachmentDialog(this);
dlg->setAttachments(mLineEdit->text().split(QLatin1Char(','), Qt::SkipEmptyParts));
if (dlg->exec()) {
mLineEdit->setText(dlg->attachments().join(QLatin1Char(',')));
Q_EMIT wasChanged();
}
delete dlg;
}
#include "moc_snippetattachmentwidget.cpp"
|