diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index a09c7fb160ec8df1d88500be43fc961ebd9d9939..410a78fb413beba718f332889c0d5a3663ed13a0 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -189,7 +189,7 @@ void ProjectWindow::updateTreeWidgetStatupProjectChanged(ProjectExplorer::Projec int count = m_treeWidget->topLevelItemCount(); for (int i = 0; i < count; ++i) { QTreeWidgetItem *item = m_treeWidget->topLevelItem(i); - if (Project *project = findProject(item->text(2))) { + if (Project *project = findProject(item->data(2, Qt::UserRole).toString())) { bool checked = (startupProject == project); if (item->checkState(1) != (checked ? Qt::Checked : Qt::Unchecked)) item->setCheckState(1, checked ? Qt::Checked : Qt::Unchecked); @@ -207,7 +207,8 @@ void ProjectWindow::updateTreeWidgetProjectAdded(ProjectExplorer::Project *proje QTreeWidgetItem *item = new QTreeWidgetItem(); item->setText(0, projectAdded->name()); item->setIcon(0, Core::FileIconProvider::instance()->icon(fileInfo)); - item->setText(2, fileInfo.filePath()); + item->setData(2, Qt::UserRole, fileInfo.filePath()); + item->setText(2, QDir::toNativeSeparators(fileInfo.filePath())); if (projectAdded->isApplication()) { bool checked = (m_session->startupProject() == projectAdded); @@ -221,7 +222,7 @@ void ProjectWindow::updateTreeWidgetAboutToRemoveProject(ProjectExplorer::Projec int count = m_treeWidget->topLevelItemCount(); for (int i = 0; i < count; ++i) { QTreeWidgetItem *item = m_treeWidget->topLevelItem(i); - if (item->text(2) == QFileInfo(projectRemoved->file()->fileName()).filePath()) { + if (item->data(2, Qt::UserRole).toString() == QFileInfo(projectRemoved->file()->fileName()).filePath()) { if (m_treeWidget->currentItem() == item) { m_treeWidget->setCurrentItem(0); } @@ -234,7 +235,7 @@ void ProjectWindow::updateTreeWidgetProjectRemoved(ProjectExplorer::Project *pro int count = m_treeWidget->topLevelItemCount(); for (int i = 0; i < count; ++i) { QTreeWidgetItem *item = m_treeWidget->topLevelItem(i); - if (item->text(2) == QFileInfo(projectRemoved->file()->fileName()).filePath()) { + if (item->data(2, Qt::UserRole).toString() == QFileInfo(projectRemoved->file()->fileName()).filePath()) { QTreeWidgetItem *it = m_treeWidget->takeTopLevelItem(i); delete it; break; @@ -255,7 +256,7 @@ Project *ProjectWindow::findProject(const QString &path) const void ProjectWindow::handleCurrentItemChanged(QTreeWidgetItem *current) { if (current) { - QString path = current->text(2); + QString path = current->data(2, Qt::UserRole).toString(); if (Project *project = findProject(path)) { m_projectExplorer->setCurrentFile(project, path); showProperties(project, QModelIndex()); @@ -273,7 +274,7 @@ void ProjectWindow::handleItem(QTreeWidgetItem *item, int column) if (!item || column != 1) // startup project return; - const QString path = item->text(2); + const QString path = item->data(2, Qt::UserRole).toString(); Project *project = findProject(path); if (project && project->isApplication()) { if (!(item->checkState(1) == Qt::Checked)) { // is now unchecked