[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-devel
Subject:    support for remote projects (fish / ftp / etc.)
From:       Milian Wolff <mail () milianw ! de>
Date:       2009-03-24 20:29:20
Message-ID: 200903242129.23472.mail () milianw ! de
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/mixed)]


I just tried to create a remote project via fish and it did not work.

One problem I spotted and  -potentially- fixed is the initial project creation.

Currently the developerFileUrl in shell/project.cpp is setup with the return 
value of directory() - which does _not_ include the protocol. My attached 
patch fixes that (not ready for committing, there's debug output in it).

What I don't understand is the following: The project is listed as 
"folder.kdev4" in the projects view. No files in that folder are shown.

But I don't get any errors so I'm not sure where the error lies. When I try to 
add a new file (rightclick on the project -> create file) I get a "Cannot create 
file" popup and "QFile::remove: Empty or null file name" on the CLI.

I will look into it tomorrow I hope but wanted to check if you have any input 
for me.

The above would be required for Quanta sometime. Does the Duchain work with 
remote projects?
-- 
Milian Wolff
mail@milianw.de
http://milianw.de

["remote_project.patch" (text/x-patch)]

diff --git a/shell/project.cpp b/shell/project.cpp
index 2a578cb..796b820 100644
--- a/shell/project.cpp
+++ b/shell/project.cpp
@@ -194,6 +194,7 @@ public:
 
     bool initProjectFiles()
     {
+        kDebug() << projectFileUrl.pathOrUrl();
         KIO::StatJob* statJob = KIO::stat( projectFileUrl, KIO::HideProgressInfo );
         if ( !statJob->exec() ) //be sync for right now
         {
@@ -203,15 +204,19 @@ public:
             return false;
         }
 
-
-        developerFileUrl = KUrl( projectFileUrl.directory( KUrl::AppendTrailingSlash ) );
-        developerFileUrl.addPath(".kdev4");
+        // we have to cope the KUrl before and then jumps through some hoops
+        // if we don't want to loose protocol information (required for remote projects)
+        developerFileUrl = projectFileUrl;
+        developerFileUrl.setPath( developerFileUrl.directory( KUrl::AppendTrailingSlash ) );
+        developerFileUrl.addPath( ".kdev4" );
         developerFileUrl.addPath( projectFileUrl.fileName() );
+        kDebug() << developerFileUrl.pathOrUrl();
 
         statJob = KIO::stat( developerFileUrl, KIO::HideProgressInfo );
         if( !statJob->exec() )
         {
-            KUrl dir = KUrl( projectFileUrl.directory( KUrl::AppendTrailingSlash ) + ".kdev4");
+            KUrl dir = projectFileUrl;
+            dir.setPath( dir.directory( KUrl::AppendTrailingSlash ) + ".kdev4" );
             statJob = KIO::stat( dir, KIO::HideProgressInfo );
             if( !statJob->exec() )
             {

["signature.asc" (application/pgp-signature)]

_______________________________________________
KDevelop-devel mailing list
KDevelop-devel@kdevelop.org
https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic