forked from qt-creator/qt-creator
ProjectNode: Let add/removeSubprojects operate on single files
That's the only way that is used. Change-Id: I57e7942f9dccf74ff7588c3bca0ccf05f528a3df Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -57,21 +57,6 @@ QList<ProjectAction> NimProjectNode::supportedActions(Node *node) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NimProjectNode::addSubProjects(const QStringList &)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool NimProjectNode::canAddSubProject(const QString &) const
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool NimProjectNode::removeSubProjects(const QStringList &)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool NimProjectNode::addFiles(const QStringList &filePaths, QStringList *)
|
bool NimProjectNode::addFiles(const QStringList &filePaths, QStringList *)
|
||||||
{
|
{
|
||||||
return m_project.addFiles(filePaths);
|
return m_project.addFiles(filePaths);
|
||||||
|
@@ -39,9 +39,6 @@ public:
|
|||||||
NimProjectNode(NimProject &project, const Utils::FileName &projectFilePath);
|
NimProjectNode(NimProject &project, const Utils::FileName &projectFilePath);
|
||||||
|
|
||||||
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const override;
|
QList<ProjectExplorer::ProjectAction> supportedActions(Node *node) const override;
|
||||||
bool canAddSubProject(const QString &) const override;
|
|
||||||
bool addSubProjects(const QStringList &) override;
|
|
||||||
bool removeSubProjects(const QStringList &) override;
|
|
||||||
bool addFiles(const QStringList &filePaths, QStringList *) override;
|
bool addFiles(const QStringList &filePaths, QStringList *) override;
|
||||||
bool removeFiles(const QStringList &filePaths, QStringList *) override;
|
bool removeFiles(const QStringList &filePaths, QStringList *) override;
|
||||||
bool deleteFiles(const QStringList &) override;
|
bool deleteFiles(const QStringList &) override;
|
||||||
|
@@ -175,7 +175,7 @@ void JsonSummaryPage::addToProject(const JsonWizard::GeneratorFiles &files)
|
|||||||
if (!folder)
|
if (!folder)
|
||||||
return;
|
return;
|
||||||
if (kind == IWizardFactory::ProjectWizard) {
|
if (kind == IWizardFactory::ProjectWizard) {
|
||||||
if (!static_cast<ProjectNode *>(folder)->addSubProjects(QStringList(generatedProject))) {
|
if (!static_cast<ProjectNode *>(folder)->addSubProject(generatedProject)) {
|
||||||
QMessageBox::critical(m_wizard, tr("Failed to Add to Project"),
|
QMessageBox::critical(m_wizard, tr("Failed to Add to Project"),
|
||||||
tr("Failed to add subproject \"%1\"\nto project \"%2\".")
|
tr("Failed to add subproject \"%1\"\nto project \"%2\".")
|
||||||
.arg(QDir::toNativeSeparators(generatedProject))
|
.arg(QDir::toNativeSeparators(generatedProject))
|
||||||
|
@@ -3212,7 +3212,7 @@ void ProjectExplorerPluginPrivate::removeProject()
|
|||||||
RemoveFileDialog removeFileDialog(subProjectNode->filePath().toString(), ICore::mainWindow());
|
RemoveFileDialog removeFileDialog(subProjectNode->filePath().toString(), ICore::mainWindow());
|
||||||
removeFileDialog.setDeleteFileVisible(false);
|
removeFileDialog.setDeleteFileVisible(false);
|
||||||
if (removeFileDialog.exec() == QDialog::Accepted)
|
if (removeFileDialog.exec() == QDialog::Accepted)
|
||||||
projectNode->removeSubProjects(QStringList() << subProjectNode->filePath().toString());
|
projectNode->removeSubProject(subProjectNode->filePath().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -181,7 +181,7 @@ bool ProjectFileWizardExtension::processProject(
|
|||||||
if (!folder)
|
if (!folder)
|
||||||
return true;
|
return true;
|
||||||
if (m_context->wizard->kind() == IWizardFactory::ProjectWizard) {
|
if (m_context->wizard->kind() == IWizardFactory::ProjectWizard) {
|
||||||
if (!static_cast<ProjectNode *>(folder)->addSubProjects(QStringList(generatedProject))) {
|
if (!static_cast<ProjectNode *>(folder)->addSubProject(generatedProject)) {
|
||||||
*errorMessage = tr("Failed to add subproject \"%1\"\nto project \"%2\".")
|
*errorMessage = tr("Failed to add subproject \"%1\"\nto project \"%2\".")
|
||||||
.arg(generatedProject).arg(folder->filePath().toUserOutput());
|
.arg(generatedProject).arg(folder->filePath().toUserOutput());
|
||||||
return false;
|
return false;
|
||||||
|
@@ -720,15 +720,15 @@ bool ProjectNode::canAddSubProject(const QString &proFilePath) const
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ProjectNode::addSubProjects(const QStringList &proFilePaths)
|
bool ProjectNode::addSubProject(const QString &proFilePath)
|
||||||
{
|
{
|
||||||
Q_UNUSED(proFilePaths)
|
Q_UNUSED(proFilePath)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ProjectNode::removeSubProjects(const QStringList &proFilePaths)
|
bool ProjectNode::removeSubProject(const QString &proFilePath)
|
||||||
{
|
{
|
||||||
Q_UNUSED(proFilePaths)
|
Q_UNUSED(proFilePath)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -278,8 +278,8 @@ public:
|
|||||||
QString vcsTopic() const;
|
QString vcsTopic() const;
|
||||||
|
|
||||||
virtual bool canAddSubProject(const QString &proFilePath) const;
|
virtual bool canAddSubProject(const QString &proFilePath) const;
|
||||||
virtual bool addSubProjects(const QStringList &proFilePaths);
|
virtual bool addSubProject(const QString &proFile);
|
||||||
virtual bool removeSubProjects(const QStringList &proFilePaths);
|
virtual bool removeSubProject(const QString &proFilePath);
|
||||||
|
|
||||||
bool addFiles(const QStringList &filePaths, QStringList *notAdded = 0) override;
|
bool addFiles(const QStringList &filePaths, QStringList *notAdded = 0) override;
|
||||||
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = 0) override;
|
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = 0) override;
|
||||||
|
@@ -148,16 +148,16 @@ bool QmakePriFileNode::canAddSubProject(const QString &proFilePath) const
|
|||||||
return pri ? pri->canAddSubProject(proFilePath) : false;
|
return pri ? pri->canAddSubProject(proFilePath) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakePriFileNode::addSubProjects(const QStringList &proFilePaths)
|
bool QmakePriFileNode::addSubProject(const QString &proFilePath)
|
||||||
{
|
{
|
||||||
QmakePriFile *pri = priFile();
|
QmakePriFile *pri = priFile();
|
||||||
return pri ? pri->addSubProjects(proFilePaths) : false;
|
return pri ? pri->addSubProject(proFilePath) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakePriFileNode::removeSubProjects(const QStringList &proFilePaths)
|
bool QmakePriFileNode::removeSubProject(const QString &proFilePath)
|
||||||
{
|
{
|
||||||
QmakePriFile *pri = priFile();
|
QmakePriFile *pri = priFile();
|
||||||
return pri ? pri->removeSubProjects(proFilePaths) : false;
|
return pri ? pri->removeSubProjects(proFilePath) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakePriFileNode::addFiles(const QStringList &filePaths, QStringList *notAdded)
|
bool QmakePriFileNode::addFiles(const QStringList &filePaths, QStringList *notAdded)
|
||||||
|
@@ -53,8 +53,8 @@ public:
|
|||||||
|
|
||||||
bool canAddSubProject(const QString &proFilePath) const override;
|
bool canAddSubProject(const QString &proFilePath) const override;
|
||||||
|
|
||||||
bool addSubProjects(const QStringList &proFilePaths) override;
|
bool addSubProject(const QString &proFilePath) override;
|
||||||
bool removeSubProjects(const QStringList &proFilePaths) override;
|
bool removeSubProject(const QString &proFilePath) override;
|
||||||
|
|
||||||
bool addFiles(const QStringList &filePaths, QStringList *notAdded = nullptr) override;
|
bool addFiles(const QStringList &filePaths, QStringList *notAdded = nullptr) override;
|
||||||
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = nullptr) override;
|
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = nullptr) override;
|
||||||
|
@@ -474,13 +474,11 @@ static QString simplifyProFilePath(const QString &proFilePath)
|
|||||||
return proFilePath;
|
return proFilePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakePriFile::addSubProjects(const QStringList &proFilePaths)
|
bool QmakePriFile::addSubProject(const QString &proFile)
|
||||||
{
|
{
|
||||||
QStringList uniqueProFilePaths;
|
QStringList uniqueProFilePaths;
|
||||||
foreach (const QString &proFile, proFilePaths) {
|
if (!m_recursiveEnumerateFiles.contains(FileName::fromString(proFile)))
|
||||||
if (!m_recursiveEnumerateFiles.contains(FileName::fromString(proFile)))
|
uniqueProFilePaths.append(simplifyProFilePath(proFile));
|
||||||
uniqueProFilePaths.append(simplifyProFilePath(proFile));
|
|
||||||
}
|
|
||||||
|
|
||||||
QStringList failedFiles;
|
QStringList failedFiles;
|
||||||
changeFiles(QLatin1String(Constants::PROFILE_MIMETYPE), uniqueProFilePaths, &failedFiles, AddToProFile);
|
changeFiles(QLatin1String(Constants::PROFILE_MIMETYPE), uniqueProFilePaths, &failedFiles, AddToProFile);
|
||||||
@@ -488,10 +486,10 @@ bool QmakePriFile::addSubProjects(const QStringList &proFilePaths)
|
|||||||
return failedFiles.isEmpty();
|
return failedFiles.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakePriFile::removeSubProjects(const QStringList &proFilePaths)
|
bool QmakePriFile::removeSubProjects(const QString &proFilePath)
|
||||||
{
|
{
|
||||||
QStringList failedOriginalFiles;
|
QStringList failedOriginalFiles;
|
||||||
changeFiles(QLatin1String(Constants::PROFILE_MIMETYPE), proFilePaths, &failedOriginalFiles, RemoveFromProFile);
|
changeFiles(QLatin1String(Constants::PROFILE_MIMETYPE), QStringList(proFilePath), &failedOriginalFiles, RemoveFromProFile);
|
||||||
|
|
||||||
QStringList simplifiedProFiles = Utils::transform(failedOriginalFiles, &simplifyProFilePath);
|
QStringList simplifiedProFiles = Utils::transform(failedOriginalFiles, &simplifyProFilePath);
|
||||||
|
|
||||||
|
@@ -134,8 +134,8 @@ public:
|
|||||||
// ProjectNode interface
|
// ProjectNode interface
|
||||||
virtual bool canAddSubProject(const QString &proFilePath) const;
|
virtual bool canAddSubProject(const QString &proFilePath) const;
|
||||||
|
|
||||||
virtual bool addSubProjects(const QStringList &proFilePaths);
|
virtual bool addSubProject(const QString &proFile);
|
||||||
virtual bool removeSubProjects(const QStringList &proFilePaths);
|
virtual bool removeSubProjects(const QString &proFilePath);
|
||||||
|
|
||||||
virtual bool addFiles(const QStringList &filePaths, QStringList *notAdded = nullptr);
|
virtual bool addFiles(const QStringList &filePaths, QStringList *notAdded = nullptr);
|
||||||
virtual bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = nullptr);
|
virtual bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = nullptr);
|
||||||
|
Reference in New Issue
Block a user