File indexing completed on 2025-02-16 04:49:25

0001 /*
0002     SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "markdowncreatelinkwidget.h"
0008 #include <KLocalizedString>
0009 #include <QFormLayout>
0010 #include <QLineEdit>
0011 
0012 MarkdownCreateLinkWidget::MarkdownCreateLinkWidget(QWidget *parent)
0013     : QWidget(parent)
0014     , mTitle(new QLineEdit(this))
0015     , mLink(new QLineEdit(this))
0016 {
0017     auto mainLayout = new QFormLayout(this);
0018     mainLayout->setObjectName(QLatin1StringView("mainlayout"));
0019     mainLayout->setContentsMargins({});
0020 
0021     mTitle->setObjectName(QLatin1StringView("title"));
0022     mTitle->setClearButtonEnabled(true);
0023     mLink->setObjectName(QLatin1StringView("link"));
0024     mLink->setClearButtonEnabled(true);
0025 
0026     connect(mTitle, &QLineEdit::textChanged, this, &MarkdownCreateLinkWidget::slotEnableButton);
0027     connect(mLink, &QLineEdit::textChanged, this, &MarkdownCreateLinkWidget::slotEnableButton);
0028 
0029     mainLayout->addRow(i18n("Title:"), mTitle);
0030     mainLayout->addRow(i18n("Link:"), mLink);
0031 }
0032 
0033 MarkdownCreateLinkWidget::~MarkdownCreateLinkWidget() = default;
0034 
0035 void MarkdownCreateLinkWidget::slotEnableButton()
0036 {
0037     Q_EMIT enabledOkButton(!mTitle->text().trimmed().isEmpty() && !mLink->text().trimmed().isEmpty());
0038 }
0039 
0040 QString MarkdownCreateLinkWidget::linkStr() const
0041 {
0042     if (mTitle->text().trimmed().isEmpty() && mLink->text().trimmed().isEmpty()) {
0043         return {};
0044     }
0045     return QStringLiteral("[%1](%2)").arg(mTitle->text().trimmed(), mLink->text().trimmed());
0046 }
0047 
0048 #include "moc_markdowncreatelinkwidget.cpp"