Bug 138107 - quanta doesn't import symlinked folders into project
Summary: quanta doesn't import symlinked folders into project
Status: RESOLVED FIXED
Alias: None
Product: quanta
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: András Manţia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-29 21:41 UTC by Janet
Modified: 2007-01-09 19:22 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janet 2006-11-29 21:41:54 UTC
Version:           3.5.5 (using KDE 3.5.5, Debian Package 4:3.5.5a.dfsg.1-5 (4.0))
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.18-kanotix-1

Some of my website project strutures contain symlinked folders. But those folders and the files in it are not shown in the project list. E.g. project contains folders "~/hp/pics" and "~/hp/sources" which are listed and symlink folder ~/hp/testing (which points to ~/projects/20061103/testing) which isn't listed. When I rescan the project directory to add new files the real path to "testing" folder is shown but not added. All other KDE applications show symlinked folders integrated into the directory tree of the folder where the symlink (and not the actual folder which is symlinked) is. It is inconsistent that quanta does not. But however symlinks are treated quanta shouldn't ignore them.
Comment 1 Janet 2006-11-29 21:45:13 UTC
I know I can add those symlink folders manually. But I would expect that quanta does it automatically and treats symlink folders like real folders.
Comment 2 András Manţia 2007-01-09 19:21:59 UTC
SVN commit 621763 by amantia:

Fix symlink handling in Project Rescan, New Project adding files/folders.

BUG: 138107

 M  +2 -0      ChangeLog  
 M  +1 -1      project/projectlist.h  
 M  +7 -7      project/projectnewlocal.cpp  
 M  +2 -2      project/projectprivate.cpp  
 M  +1 -1      project/rescanprj.cpp  
 M  +10 -10    quanta.kdevelop  


