[prev in list] [next in list] [prev in thread] [next in thread]
List: kdevelop-bugs
Subject: [Bug 232837] Files cannot be opened after rename a folder
From: Aleix Pol <aleixpol () kde ! org>
Date: 2010-08-31 0:12:08
Message-ID: 20100831001209.27DCA63756 () immanuel ! kde ! org
[Download RAW message or body]
https://bugs.kde.org/show_bug.cgi?id=232837
Aleix Pol <aleixpol@kde.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
--- Comment #2 from Aleix Pol <aleixpol kde org> 2010-08-31 02:12:02 ---
commit 4a699f7ed642c94d29649d80676c88abd1da8ff3
Author: Aleix Pol <aleixpol@kde.org>
Date: Tue Aug 31 02:01:39 2010 +0200
Update recursively the url on items which it's parent's url has been
updated.
BUG: 232837
diff --git a/projectmanagers/cmake/cmakemanager.cpp
b/projectmanagers/cmake/cmakemanager.cpp
index 392be5f..d7c3142 100644
--- a/projectmanagers/cmake/cmakemanager.cpp
+++ b/projectmanagers/cmake/cmakemanager.cpp
@@ -351,6 +351,8 @@ QList<KDevelop::ProjectFolderItem*> CMakeManager::parse(
KDevelop::ProjectFolder
m_watchers[item->project()]->addDir(item->url().toLocalFile());
if(folder && folder->type()==KDevelop::ProjectBaseItem::BuildFolder)
{
+ reloadFiles(folder);
+
kDebug(9042) << "parse:" << folder->url();
KUrl cmakeListsPath(folder->url());
cmakeListsPath.addPath("CMakeLists.txt");
@@ -363,8 +365,6 @@ QList<KDevelop::ProjectFolderItem*> CMakeManager::parse(
KDevelop::ProjectFolder
}
else
{
- reloadFiles(folder);
-
KDevelop::ReferencedTopDUContext curr;
if(item==item->project()->projectItem())
curr=initializeProject(item->project(),
item->project()->projectItem()->url());
@@ -841,11 +841,11 @@ void CMakeManager::reloadFiles(ProjectFolderItem* item)
continue;
QString current=it->text();
+ KUrl fileurl = folderurl;
+ fileurl.addPath(current);
+
if(!entries.contains(current))
{
- KUrl fileurl = folderurl;
- fileurl.addPath(current);
-
switch(it->type())
{
case ProjectBaseItem::File:
@@ -859,18 +859,26 @@ void CMakeManager::reloadFiles(ProjectFolderItem* item)
break;
}
}
+ else if(it->url()!=fileurl) {
+ it->setUrl(fileurl);
+ ProjectFolderItem* folder = it->folder();
+
+ if(folder)
+ reloadFiles(folder);
+ }
}
//We look for new elements
foreach( const QString& entry, entries )
{
- if( item->hasFileOrFolder( entry ) )
- continue;
-
KUrl fileurl = folderurl;
fileurl.addPath( entry );
-
- if( QFileInfo( fileurl.toLocalFile() ).isDir() )
+
+ if( item->hasFileOrFolder( entry ) )
+ {
+ continue;
+ }
+ else if( QFileInfo( fileurl.toLocalFile() ).isDir() )
{
fileurl.adjustPath(KUrl::AddTrailingSlash);
ProjectFolderItem* pendingfolder = m_pending.take(fileurl);
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
KDevelop-bugs mailing list
KDevelop-bugs@kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-bugs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic