diff options
Diffstat (limited to 'src/plugins/android/androidextralibrarylistmodel.cpp')
-rw-r--r-- | src/plugins/android/androidextralibrarylistmodel.cpp | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/src/plugins/android/androidextralibrarylistmodel.cpp b/src/plugins/android/androidextralibrarylistmodel.cpp index 3a168eca4a..7ade7405a8 100644 --- a/src/plugins/android/androidextralibrarylistmodel.cpp +++ b/src/plugins/android/androidextralibrarylistmodel.cpp @@ -29,27 +29,32 @@ #include <android/androidconstants.h> #include <android/androidmanager.h> +#include <projectexplorer/buildsystem.h> #include <projectexplorer/project.h> #include <projectexplorer/projectnodes.h> #include <projectexplorer/runconfiguration.h> #include <projectexplorer/target.h> +#include <utils/qtcassert.h> + using namespace ProjectExplorer; namespace Android { -AndroidExtraLibraryListModel::AndroidExtraLibraryListModel(ProjectExplorer::Target *target, +AndroidExtraLibraryListModel::AndroidExtraLibraryListModel(BuildSystem *buildSystem, QObject *parent) : QAbstractItemModel(parent), - m_target(target) + m_buildSystem(buildSystem) { updateModel(); - connect(target, &Target::parsingStarted, + connect(buildSystem, &BuildSystem::parsingStarted, this, &AndroidExtraLibraryListModel::updateModel); - connect(target, &Target::parsingFinished, + connect(buildSystem, &BuildSystem::parsingFinished, this, &AndroidExtraLibraryListModel::updateModel); - connect(target, &Target::activeRunConfigurationChanged, + // Causes target()->activeBuildKey() result and consequently the node data + // extracted below to change. + connect(buildSystem->target(), &Target::activeRunConfigurationChanged, this, &AndroidExtraLibraryListModel::updateModel); } @@ -83,10 +88,8 @@ QVariant AndroidExtraLibraryListModel::data(const QModelIndex &index, int role) void AndroidExtraLibraryListModel::updateModel() { - RunConfiguration *rc = m_target->activeRunConfiguration(); - QTC_ASSERT(rc, return); - - const ProjectNode *node = m_target->project()->findNodeForBuildKey(rc->buildKey()); + const QString buildKey = m_buildSystem->target()->activeBuildKey(); + const ProjectNode *node = m_buildSystem->target()->project()->findNodeForBuildKey(buildKey); if (!node) return; @@ -112,10 +115,8 @@ void AndroidExtraLibraryListModel::updateModel() void AndroidExtraLibraryListModel::addEntries(const QStringList &list) { - RunConfiguration *rc = m_target->activeRunConfiguration(); - QTC_ASSERT(rc, return); - - const ProjectNode *node = m_target->project()->findNodeForBuildKey(rc->buildKey()); + const QString buildKey = m_buildSystem->target()->activeBuildKey(); + const ProjectNode *node = m_buildSystem->target()->project()->findNodeForBuildKey(buildKey); QTC_ASSERT(node, return); beginInsertRows(QModelIndex(), m_entries.size(), m_entries.size() + list.size()); @@ -124,7 +125,7 @@ void AndroidExtraLibraryListModel::addEntries(const QStringList &list) for (const QString &path : list) m_entries += "$$PWD/" + dir.relativeFilePath(path); - node->setData(Constants::AndroidExtraLibs, m_entries); + m_buildSystem->setExtraData(buildKey, Constants::AndroidExtraLibs, m_entries); endInsertRows(); } @@ -154,11 +155,8 @@ void AndroidExtraLibraryListModel::removeEntries(QModelIndexList list) endRemoveRows(); } - RunConfiguration *rc = m_target->activeRunConfiguration(); - QTC_ASSERT(rc, return); - const ProjectNode *node = m_target->project()->findNodeForBuildKey(rc->buildKey()); - QTC_ASSERT(node, return); - node->setData(Constants::AndroidExtraLibs, m_entries); + const QString buildKey = m_buildSystem->target()->activeBuildKey(); + m_buildSystem->setExtraData(buildKey, Constants::AndroidExtraLibs, m_entries); } } // Android |