forked from qt-creator/qt-creator
Keep targets in the minitargetselector sync with the project settings
Task-number: QTCREATORBUG-1097 Reviewed-by: dt
This commit is contained in:
@@ -461,6 +461,8 @@ void MiniProjectTargetSelector::addProject(ProjectExplorer::Project* project)
|
|||||||
SLOT(addTarget(ProjectExplorer::Target*)));
|
SLOT(addTarget(ProjectExplorer::Target*)));
|
||||||
connect(project, SIGNAL(removedTarget(ProjectExplorer::Target*)),
|
connect(project, SIGNAL(removedTarget(ProjectExplorer::Target*)),
|
||||||
SLOT(removeTarget(ProjectExplorer::Target*)));
|
SLOT(removeTarget(ProjectExplorer::Target*)));
|
||||||
|
connect(project, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)),
|
||||||
|
SLOT(changeActiveTarget(ProjectExplorer::Target*)));
|
||||||
|
|
||||||
if (project == ProjectExplorerPlugin::instance()->startupProject()) {
|
if (project == ProjectExplorerPlugin::instance()->startupProject()) {
|
||||||
m_projectsBox->setCurrentIndex(pos);
|
m_projectsBox->setCurrentIndex(pos);
|
||||||
@@ -546,6 +548,23 @@ void MiniProjectTargetSelector::removeTarget(ProjectExplorer::Target *target)
|
|||||||
disconnect(target, SIGNAL(overlayIconChanged()), this, SLOT(updateAction()));
|
disconnect(target, SIGNAL(overlayIconChanged()), this, SLOT(updateAction()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MiniProjectTargetSelector::changeActiveTarget(ProjectExplorer::Target *target)
|
||||||
|
{
|
||||||
|
int index = indexFor(target->project());
|
||||||
|
if (index < 0)
|
||||||
|
return;
|
||||||
|
ProjectListWidget *plw = qobject_cast<ProjectListWidget*>(m_widgetStack->widget(index));
|
||||||
|
|
||||||
|
for (int i = 0; i < plw->count(); ++i) {
|
||||||
|
QListWidgetItem *itm = plw->item(i);
|
||||||
|
MiniTargetWidget *mtw = qobject_cast<MiniTargetWidget*>(plw->itemWidget(itm));
|
||||||
|
if (mtw->target() == target) {
|
||||||
|
plw->setCurrentItem(itm);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MiniProjectTargetSelector::updateAction()
|
void MiniProjectTargetSelector::updateAction()
|
||||||
{
|
{
|
||||||
Project *project = ProjectExplorerPlugin::instance()->startupProject();
|
Project *project = ProjectExplorerPlugin::instance()->startupProject();
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ private slots:
|
|||||||
void removeProject(ProjectExplorer::Project *project);
|
void removeProject(ProjectExplorer::Project *project);
|
||||||
void addTarget(ProjectExplorer::Target *target, bool isActiveTarget = false);
|
void addTarget(ProjectExplorer::Target *target, bool isActiveTarget = false);
|
||||||
void removeTarget(ProjectExplorer::Target *target);
|
void removeTarget(ProjectExplorer::Target *target);
|
||||||
|
void changeActiveTarget(ProjectExplorer::Target *target);
|
||||||
void emitStartupProjectChanged(int index);
|
void emitStartupProjectChanged(int index);
|
||||||
void changeStartupProject(ProjectExplorer::Project *project);
|
void changeStartupProject(ProjectExplorer::Project *project);
|
||||||
void updateAction();
|
void updateAction();
|
||||||
|
|||||||
Reference in New Issue
Block a user