diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index c31241a54f4..1afe920f540 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -186,7 +186,7 @@ bool AndroidBuildApkStep::init(QList &earlierSteps) RunConfiguration *rc = target()->activeRunConfiguration(); const ProjectNode *node = rc ? target()->project()->findNodeForBuildKey(rc->buildKey()) : nullptr; - QFileInfo sourceDirInfo(node ? node->targetData(Constants::AndroidPackageSourceDir, target()).toString() : QString()); + QFileInfo sourceDirInfo(node ? node->data(Constants::AndroidPackageSourceDir).toString() : QString()); parser->setSourceDirectory(Utils::FileName::fromString(sourceDirInfo.canonicalFilePath())); parser->setBuildDirectory(Utils::FileName::fromString(bc->buildDirectory().appendPath(Constants::ANDROID_BUILDDIRECTORY).toString())); setOutputParser(parser); @@ -209,7 +209,7 @@ bool AndroidBuildApkStep::init(QList &earlierSteps) QString inputFile; if (node) - inputFile = node->targetData(Constants::AndroidDeploySettingsFile, target()).toString(); + inputFile = node->data(Constants::AndroidDeploySettingsFile).toString(); if (inputFile.isEmpty()) { m_skipBuilding = true; diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index 7f1b8651ddb..3ad3ac10db4 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -100,11 +100,11 @@ static QStringList getSoLibSearchPath(const RunConfiguration *rc) return {}; QStringList res; - node->forEachProjectNode([&res, target](const ProjectNode *node) { - res.append(node->targetData(Constants::AndroidSoLibPath, target).toStringList()); + node->forEachProjectNode([&res](const ProjectNode *node) { + res.append(node->data(Constants::AndroidSoLibPath).toStringList()); }); - const QString jsonFile = node->targetData(Android::Constants::AndroidDeploySettingsFile, target).toString(); + const QString jsonFile = node->data(Android::Constants::AndroidDeploySettingsFile).toString(); QFile deploymentSettings(jsonFile); if (deploymentSettings.open(QIODevice::ReadOnly)) { QJsonParseError error; @@ -127,7 +127,7 @@ static QStringList getExtraLibs(const RunConfiguration *rc) if (!node) return {}; - return node->targetData(Android::Constants::AndroidExtraLibs, rc->target()).toStringList(); + return node->data(Android::Constants::AndroidExtraLibs).toStringList(); } static QString toNdkArch(const QString &arch) diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 63df1abdb39..9063b7b2563 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -194,7 +194,7 @@ bool AndroidDeployQtStep::init(QList &earlierSteps) QString jsonFile; if (const ProjectNode *node = target()->project()->findNodeForBuildKey(rc->buildKey())) - jsonFile = node->targetData(Constants::AndroidDeploySettingsFile, target()).toString(); + jsonFile = node->data(Constants::AndroidDeploySettingsFile).toString(); if (jsonFile.isEmpty()) { emit addOutput(tr("Cannot find the androiddeploy Json file."), OutputFormat::Stderr); return false; diff --git a/src/plugins/android/androidextralibrarylistmodel.cpp b/src/plugins/android/androidextralibrarylistmodel.cpp index bea58d06040..b6309aa9c17 100644 --- a/src/plugins/android/androidextralibrarylistmodel.cpp +++ b/src/plugins/android/androidextralibrarylistmodel.cpp @@ -99,7 +99,7 @@ void AndroidExtraLibraryListModel::updateModel() bool enabled; beginResetModel(); if (node->validParse()) { - m_entries = node->targetData(Constants::AndroidExtraLibs, m_target).toStringList(); + m_entries = node->data(Constants::AndroidExtraLibs).toStringList(); enabled = true; } else { // parsing error @@ -125,7 +125,7 @@ void AndroidExtraLibraryListModel::addEntries(const QStringList &list) for (const QString &path : list) m_entries += "$$PWD/" + dir.relativeFilePath(path); - node->setTargetData(Constants::AndroidExtraLibs, m_entries, m_target); + node->setData(Constants::AndroidExtraLibs, m_entries); endInsertRows(); } @@ -159,7 +159,7 @@ void AndroidExtraLibraryListModel::removeEntries(QModelIndexList list) QTC_ASSERT(rc, return); const ProjectNode *node = m_target->project()->findNodeForBuildKey(rc->buildKey()); QTC_ASSERT(node, return); - node->setTargetData(Constants::AndroidExtraLibs, m_entries, m_target); + node->setData(Constants::AndroidExtraLibs, m_entries); } } // Android diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 2f2f4368199..c76efe83c20 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -304,7 +304,7 @@ Utils::FileName AndroidManager::manifestSourcePath(ProjectExplorer::Target *targ { if (const ProjectNode *node = currentProjectNode(target)) { const QString packageSource - = node->targetData(Android::Constants::AndroidPackageSourceDir, target).toString(); + = node->data(Android::Constants::AndroidPackageSourceDir).toString(); if (!packageSource.isEmpty()) { const FileName manifest = FileName::fromUserInput(packageSource + "/AndroidManifest.xml"); if (manifest.exists()) @@ -627,7 +627,7 @@ bool AndroidManager::updateGradleProperties(ProjectExplorer::Target *target) if (!node) return false; - QFileInfo sourceDirInfo(node->targetData(Constants::AndroidPackageSourceDir, target).toString()); + QFileInfo sourceDirInfo(node->data(Constants::AndroidPackageSourceDir).toString()); FileName packageSourceDir = FileName::fromString(sourceDirInfo.canonicalFilePath()); if (!packageSourceDir.appendPath("gradlew").exists()) return false; diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp index 1bb52a9e54b..079fd5bd649 100644 --- a/src/plugins/android/createandroidmanifestwizard.cpp +++ b/src/plugins/android/createandroidmanifestwizard.cpp @@ -186,7 +186,7 @@ void ChooseDirectoryPage::initializePage() QString androidPackageDir; if (const ProjectNode *node = target->project()->findNodeForBuildKey(buildKey)) - androidPackageDir = node->targetData(Android::Constants::AndroidPackageSourceDir, target).toString(); + androidPackageDir = node->data(Android::Constants::AndroidPackageSourceDir).toString(); if (androidPackageDir.isEmpty()) { m_label->setText(tr("Select the Android package source directory.\n\n" @@ -352,14 +352,14 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles() ProjectNode *node = m_target->project()->findNodeForBuildKey(m_buildKey); if (node) { node->addFiles(addedFiles); - androidPackageDir = node->targetData(Android::Constants::AndroidPackageSourceDir, m_target).toString(); + androidPackageDir = node->data(Android::Constants::AndroidPackageSourceDir).toString(); } if (androidPackageDir.isEmpty()) { // and now time for some magic const BuildTargetInfo bti = m_target->applicationTargets().buildTargetInfo(m_buildKey); const QString value = "$$PWD/" + bti.projectFilePath.toFileInfo().absoluteDir().relativeFilePath(m_directory); - bool result = node->setTargetData(Android::Constants::AndroidPackageSourceDir, value, m_target); + bool result = node->setData(Android::Constants::AndroidPackageSourceDir, value); if (!result) { QMessageBox::warning(this, tr("Project File not Updated"), diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index 46d5d083dc7..286899b1b73 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -883,17 +883,15 @@ ProjectNode *ProjectNode::projectNode(const Utils::FileName &file) const return nullptr; } -QVariant ProjectNode::targetData(Core::Id role, const Target *target) const +QVariant ProjectNode::data(Core::Id role) const { Q_UNUSED(role); - Q_UNUSED(target); return QVariant(); } -bool ProjectNode::setTargetData(Core::Id role, const QVariant &value, const Target *target) const +bool ProjectNode::setData(Core::Id role, const QVariant &value) const { Q_UNUSED(role); - Q_UNUSED(target); Q_UNUSED(value); return false; } diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h index e51d30b0f38..c96b8f8713c 100644 --- a/src/plugins/projectexplorer/projectnodes.h +++ b/src/plugins/projectexplorer/projectnodes.h @@ -43,7 +43,6 @@ namespace Utils { class MimeType; } namespace ProjectExplorer { class Project; -class Target; enum class NodeType : quint16 { File = 1, @@ -350,8 +349,8 @@ public: virtual bool parseInProgress() const { return false; } virtual bool validParse() const { return false; } - virtual QVariant targetData(Core::Id role, const Target *target) const; - virtual bool setTargetData(Core::Id role, const QVariant &value, const Target *target) const; + virtual QVariant data(Core::Id role) const; + virtual bool setData(Core::Id role, const QVariant &value) const; protected: explicit ProjectNode(const Utils::FileName &projectFilePath, const QByteArray &id = {}); diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index 56971842d2f..ab518780abd 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -247,27 +247,18 @@ QStringList QmakeProFileNode::targetApplications() const return apps; } -QVariant QmakeProFileNode::targetData(Core::Id role, const Target *target) const +QVariant QmakeProFileNode::data(Core::Id role) const { - RunConfiguration *rc = target->activeRunConfiguration(); - if (!rc) - return {}; - - const FileName projectFilePath = FileName::fromString(rc->buildKey()); - const ProjectNode *projectNode = target->project()->findNodeForBuildKey(rc->buildKey()); - auto profileNode = dynamic_cast(projectNode); - QTC_ASSERT(profileNode, return {}); - if (role == Android::Constants::AndroidPackageSourceDir) - return profileNode->singleVariableValue(Variable::AndroidPackageSourceDir); + return singleVariableValue(Variable::AndroidPackageSourceDir); if (role == Android::Constants::AndroidDeploySettingsFile) - return profileNode->singleVariableValue(Variable::AndroidDeploySettingsFile); + return singleVariableValue(Variable::AndroidDeploySettingsFile); if (role == Android::Constants::AndroidExtraLibs) - return profileNode->variableValue(Variable::AndroidExtraLibs); + return variableValue(Variable::AndroidExtraLibs); if (role == Android::Constants::AndroidArch) - return profileNode->singleVariableValue(Variable::AndroidArch); + return singleVariableValue(Variable::AndroidArch); if (role == Android::Constants::AndroidSoLibPath) { - TargetInformation info = profileNode->targetInformation(); + TargetInformation info = targetInformation(); QStringList res = {info.buildDir.toString()}; Utils::FileName destDir = info.destDir; if (!destDir.isEmpty()) { @@ -283,18 +274,9 @@ QVariant QmakeProFileNode::targetData(Core::Id role, const Target *target) const return {}; } -static QmakeProFile *applicationProFile(const Target *target) +bool QmakeProFileNode::setData(Core::Id role, const QVariant &value) const { - ProjectExplorer::RunConfiguration *rc = target->activeRunConfiguration(); - if (!rc) - return nullptr; - auto project = static_cast(target->project()); - return project->rootProFile()->findProFile(FileName::fromString(rc->buildKey())); -} - -bool QmakeProFileNode::setTargetData(Core::Id role, const QVariant &value, const Target *target) const -{ - QmakeProFile *pro = applicationProFile(target); + QmakeProFile *pro = proFile(); if (!pro) return false; diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.h b/src/plugins/qmakeprojectmanager/qmakenodes.h index 8f17761bbec..0a70b7a8ea5 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.h +++ b/src/plugins/qmakeprojectmanager/qmakenodes.h @@ -98,10 +98,8 @@ public: QStringList targetApplications() const override; AddNewInformation addNewInformation(const QStringList &files, Node *context) const override; - QVariant targetData(Core::Id role, - const ProjectExplorer::Target *target) const override; - bool setTargetData(Core::Id role, const QVariant &value, - const ProjectExplorer::Target *target) const override; + QVariant data(Core::Id role) const override; + bool setData(Core::Id role, const QVariant &value) const override; QmakeProjectManager::ProjectType projectType() const; QString buildDir() const;