Synchronize startup project and current project on projects mode

This commit is contained in:
dt
2010-03-24 18:36:06 +01:00
parent d5db7e9a0b
commit 184fd353d2
2 changed files with 14 additions and 0 deletions

View File

@@ -280,6 +280,9 @@ ProjectWindow::ProjectWindow(QWidget *parent)
connect(session, SIGNAL(aboutToRemoveProject(ProjectExplorer::Project*)), connect(session, SIGNAL(aboutToRemoveProject(ProjectExplorer::Project*)),
this, SLOT(deregisterProject(ProjectExplorer::Project*))); this, SLOT(deregisterProject(ProjectExplorer::Project*)));
connect(session, SIGNAL(startupProjectChanged(ProjectExplorer::Project*)),
this, SLOT(startupProjectChanged(ProjectExplorer::Project *)));
// Update properties to empty project for now: // Update properties to empty project for now:
showProperties(-1, -1); showProperties(-1, -1);
} }
@@ -353,8 +356,17 @@ void ProjectWindow::refreshProject()
if (!m_tabIndexToProject.contains(project)) if (!m_tabIndexToProject.contains(project))
return; return;
// TODO this changes the subindex
int index = m_tabWidget->currentIndex();
deregisterProject(project); deregisterProject(project);
registerProject(project); registerProject(project);
m_tabWidget->setCurrentIndex(index);
}
void ProjectWindow::startupProjectChanged(ProjectExplorer::Project *p)
{
int index = m_tabIndexToProject.indexOf(p);
m_tabWidget->setCurrentIndex(index);
} }
void ProjectWindow::showProperties(int index, int subIndex) void ProjectWindow::showProperties(int index, int subIndex)
@@ -386,6 +398,7 @@ void ProjectWindow::showProperties(int index, int subIndex)
} }
++pos; ++pos;
} }
ProjectExplorerPlugin::instance()->session()->setStartupProject(project);
} }
void ProjectWindow::removeCurrentWidget() void ProjectWindow::removeCurrentWidget()

View File

@@ -92,6 +92,7 @@ private slots:
void saveStatus(); void saveStatus();
void registerProject(ProjectExplorer::Project*); void registerProject(ProjectExplorer::Project*);
void deregisterProject(ProjectExplorer::Project*); void deregisterProject(ProjectExplorer::Project*);
void startupProjectChanged(ProjectExplorer::Project *);
void refreshProject(); void refreshProject();