forked from qt-creator/qt-creator
ProjectExplorer: Simplify update logic after active target change
Change-Id: Ia1d9366b1f2ff2b7ae02604bc43b38ca4b914c17 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -340,6 +340,7 @@ void Project::setActiveTarget(Target *target)
|
||||
(target && Utils::contains(d->m_targets, target))) {
|
||||
d->m_activeTarget = target;
|
||||
emit activeTargetChanged(d->m_activeTarget);
|
||||
ProjectExplorerPlugin::updateActions();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -448,8 +448,6 @@ public:
|
||||
void projectAdded(ProjectExplorer::Project *pro);
|
||||
void projectRemoved(ProjectExplorer::Project *pro);
|
||||
void projectDisplayNameChanged(ProjectExplorer::Project *pro);
|
||||
void startupProjectChanged(); // Calls updateRunAction
|
||||
void activeTargetChanged();
|
||||
|
||||
void doUpdateRunActions();
|
||||
|
||||
@@ -727,8 +725,6 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
||||
dd, &ProjectExplorerPluginPrivate::projectAdded);
|
||||
connect(sessionManager, &SessionManager::projectRemoved,
|
||||
dd, &ProjectExplorerPluginPrivate::projectRemoved);
|
||||
connect(sessionManager, &SessionManager::startupProjectChanged,
|
||||
dd, &ProjectExplorerPluginPrivate::startupProjectChanged);
|
||||
connect(sessionManager, &SessionManager::projectDisplayNameChanged,
|
||||
dd, &ProjectExplorerPluginPrivate::projectDisplayNameChanged);
|
||||
connect(sessionManager, &SessionManager::dependencyChanged,
|
||||
@@ -2922,43 +2918,6 @@ void ProjectExplorerPluginPrivate::projectDisplayNameChanged(Project *pro)
|
||||
updateActions();
|
||||
}
|
||||
|
||||
void ProjectExplorerPluginPrivate::startupProjectChanged()
|
||||
{
|
||||
static QPointer<Project> previousStartupProject = nullptr;
|
||||
Project *project = SessionManager::startupProject();
|
||||
if (project == previousStartupProject)
|
||||
return;
|
||||
|
||||
if (previousStartupProject) {
|
||||
disconnect(previousStartupProject.data(), &Project::activeTargetChanged,
|
||||
this, &ProjectExplorerPluginPrivate::activeTargetChanged);
|
||||
}
|
||||
|
||||
previousStartupProject = project;
|
||||
|
||||
if (project) {
|
||||
connect(project, &Project::activeTargetChanged,
|
||||
this, &ProjectExplorerPluginPrivate::activeTargetChanged);
|
||||
}
|
||||
|
||||
activeTargetChanged();
|
||||
updateActions();
|
||||
}
|
||||
|
||||
void ProjectExplorerPluginPrivate::activeTargetChanged()
|
||||
{
|
||||
static QPointer<Target> previousTarget = nullptr;
|
||||
Target *target = nullptr;
|
||||
Project *startupProject = SessionManager::startupProject();
|
||||
if (startupProject)
|
||||
target = startupProject->activeTarget();
|
||||
if (target == previousTarget)
|
||||
return;
|
||||
|
||||
previousTarget = target;
|
||||
updateActions();
|
||||
}
|
||||
|
||||
void ProjectExplorerPluginPrivate::updateDeployActions()
|
||||
{
|
||||
Project *project = SessionManager::startupProject();
|
||||
|
Reference in New Issue
Block a user