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

List:       kde-commits
Subject:    KDE/kdewebdev/quanta
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2007-10-01 8:07:28
Message-ID: 1191226048.367302.28079.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 719519 by tokoe:

Making KFileItemList value based.


 M  +5 -5      lib/basetreeview.cpp  
 M  +3 -3      lib/basetreeview.h  
 M  +24 -41    lib/extfileinfo.cpp  
 M  +3 -3      lib/extfileinfo.h  
 M  +3 -3      plugins/project/projecttree/projecttreeview.cpp  
 M  +2 -2      plugins/project/projecttree/projecttreeview.h  
 M  +4 -4      plugins/templatestree/templatestreeview.cpp  
 M  +1 -1      plugins/templatestree/templatestreeview.h  


--- trunk/KDE/kdewebdev/quanta/lib/basetreeview.cpp #719518:719519
@@ -78,7 +78,7 @@
 #include <X11/Xlib.h>
 #endif
 //BaseTreeViewItem implementation
-BaseTreeViewItem::BaseTreeViewItem( K3FileTreeViewItem *parent, KFileItem* item, \
KFileTreeBranch *brnch ) +BaseTreeViewItem::BaseTreeViewItem( K3FileTreeViewItem \
*parent, const KFileItem &item, KFileTreeBranch *brnch )  : K3FileTreeViewItem( \
parent, item, brnch)  {
   // cache this for speed
@@ -144,20 +144,20 @@
   setChildRecurse(false);
 }
 
