aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/genericprojectmanager/genericbuildconfiguration.cpp3
-rw-r--r--src/plugins/genericprojectmanager/genericmakestep.cpp4
-rw-r--r--src/plugins/genericprojectmanager/genericproject.cpp167
-rw-r--r--src/plugins/genericprojectmanager/genericproject.h28
-rw-r--r--src/plugins/genericprojectmanager/genericprojectmanager.pro4
-rw-r--r--src/plugins/genericprojectmanager/genericprojectmanager.qbs2
-rw-r--r--src/plugins/genericprojectmanager/genericprojectnodes.cpp113
-rw-r--r--src/plugins/genericprojectmanager/genericprojectnodes.h59
8 files changed, 111 insertions, 269 deletions
diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
index 1e2f38ea62..461232e4c8 100644
--- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
+++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
@@ -30,11 +30,14 @@
#include "genericprojectconstants.h"
#include <coreplugin/icore.h>
+
#include <projectexplorer/buildinfo.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
+
#include <utils/mimetypes/mimedatabase.h>
#include <utils/pathchooser.h>
#include <utils/qtcassert.h>
diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp
index 4046106eee..8569a994ef 100644
--- a/src/plugins/genericprojectmanager/genericmakestep.cpp
+++ b/src/plugins/genericprojectmanager/genericmakestep.cpp
@@ -29,15 +29,17 @@
#include "ui_genericmakestep.h"
#include "genericbuildconfiguration.h"
-#include <extensionsystem/pluginmanager.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/gnumakeparser.h>
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h>
+
#include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtparser.h>
+
#include <utils/stringutils.h>
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index c8b14a125d..be174cae0d 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -32,11 +32,13 @@
#include <coreplugin/documentmanager.h>
#include <coreplugin/icontext.h>
#include <coreplugin/icore.h>
+#include <coreplugin/idocument.h>
+
#include <cpptools/cpptoolsconstants.h>
#include <cpptools/cppmodelmanager.h>
#include <cpptools/projectinfo.h>
#include <cpptools/cppprojectupdater.h>
-#include <extensionsystem/pluginmanager.h>
+
#include <projectexplorer/abi.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/customexecutablerunconfiguration.h>
@@ -44,13 +46,20 @@
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/projectexplorerconstants.h>
+#include <projectexplorer/projectnodes.h>
+#include <projectexplorer/target.h>
+
#include <qtsupport/baseqtversion.h>
#include <qtsupport/qtkitinformation.h>
+
#include <utils/algorithm.h>
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
#include <QDir>
+#include <QHash>
+#include <QSet>
+#include <QStringList>
using namespace Core;
using namespace ProjectExplorer;
@@ -61,6 +70,89 @@ namespace Internal {
////////////////////////////////////////////////////////////////////////////////////
//
+// GenericProjectFile
+//
+////////////////////////////////////////////////////////////////////////////////////
+
+class GenericProjectFile : public Core::IDocument
+{
+public:
+ GenericProjectFile(GenericProject *parent, const FileName &fileName,
+ GenericProject::RefreshOptions options) :
+ m_project(parent),
+ m_options(options)
+ {
+ setId("Generic.ProjectFile");
+ setMimeType(Constants::GENERICMIMETYPE);
+ setFilePath(fileName);
+ }
+
+ ReloadBehavior reloadBehavior(ChangeTrigger, ChangeType) const final
+ {
+ return BehaviorSilent;
+ }
+
+ bool reload(QString *errorString, ReloadFlag flag, ChangeType type) override
+ {
+ Q_UNUSED(errorString);
+ Q_UNUSED(flag);
+ if (type == TypePermissions)
+ return true;
+ m_project->refresh(m_options);
+ return true;
+ }
+
+private:
+ GenericProject *m_project = nullptr;
+ GenericProject::RefreshOptions m_options;
+};
+
+
+////////////////////////////////////////////////////////////////////////////////////
+//
+// GenericProjectNode
+//
+////////////////////////////////////////////////////////////////////////////////////
+
+class GenericProjectNode : public ProjectNode
+{
+public:
+ explicit GenericProjectNode(GenericProject *project) :
+ ProjectNode(project->projectDirectory()),
+ m_project(project)
+ {
+ setDisplayName(project->projectFilePath().toFileInfo().completeBaseName());
+ }
+
+ bool showInSimpleTree() const override { return true; }
+
+ QList<ProjectExplorer::ProjectAction> supportedActions(Node *) const override
+ {
+ return {AddNewFile, AddExistingFile, AddExistingDirectory, RemoveFile, Rename};
+ }
+
+ bool addFiles(const QStringList &filePaths, QStringList * = 0) override
+ {
+ return m_project->addFiles(filePaths);
+ }
+
+ bool removeFiles(const QStringList &filePaths, QStringList * = 0) override
+ {
+ return m_project->removeFiles(filePaths);
+ }
+
+ bool renameFile(const QString &filePath, const QString &newFilePath) override
+ {
+ return m_project->renameFile(filePath, newFilePath);
+ }
+
+private:
+ GenericProject *m_project = nullptr;
+};
+
+
+////////////////////////////////////////////////////////////////////////////////////
+//
// GenericProject
//
////////////////////////////////////////////////////////////////////////////////////
@@ -97,21 +189,6 @@ GenericProject::~GenericProject()
delete m_cppCodeModelUpdater;
}
-QString GenericProject::filesFileName() const
-{
- return m_filesFileName;
-}
-
-QString GenericProject::includesFileName() const
-{
- return m_includesFileName;
-}
-
-QString GenericProject::configFileName() const
-{
- return m_configFileName;
-}
-
static QStringList readLines(const QString &absoluteFileName)
{
QStringList lines;
@@ -134,7 +211,7 @@ static QStringList readLines(const QString &absoluteFileName)
bool GenericProject::saveRawFileList(const QStringList &rawFileList)
{
- bool result = saveRawList(rawFileList, filesFileName());
+ bool result = saveRawList(rawFileList, m_filesFileName);
refresh(GenericProject::Files);
return result;
}
@@ -168,7 +245,7 @@ bool GenericProject::addFiles(const QStringList &filePaths)
for (const QString &filePath : filePaths)
insertSorted(&newList, baseDir.relativeFilePath(filePath));
- const QSet<QString> includes = projectIncludePaths().toSet();
+ const QSet<QString> includes = m_projectIncludePaths.toSet();
QSet<QString> toAdd;
for (const QString &filePath : filePaths) {
@@ -186,8 +263,8 @@ bool GenericProject::addFiles(const QStringList &filePaths)
m_rawProjectIncludePaths.append(relative);
}
- bool result = saveRawList(newList, filesFileName());
- result &= saveRawList(m_rawProjectIncludePaths, includesFileName());
+ bool result = saveRawList(newList, m_filesFileName);
+ result &= saveRawList(m_rawProjectIncludePaths, m_includesFileName);
refresh(GenericProject::Everything);
return result;
@@ -238,12 +315,12 @@ void GenericProject::parseProject(RefreshOptions options)
{
if (options & Files) {
m_rawListEntries.clear();
- m_rawFileList = readLines(filesFileName());
+ m_rawFileList = readLines(m_filesFileName);
m_files = processEntries(m_rawFileList, &m_rawListEntries);
}
if (options & Configuration) {
- m_rawProjectIncludePaths = readLines(includesFileName());
+ m_rawProjectIncludePaths = readLines(m_includesFileName);
m_projectIncludePaths = processEntries(m_rawProjectIncludePaths);
// TODO: Possibly load some configuration from the project file
@@ -261,7 +338,7 @@ void GenericProject::refresh(RefreshOptions options)
if (options & Files) {
auto newRoot = new GenericProjectNode(this);
- for (const QString &f : files()) {
+ for (const QString &f : m_files) {
FileType fileType = FileType::Source; // ### FIXME
if (f.endsWith(".qrc"))
fileType = FileType::Resource;
@@ -362,9 +439,9 @@ void GenericProject::refreshCppCodeModel()
rpp.setDisplayName(displayName());
rpp.setProjectFileLocation(projectFilePath().toString());
rpp.setQtVersion(activeQtVersion);
- rpp.setIncludePaths(projectIncludePaths());
- rpp.setConfigFileName(configFileName());
- rpp.setFiles(files());
+ rpp.setIncludePaths(m_projectIncludePaths);
+ rpp.setConfigFileName(m_configFileName);
+ rpp.setFiles(m_files);
const CppTools::ProjectUpdateInfo projectInfoUpdate(this, cToolChain, cxxToolChain, k, {rpp});
m_cppCodeModelUpdater->update(projectInfoUpdate);
@@ -392,11 +469,6 @@ void GenericProject::activeBuildConfigurationWasChanged()
refresh(Everything);
}
-QStringList GenericProject::projectIncludePaths() const
-{
- return m_projectIncludePaths;
-}
-
QStringList GenericProject::files() const
{
return m_files;
@@ -455,38 +527,5 @@ Project::RestoreResult GenericProject::fromMap(const QVariantMap &map, QString *
return RestoreResult::Ok;
}
-////////////////////////////////////////////////////////////////////////////////////
-//
-// GenericProjectFile
-//
-////////////////////////////////////////////////////////////////////////////////////
-
-GenericProjectFile::GenericProjectFile(GenericProject *parent, const Utils::FileName &fileName,
- GenericProject::RefreshOptions options) :
- m_project(parent),
- m_options(options)
-{
- setId("Generic.ProjectFile");
- setMimeType(Constants::GENERICMIMETYPE);
- setFilePath(fileName);
-}
-
-IDocument::ReloadBehavior GenericProjectFile::reloadBehavior(ChangeTrigger state, ChangeType type) const
-{
- Q_UNUSED(state);
- Q_UNUSED(type);
- return BehaviorSilent;
-}
-
-bool GenericProjectFile::reload(QString *errorString, ReloadFlag flag, ChangeType type)
-{
- Q_UNUSED(errorString);
- Q_UNUSED(flag);
- if (type == TypePermissions)
- return true;
- m_project->refresh(m_options);
- return true;
-}
-
} // namespace Internal
} // namespace GenericProjectManager
diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h
index c63614ed6f..3b14c0b11d 100644
--- a/src/plugins/genericprojectmanager/genericproject.h
+++ b/src/plugins/genericprojectmanager/genericproject.h
@@ -25,16 +25,7 @@
#pragma once
-#include "genericprojectnodes.h"
-
#include <projectexplorer/project.h>
-#include <projectexplorer/projectnodes.h>
-#include <projectexplorer/target.h>
-#include <projectexplorer/toolchain.h>
-#include <projectexplorer/buildconfiguration.h>
-#include <coreplugin/idocument.h>
-
-#include <QFuture>
namespace CppTools { class CppProjectUpdater; }
@@ -51,10 +42,6 @@ public:
explicit GenericProject(const Utils::FileName &filename);
~GenericProject() override;
- QString filesFileName() const;
- QString includesFileName() const;
- QString configFileName() const;
-
QString displayName() const override;
QStringList files(FilesMode fileMode) const override;
@@ -74,7 +61,6 @@ public:
void refresh(RefreshOptions options);
- QStringList projectIncludePaths() const;
QStringList files() const;
protected:
@@ -108,19 +94,5 @@ private:
ProjectExplorer::Target *m_activeTarget = nullptr;
};
-class GenericProjectFile : public Core::IDocument
-{
-public:
- GenericProjectFile(GenericProject *parent, const Utils::FileName &fileName,
- GenericProject::RefreshOptions options);
-
- ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const override;
- bool reload(QString *errorString, ReloadFlag flag, ChangeType type) override;
-
-private:
- GenericProject *m_project;
- GenericProject::RefreshOptions m_options;
-};
-
} // namespace Internal
} // namespace GenericProjectManager
diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.pro b/src/plugins/genericprojectmanager/genericprojectmanager.pro
index b4a8cf0631..ba64569783 100644
--- a/src/plugins/genericprojectmanager/genericprojectmanager.pro
+++ b/src/plugins/genericprojectmanager/genericprojectmanager.pro
@@ -3,20 +3,20 @@ include(../../qtcreatorplugin.pri)
HEADERS = genericproject.h \
genericprojectplugin.h \
genericprojectconstants.h \
- genericprojectnodes.h \
genericprojectwizard.h \
genericprojectfileseditor.h \
genericmakestep.h \
genericbuildconfiguration.h \
filesselectionwizardpage.h
+
SOURCES = genericproject.cpp \
genericprojectplugin.cpp \
- genericprojectnodes.cpp \
genericprojectwizard.cpp \
genericprojectfileseditor.cpp \
genericmakestep.cpp \
genericbuildconfiguration.cpp \
filesselectionwizardpage.cpp
+
FORMS += genericmakestep.ui
equals(TEST, 1) {
diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.qbs b/src/plugins/genericprojectmanager/genericprojectmanager.qbs
index 74fc022ec2..be30ddffad 100644
--- a/src/plugins/genericprojectmanager/genericprojectmanager.qbs
+++ b/src/plugins/genericprojectmanager/genericprojectmanager.qbs
@@ -30,8 +30,6 @@ QtcPlugin {
"genericprojectconstants.h",
"genericprojectfileseditor.cpp",
"genericprojectfileseditor.h",
- "genericprojectnodes.cpp",
- "genericprojectnodes.h",
"genericprojectplugin.cpp",
"genericprojectplugin.h",
"genericprojectwizard.cpp",
diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp
deleted file mode 100644
index bdd7b71cdf..0000000000
--- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#include "genericprojectnodes.h"
-#include "genericproject.h"
-
-#include <coreplugin/idocument.h>
-#include <projectexplorer/projectexplorer.h>
-
-#include <utils/algorithm.h>
-#include <utils/fileutils.h>
-
-#include <QFileInfo>
-
-using namespace ProjectExplorer;
-
-namespace GenericProjectManager {
-namespace Internal {
-
-GenericProjectNode::GenericProjectNode(GenericProject *project) :
- ProjectNode(project->projectDirectory()),
- m_project(project)
-{
- setDisplayName(project->projectFilePath().toFileInfo().completeBaseName());
-}
-
-QHash<QString, QStringList> sortFilesIntoPaths(const QString &base, const QSet<QString> &files)
-{
- QHash<QString, QStringList> filesInPath;
- const QDir baseDir(base);
-
- foreach (const QString &absoluteFileName, files) {
- QFileInfo fileInfo(absoluteFileName);
- Utils::FileName absoluteFilePath = Utils::FileName::fromString(fileInfo.path());
- QString relativeFilePath;
-
- if (absoluteFilePath.isChildOf(baseDir)) {
- relativeFilePath = absoluteFilePath.relativeChildPath(Utils::FileName::fromString(base)).toString();
- } else {
- // `file' is not part of the project.
- relativeFilePath = baseDir.relativeFilePath(absoluteFilePath.toString());
- if (relativeFilePath.endsWith('/'))
- relativeFilePath.chop(1);
- }
-
- if (relativeFilePath == ".")
- relativeFilePath.clear();
-
- filesInPath[relativeFilePath].append(absoluteFileName);
- }
- return filesInPath;
-}
-
-bool GenericProjectNode::showInSimpleTree() const
-{
- return true;
-}
-
-QList<ProjectAction> GenericProjectNode::supportedActions(Node *node) const
-{
- Q_UNUSED(node);
- return {
- AddNewFile,
- AddExistingFile,
- AddExistingDirectory,
- RemoveFile,
- Rename
- };
-}
-
-bool GenericProjectNode::addFiles(const QStringList &filePaths, QStringList *notAdded)
-{
- Q_UNUSED(notAdded)
-
- return m_project->addFiles(filePaths);
-}
-
-bool GenericProjectNode::removeFiles(const QStringList &filePaths, QStringList *notRemoved)
-{
- Q_UNUSED(notRemoved)
-
- return m_project->removeFiles(filePaths);
-}
-
-bool GenericProjectNode::renameFile(const QString &filePath, const QString &newFilePath)
-{
- return m_project->renameFile(filePath, newFilePath);
-}
-
-} // namespace Internal
-} // namespace GenericProjectManager
diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.h b/src/plugins/genericprojectmanager/genericprojectnodes.h
deleted file mode 100644
index 3c51d75fa4..0000000000
--- a/src/plugins/genericprojectmanager/genericprojectnodes.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#pragma once
-
-#include <projectexplorer/projectnodes.h>
-
-#include <QStringList>
-#include <QHash>
-#include <QSet>
-
-namespace Core { class IDocument; }
-
-namespace GenericProjectManager {
-namespace Internal {
-
-class GenericProject;
-
-class GenericProjectNode : public ProjectExplorer::ProjectNode
-{
-public:
- explicit GenericProjectNode(GenericProject *project);
-
- bool showInSimpleTree() const override;
-
- QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const override;
-
- bool addFiles(const QStringList &filePaths, QStringList *notAdded = 0) override;
- bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = 0) override;
- bool renameFile(const QString &filePath, const QString &newFilePath) override;
-
-private:
- GenericProject *const m_project;
-};
-
-} // namespace Internal
-} // namespace GenericProjectManager