File indexing completed on 2024-05-12 04:39:40
0001 /* 0002 SPDX-FileCopyrightText: 2014 Kevin Funk <kfunk@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include "noprojectcustomincludepaths.h" 0008 0009 #include "ui_noprojectcustomincludepaths.h" 0010 0011 #include <KLocalizedString> 0012 0013 #include <QFileDialog> 0014 #include <QUrl> 0015 0016 0017 NoProjectCustomIncludePaths::NoProjectCustomIncludePaths(QWidget* parent) 0018 : QDialog(parent), 0019 m_ui(new Ui::CustomIncludePaths) 0020 { 0021 m_ui->setupUi(this); 0022 m_ui->storageDirectory->setMode(KFile::Directory); 0023 0024 setWindowTitle(i18nc("@title:window", "Setup Custom Include Paths")); 0025 0026 connect(m_ui->directorySelector, &QPushButton::clicked, this, &NoProjectCustomIncludePaths::openAddIncludeDirectoryDialog); 0027 } 0028 0029 void NoProjectCustomIncludePaths::setStorageDirectory(const QString& path) 0030 { 0031 m_ui->storageDirectory->setUrl(QUrl::fromLocalFile(path)); 0032 } 0033 0034 QString NoProjectCustomIncludePaths::storageDirectory() const 0035 { 0036 return m_ui->storageDirectory->url().toLocalFile(); 0037 } 0038 0039 void NoProjectCustomIncludePaths::appendCustomIncludePath(const QString& path) 0040 { 0041 m_ui->customIncludePaths->appendPlainText(path); 0042 } 0043 0044 QStringList NoProjectCustomIncludePaths::customIncludePaths() const 0045 { 0046 const QString pathsText = m_ui->customIncludePaths->document()->toPlainText(); 0047 return pathsText.split(QLatin1Char('\n'), Qt::SkipEmptyParts); 0048 } 0049 0050 void NoProjectCustomIncludePaths::setCustomIncludePaths(const QStringList& paths) 0051 { 0052 m_ui->customIncludePaths->setPlainText(paths.join(QLatin1Char('\n'))); 0053 } 0054 0055 void NoProjectCustomIncludePaths::openAddIncludeDirectoryDialog() 0056 { 0057 const QString dirName = QFileDialog::getExistingDirectory(this, i18nc("@title:window", "Select Directory to Include")); 0058 if (dirName.isEmpty()) 0059 return; 0060 0061 appendCustomIncludePath(dirName); 0062 } 0063 0064 #include "moc_noprojectcustomincludepaths.cpp"