File indexing completed on 2024-05-26 04:46:54

0001 /*
0002    SPDX-FileCopyrightText: 2022-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "grammalecteurlrequesterwidget.h"
0008 #include <KLocalizedString>
0009 #include <QFileDialog>
0010 #include <QHBoxLayout>
0011 #include <QLineEdit>
0012 #include <QToolButton>
0013 #if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
0014 #include <KLineEditEventHandler>
0015 #endif
0016 
0017 using namespace TextGrammarCheck;
0018 GrammalecteUrlRequesterWidget::GrammalecteUrlRequesterWidget(QWidget *parent)
0019     : QWidget{parent}
0020     , mLineEdit(new QLineEdit(this))
0021 {
0022     auto mainLayout = new QHBoxLayout(this);
0023     mainLayout->setObjectName(QStringLiteral("mainLayout"));
0024     mainLayout->setContentsMargins({});
0025 
0026     mLineEdit->setObjectName(QStringLiteral("mLineEdit"));
0027     mainLayout->addWidget(mLineEdit);
0028 #if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
0029     KLineEditEventHandler::catchReturnKey(mLineEdit);
0030 #endif
0031     auto selectUrlButton = new QToolButton(this);
0032     selectUrlButton->setText(QStringLiteral("..."));
0033     selectUrlButton->setObjectName(QStringLiteral("selectUrlButton"));
0034     mainLayout->addWidget(selectUrlButton);
0035 
0036     connect(selectUrlButton, &QToolButton::clicked, this, [this]() {
0037         const QString path = QFileDialog::getOpenFileName(this, i18n("Select Path"));
0038         mLineEdit->setText(path);
0039     });
0040 }
0041 
0042 GrammalecteUrlRequesterWidget::~GrammalecteUrlRequesterWidget() = default;
0043 
0044 void GrammalecteUrlRequesterWidget::setPath(const QString &path)
0045 {
0046     mLineEdit->setText(path);
0047 }
0048 
0049 QString GrammalecteUrlRequesterWidget::path() const
0050 {
0051     return mLineEdit->text();
0052 }
0053 
0054 void GrammalecteUrlRequesterWidget::setPlaceholderText(const QString &text)
0055 {
0056     mLineEdit->setPlaceholderText(text);
0057 }
0058 
0059 #include "moc_grammalecteurlrequesterwidget.cpp"