diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index d0ea50a4687..8efb360ea99 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -2844,8 +2844,13 @@ void ProjectExplorerPlugin::renameFile(Node *node, const QString &to) Core::DocumentManager::renamedFile(orgFilePath, newFilePath); // Tell the project plugin about it ProjectNode *projectNode = fileNode->projectNode(); - projectNode->renameFile(fileNode->fileType(), orgFilePath, newFilePath); - // TODO emit a signal? + if (!projectNode->renameFile(fileNode->fileType(), orgFilePath, newFilePath)) { + QMessageBox::warning(Core::ICore::mainWindow(), tr("Project Editing Failed"), + tr("The file %1 was renamed to %2, but the project file %3 could not be automatically changed.") + .arg(orgFilePath) + .arg(newFilePath) + .arg(projectNode->displayName())); + } } } diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index 065594ff388..6698dc68da2 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -992,12 +992,14 @@ bool Qt4PriFileNode::renameFile(const FileType fileType, const QString &filePath if (newFilePath.isEmpty()) return false; + bool changeProFileOptional = deploysFolder(QFileInfo(filePath).absolutePath()); + QStringList dummy; changeFiles(fileType, QStringList() << filePath, &dummy, RemoveFromProFile); - if (!dummy.isEmpty()) + if (!dummy.isEmpty() && !changeProFileOptional) return false; changeFiles(fileType, QStringList() << newFilePath, &dummy, AddToProFile); - if (!dummy.isEmpty()) + if (!dummy.isEmpty() && !changeProFileOptional) return false; return true; }