File indexing completed on 2024-05-12 04:38:55
0001 /* 0002 SPDX-FileCopyrightText: 2010 Aleix Pol <aleixpol@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "standardvcslocationwidget.h" 0008 #include <QVBoxLayout> 0009 #include <KUrlRequester> 0010 #include <KLocalizedString> 0011 #include <vcs/vcslocation.h> 0012 0013 using namespace KDevelop; 0014 0015 StandardVcsLocationWidget::StandardVcsLocationWidget(QWidget* parent, Qt::WindowFlags f) 0016 : VcsLocationWidget(parent, f) 0017 { 0018 auto* widgetLayout = new QVBoxLayout; 0019 widgetLayout->setContentsMargins(0, 0, 0, 0); 0020 setLayout(widgetLayout); 0021 0022 m_urlWidget = new KUrlRequester(this); 0023 m_urlWidget->setPlaceholderText(i18nc("@info:placeholder", "Enter the repository URL...")); 0024 layout()->addWidget(m_urlWidget); 0025 0026 connect(m_urlWidget, &KUrlRequester::textChanged, this, &StandardVcsLocationWidget::textChanged); 0027 } 0028 0029 void StandardVcsLocationWidget::setLocation(const QUrl& remoteLocation) 0030 { 0031 setUrl(remoteLocation); 0032 } 0033 0034 void StandardVcsLocationWidget::setUrl(const QUrl& url) 0035 { 0036 m_urlWidget->setUrl(url); 0037 } 0038 0039 QUrl StandardVcsLocationWidget::url() const 0040 { 0041 return m_urlWidget->url(); 0042 } 0043 0044 VcsLocation StandardVcsLocationWidget::location() const 0045 { 0046 VcsLocation v(m_urlWidget->url()); 0047 return v; 0048 } 0049 0050 bool StandardVcsLocationWidget::isCorrect() const 0051 { 0052 return !m_urlWidget->url().isEmpty(); 0053 } 0054 0055 void StandardVcsLocationWidget::textChanged(const QString& /*str*/) 0056 { 0057 emit changed(); 0058 } 0059 0060 QString KDevelop::StandardVcsLocationWidget::projectName() const 0061 { 0062 return m_urlWidget->url().fileName(); 0063 } 0064 0065 #include "moc_standardvcslocationwidget.cpp"