-bool BaseTreeBranch::matchesFilter(const KFileItem *item) const
+bool BaseTreeBranch::matchesFilter(const KFileItem &item) const
 {
   if (!excludeFilterRx.isEmpty())
-    if (excludeFilterRx.exactMatch(item->url().path()))
+    if (excludeFilterRx.exactMatch(item.url().path()))
       return false;
 
   return KFileTreeBranch::matchesFilter(item);
 }
 
 K3FileTreeViewItem* BaseTreeBranch::createTreeViewItem(K3FileTreeViewItem *parent,
-                                                      KFileItem *fileItem)
+                                                       const KFileItem &fileItem)
 {
   BaseTreeViewItem  *tvi = 0;
-  if( parent && fileItem)
+  if( parent && !fileItem.isNull())
   {
     tvi = new BaseTreeViewItem(parent, fileItem, this);
     // we assume there are children
--- trunk/KDE/kdewebdev/quanta/lib/basetreeview.h #719518:719519
@@ -54,7 +54,7 @@
 class KDEVQUANTA_EXPORT BaseTreeViewItem : public K3FileTreeViewItem {
 
 public:
-  BaseTreeViewItem( K3FileTreeViewItem *parent, KFileItem* item, KFileTreeBranch \
*brnch ); +  BaseTreeViewItem( K3FileTreeViewItem *parent, const KFileItem &item, \
KFileTreeBranch *brnch );  
   /**
   sorts folders separate from files
@@ -96,11 +96,11 @@
   get the BaseTreeViewItem
   */
   virtual K3FileTreeViewItem* createTreeViewItem( K3FileTreeViewItem *parent,
-                                                 KFileItem *fileItem );
+                                                  const KFileItem &fileItem );
   /**
   does custom filtering
   */
-  bool matchesFilter(const KFileItem *item) const;
+  bool matchesFilter(const KFileItem &item) const;
 
   /**
   files matching to this will not be shown
--- trunk/KDE/kdewebdev/quanta/lib/extfileinfo.cpp #719518:719519
@@ -126,7 +126,7 @@
   return r;
 }
 
-QHash<QString, KFileItem*> ExtFileInfo::allFilesDetailed( const KUrl& path, const \
QString& mask) +QHash<QString, KFileItem> ExtFileInfo::allFilesDetailed( const KUrl& \
path, const QString& mask)  {
   ExtFileInfo internalFileInfo;
   return internalFileInfo.allFilesDetailedInternal(path, mask);
@@ -259,12 +259,8 @@
   return dirListItems;
 }
 
-QHash<QString, KFileItem*> ExtFileInfo::allFilesDetailedInternal(const KUrl& \
startURL, const QString& mask) +QHash<QString, KFileItem> \
ExtFileInfo::allFilesDetailedInternal(const KUrl& startURL, const QString& mask)  {
-  foreach (KFileItem *item, detailedDirListItems)
-  {
-    delete item;
-  }
   detailedDirListItems.clear();
   if (internalExists(startURL))
   {
@@ -435,42 +431,41 @@
   KIO::UDSEntryList::ConstIterator it = udsList.begin();
   KIO::UDSEntryList::ConstIterator end = udsList.end();
   KUrl itemURL;
-  QList<KFileItem*> linkItems;
+  QList<KFileItem> linkItems;
   for ( ; it != end; ++it )
   {
     QString name = (*it).stringValue(KIO::UDSEntry::UDS_NAME);
 
     if (!name.isEmpty() && name != dot && name != dotdot)
     {
-      KFileItem* item = new KFileItem( *it, url, false, true );
-      if (item->isDir() && item->isLink())
+      const KFileItem item( *it, url, false, true );
+      if (item.isDir() && item.isLink())
       {
-        KUrl u = item->url();
-        u.setPath(item->linkDest());
+        KUrl u = item.url();
+        u.setPath(item.linkDest());
         u.adjustPath(KUrl::AddTrailingSlash);
         if (!dirListItems.contains(u) && u.url() != m_listStartURL)
         {
-          linkItems.append(new KFileItem(*item));
+          linkItems.append(item);
         } else
         {
           kDebug(24000) << "Recursive link" << u.url();
           continue;
         }
       }
-      itemURL = item->url();
-      if (item->isDir())
+      itemURL = item.url();
+      if (item.isDir())
         itemURL.adjustPath(KUrl::AddTrailingSlash);
       foreach (QRegExp *filter, lstFilters)
       {
-        if (filter->exactMatch(item->text()))
+        if (filter->exactMatch(item.text()))
             dirListItems.append(itemURL);
       }
-      delete item;
     }
   }
-  for (QList<KFileItem*>::ConstIterator it = linkItems.constBegin(); it != \
linkItems.constEnd(); ++it) +  for (QList<KFileItem>::ConstIterator it = \
linkItems.constBegin(); it != linkItems.constEnd(); ++it)  {
-    KIO::ListJob *ljob = KIO::listRecursive((*it)->url(), false, true);
+    KIO::ListJob *ljob = KIO::listRecursive((*it).url(), false, true);
     m_listJobCount++;
     //kDebug(24000) << "Now listing: " << (*it)->url();
     connect( ljob, SIGNAL(entries(KIO::Job *,const KIO::UDSEntryList &)),
@@ -478,10 +473,6 @@
     connect( ljob, SIGNAL(result(KJob *)),
              this,SLOT  (slotListResult(KJob *)));
   }
-  foreach(KFileItem *item, linkItems)
-  {
-    delete item;
-  }
 }
 
 void ExtFileInfo::slotNewDetailedEntries(KIO::Job *job, const KIO::UDSEntryList& \
udsList) @@ -495,43 +486,39 @@
   KIO::UDSEntryList::ConstIterator it = udsList.begin();
   KIO::UDSEntryList::ConstIterator end = udsList.end();
   KUrl itemURL;
-  QList<KFileItem*> linkItems;
+  QList<KFileItem> linkItems;
   for ( ; it != end; ++it )
   {
     QString name = (*it).stringValue(KIO::UDSEntry::UDS_NAME);
 
     if (!name.isEmpty() && name != dot && name != dotdot)
     {
-      KFileItem *item=  new KFileItem(*it, url, false, true );
-      if (item->isDir() && item->isLink())
+      const KFileItem item(*it, url, false, true );
+      if (item.isDir() && item.isLink())
       {
-        KUrl u = item->url();
-        u.setPath(item->linkDest());
+        KUrl u = item.url();
+        u.setPath(item.linkDest());
         QString urlStr = u.url();
         if (detailedDirListItems.contains(urlStr) == 0L &&
             (urlStr != m_listStartURL))
         {
-          linkItems.append(new KFileItem(*item));
+          linkItems.append(item);
         } else
         {
-          kDebug(24000) << "Recursive link" << item->url();
+          kDebug(24000) << "Recursive link" << item.url();
           continue;
         }
       }
-      bool added = false;
       foreach (QRegExp *filter, lstFilters)
-        if (filter->exactMatch(item->text()))
+        if (filter->exactMatch(item.text()))
         {
-          detailedDirListItems.insert(item->url().url(), item);
-          added = true;
+          detailedDirListItems.insert(item.url().url(), item);
         }
-      if (!added)
-        delete item;
     }
   }
-  foreach (KFileItem *it ,linkItems)
+  foreach (const KFileItem it ,linkItems)
   {
-    KIO::ListJob *ljob = KIO::listRecursive(it->url(), false, true);
+    KIO::ListJob *ljob = KIO::listRecursive(it.url(), false, true);
     m_listJobCount++;
    // kDebug(24000) << "Now listing: " << (*it)->url();
     connect( ljob, SIGNAL(entries(KIO::Job *,const KIO::UDSEntryList &)),
@@ -539,10 +526,6 @@
     connect( ljob, SIGNAL(result(KJob *)),
              this,SLOT  (slotListResult(KJob *)));
   }
-  foreach(KFileItem* item, linkItems)
-  {
-    delete item;
-  }
 }
 
 /** Timeout occurred while waiting for some network function to return. */
--- trunk/KDE/kdewebdev/quanta/lib/extfileinfo.h #719518:719519
@@ -59,7 +59,7 @@
       The user should delete the KFileItems and clear the dict
       after they are not needed.
   */
-  static QHash<QString, KFileItem*> allFilesDetailed(const KUrl& path, const QString \
&mask); +  static QHash<QString, KFileItem> allFilesDetailed(const KUrl& path, const \
QString &mask);  
   /**
    * Gets a list with the urls under path. The listing is not recursive.
@@ -124,14 +124,14 @@
   bool internalCopy(const KUrl& src, const KUrl& target, int permissions,
                     bool overwrite, bool resume, QWidget* window);
   KUrl::List allFilesInternal(const KUrl& startURL, const QString& mask);
-  QHash<QString, KFileItem*> allFilesDetailedInternal(const KUrl& startURL, const \
QString& mask); +  QHash<QString, KFileItem> allFilesDetailedInternal(const KUrl& \
startURL, const QString& mask);  KUrl::List listDirInternal(const KUrl& startURL, \
const QString& mask);  
   bool bJobOK;
   static QString lastErrorMsg;
   KIO::UDSEntry m_entry;
   KUrl::List dirListItems;
-  QHash<QString, KFileItem*> detailedDirListItems;
+  QHash<QString, KFileItem> detailedDirListItems;
   QList<QRegExp*> lstFilters;
   int m_listJobCount;
   QString m_listStartURL;
--- trunk/KDE/kdewebdev/quanta/plugins/project/projecttree/projecttreeview.cpp \
#719518:719519 @@ -56,7 +56,7 @@
 
 
 //ProjectTreeViewItem implementation
-ProjectTreeViewItem::ProjectTreeViewItem( KFileTreeViewItem *parent, KFileItem* \
item, KFileTreeBranch *brnch ) +ProjectTreeViewItem::ProjectTreeViewItem( \
KFileTreeViewItem *parent, const KFileItem &item, KFileTreeBranch *brnch )  : \
BaseTreeViewItem( parent, item, brnch), FilterableItemIf()  {
   setVisible(shouldBeVisible());
@@ -101,10 +101,10 @@
 }
 
 KFileTreeViewItem* ProjectTreeBranch::createTreeViewItem(KFileTreeViewItem *parent,
-                                                         KFileItem *fileItem )
+                                                         const KFileItem &fileItem )
 {
   BaseTreeViewItem  *tvi = 0;
-  if( parent && fileItem )
+  if( parent && !fileItem.isNull() )
   {
     tvi = new ProjectTreeViewItem( parent, fileItem, this );
     if (tvi)
--- trunk/KDE/kdewebdev/quanta/plugins/project/projecttree/projecttreeview.h \
#719518:719519 @@ -37,7 +37,7 @@
 {
 
 public:
-  ProjectTreeViewItem( KFileTreeViewItem *parent, KFileItem* item, KFileTreeBranch \
*brnch ); +  ProjectTreeViewItem( KFileTreeViewItem *parent, const KFileItem &item, \
KFileTreeBranch *brnch );  
   /**
    * @param s the string to compare with
@@ -66,7 +66,7 @@
                     bool showHidden = false, KFileTreeViewItem *branchRoot = 0L);
 
   /** check for CVS and visible*/
-  virtual KFileTreeViewItem* createTreeViewItem(KFileTreeViewItem *parent, KFileItem \
*fileItem ); +  virtual KFileTreeViewItem* createTreeViewItem(KFileTreeViewItem \
*parent, const KFileItem &fileItem );  
   Koncrete::Project * project() {return m_project;}
   
--- trunk/KDE/kdewebdev/quanta/plugins/templatestree/templatestreeview.cpp \
#719518:719519 @@ -101,14 +101,14 @@
 }
 
 K3FileTreeViewItem* TemplatesTreeBranch::createTreeViewItem(K3FileTreeViewItem \
                *parent,
-                                                           KFileItem *fileItem )
+                                                            const KFileItem \
&fileItem )  {
   BaseTreeViewItem  *tvi = 0;
-  if( parent && fileItem )
+  if( parent && !fileItem.isNull() )
   {
-    KUrl url = fileItem->url();
+    KUrl url = fileItem.url();
     tvi = new BaseTreeViewItem( parent, fileItem, this );
-    if (tvi && fileItem->isDir())
+    if (tvi && fileItem.isDir())
     {
       if (url.isLocalFile())
       {
--- trunk/KDE/kdewebdev/quanta/plugins/templatestree/templatestreeview.h \
#719518:719519 @@ -41,7 +41,7 @@
 
   /** read the mimetype */
   virtual K3FileTreeViewItem* createTreeViewItem(K3FileTreeViewItem *parent,
-                                                KFileItem *fileItem );
+                                                 const KFileItem &fileItem );
 };
 
 


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

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