Qbs, Qmake, Python, Generic: Introduce BuildSystem derived classes

... and move context menu action handling there.

This is a temporary measure to be able to move that functionality
alongside the actual BuildSystem to the BuildConfiguration.

There is a lot to be cleaned up left, to keep the patch small.

Change-Id: If4b0820a13b376fc97b70785052924972ce22705
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-10-22 14:55:51 +02:00
parent e1baae2e20
commit 66c7d75dbd
24 changed files with 707 additions and 544 deletions

View File

@@ -28,6 +28,7 @@
#include "qmlprojectmanager_global.h"
#include "qmlprojectnodes.h"
#include <projectexplorer/buildsystem.h>
#include <projectexplorer/project.h>
#include <utils/environment.h>
@@ -38,8 +39,31 @@ namespace ProjectExplorer { class RunConfiguration; }
namespace QmlProjectManager {
class QmlProject;
class QmlProjectItem;
namespace Internal {
class QmlBuildSystem : public ProjectExplorer::BuildSystem
{
public:
explicit QmlBuildSystem(ProjectExplorer::Project *project) : BuildSystem(project) {}
bool supportsAction(ProjectExplorer::Node *context,
ProjectExplorer::ProjectAction action,
const ProjectExplorer::Node *node) const override;
bool addFiles(ProjectExplorer::Node *context,
const QStringList &filePaths, QStringList *notAdded = nullptr) override;
bool deleteFiles(ProjectExplorer::Node *context,
const QStringList &filePaths) override;
bool renameFile(ProjectExplorer::Node *context,
const QString &filePath, const QString &newFilePath) override;
QmlProject *project() const;
};
} // Internal
class QMLPROJECTMANAGER_EXPORT QmlProject : public ProjectExplorer::Project
{
Q_OBJECT