--- branches/KDE/3.5/kdewebdev/quanta/ChangeLog #621762:621763
@@ -6,6 +6,8 @@
       - fix various crashes in the debugger [#137483]
       - fix crash when editing a <style> CSS area
       - use the correct encoding in the file dialogs [#138343]
+      - don't lose upload profile settings in certain cases
+      - fix symlink handling in Project Rescan, New Project adding files/folders [#138107]
 
 Version 3.5.5 (Release date: 11-10-2006; Started 01-09-2006):
  - bugfixes:
--- branches/KDE/3.5/kdewebdev/quanta/project/projectlist.h #621762:621763
@@ -56,7 +56,7 @@
   */
   KURL toRelative(const KURL &url) const
   {
-    return QExtFileInfo::toRelative(url, m_baseURL);
+    return QExtFileInfo::toRelative(url, m_baseURL, false);
   }
 
   /**
--- branches/KDE/3.5/kdewebdev/quanta/project/projectnewlocal.cpp #621762:621763
@@ -142,7 +142,7 @@
     fmask = mask->text();
   }
 
-  list = QExtFileInfo::allFilesRelative(baseURL, fmask, this);
+  list = QExtFileInfo::allFilesRelative(baseURL, fmask, this, false);
 
   return list;
 }
@@ -188,7 +188,7 @@
   {
     KURL u = list.first();
 
-    u = QExtFileInfo::toRelative( u, baseURL );
+    u = QExtFileInfo::toRelative( u, baseURL, false );
 
     if ( u.path().startsWith("..") || u.path().startsWith("/"))
     {
@@ -218,7 +218,7 @@
     progressBar->setTextEnabled(true);
     for (uint i = 0; i < list.count(); i++)
     {
-       list[i] = QExtFileInfo::toRelative(list[i], baseURL);
+       list[i] = QExtFileInfo::toRelative(list[i], baseURL, false);
        if (!fileList.contains(list[i]))
        {
          fileList.append(list[i]);
@@ -248,7 +248,7 @@
     dirURL.adjustPath(1);
 
     KURL sdir = dirURL;
-    sdir = QExtFileInfo::toRelative( sdir, baseURL);
+    sdir = QExtFileInfo::toRelative( sdir, baseURL, false);
 
     if ( sdir.path().startsWith("..") || sdir.path().startsWith("/") )
     {
@@ -275,7 +275,7 @@
       }
     }
 
-    slotInsertFilesAfterCopying(dirURL);
+    slotInsertFolderAfterCopying(dirURL);
   }
 }
 
@@ -293,7 +293,7 @@
   {
     dirURL = *it;
    // dirURL.adjustPath(1);
-    KURL::List files = QExtFileInfo::allFilesRelative(dirURL, "*", this);
+    KURL::List files = QExtFileInfo::allFilesRelative(dirURL, "*", this, false);
     progressBar->setTotalSteps(files.count() - 1);
     progressBar->setTextEnabled(true);
     KURL u;
@@ -328,7 +328,7 @@
   progressBar->setTextEnabled(true);
   for (it = a_urlList.begin(); it != a_urlList.end(); ++it)
   {
-    u = QExtFileInfo::toRelative(*it, baseURL);
+    u = QExtFileInfo::toRelative(*it, baseURL, false);
     if ( !fileList.contains(u))
     {
       fileList.append(u);
--- branches/KDE/3.5/kdewebdev/quanta/project/projectprivate.cpp #621762:621763
@@ -325,7 +325,7 @@
         if (!m_projectFiles.contains(url))
         {
           el = dom.createElement("item");
-          el.setAttribute("url", QuantaCommon::qUrl(QExtFileInfo::toRelative(url, baseURL)));
+          el.setAttribute("url", QuantaCommon::qUrl(QExtFileInfo::toRelative(url, baseURL, false)));
           dom.firstChild().firstChild().appendChild(el);
           m_projectFiles.insert( new ProjectURL(url, "", 1, false, el) );
           emit eventHappened("after_project_add", url.url(), QString::null);
@@ -337,7 +337,7 @@
       url = *it;
       if (!excludeRx.exactMatch(url.path()))
       {
-        el.setAttribute("url", QuantaCommon::qUrl(QExtFileInfo::toRelative(url, baseURL)));
+        el.setAttribute("url", QuantaCommon::qUrl(QExtFileInfo::toRelative(url, baseURL, false)));
         dom.firstChild().firstChild().appendChild(el);
         m_projectFiles.insert( new ProjectURL(url, "", 1, false, el) );
         emit eventHappened("after_project_add", url.url(), QString::null);
--- branches/KDE/3.5/kdewebdev/quanta/project/rescanprj.cpp #621762:621763
@@ -131,7 +131,7 @@
       }
     }
   }
-  for (QPtrList<KFileItem>::ConstIterator it = linkItems.constBegin(); it != linkItems.constEnd(); ++it)
+ for (QPtrList<KFileItem>::ConstIterator it = linkItems.constBegin(); it != linkItems.constEnd(); ++it)
   {
     KIO::ListJob *ljob = KIO::listRecursive( (*it)->url(), false );
     m_listJobCount++;
--- branches/KDE/3.5/kdewebdev/quanta/quanta.kdevelop #621762:621763
@@ -17,8 +17,8 @@
     <projectdirectory>.</projectdirectory>
     <absoluteprojectpath>false</absoluteprojectpath>
     <secondaryLanguages/>
-    <versioncontrol/>
-    <defaultencoding></defaultencoding>
+    <versioncontrol>kdevsubversion</versioncontrol>
+    <defaultencoding/>
     <projectname>quanta</projectname>
   </general>
   <kdevautoproject>
@@ -49,7 +49,7 @@
     </compiler>
     <run>
       <mainprogram>/data/development/build/kde-3.5/kdewebdev/quanta/src/quanta</mainprogram>
-      <programargs></programargs>
+      <programargs/>
       <terminal>false</terminal>
       <envvars/>
       <directoryradio>build</directoryradio>
@@ -57,7 +57,7 @@
       <autocompile>true</autocompile>
       <autoinstall>false</autoinstall>
       <autokdesu>false</autokdesu>
-      <globaldebugarguments></globaldebugarguments>
+      <globaldebugarguments/>
       <globalcwd>/data/development/build/kde-3.5/kdewebdev</globalcwd>
       <useglobalprogram>true</useglobalprogram>
       <runarguments>
@@ -184,7 +184,7 @@
     </groups>
     <tree>
       <hidenonprojectfiles>false</hidenonprojectfiles>
-      <hidepatterns/>
+      <hidepatterns></hidepatterns>
       <showvcsfields>true</showvcsfields>
     </tree>
   </kdevfileview>
@@ -207,16 +207,16 @@
   </kdevdoctreeview>
   <kdevdebugger>
     <general>
-      <dbgshell></dbgshell>
+      <dbgshell/>
       <programargs/>
       <gdbpath>/usr/bin/gdb</gdbpath>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
       <floatingtoolbar>false</floatingtoolbar>
       <runappinappdirectory>true</runappinappdirectory>
-      <configGdbScript></configGdbScript>
-      <runShellScript></runShellScript>
-      <runGdbScript></runGdbScript>
+      <configGdbScript/>
+      <runShellScript/>
+      <runGdbScript/>
     </general>
     <display>
       <staticmembers>false</staticmembers>
@@ -298,7 +298,7 @@
     </codecompletion>
     <references/>
     <creategettersetter>
-      <prefixGet></prefixGet>
+      <prefixGet/>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
       <parameterName>theValue</parameterName>