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

List:       kde-commits
Subject:    kdelibs/kio/kio
From:       David Faure <faure () kde ! org>
Date:       2005-04-25 16:31:58
Message-ID: 20050425163158.BA5F0488 () office ! kde ! org
[Download RAW message or body]

CVS commit by faure: 

More simplifications to avoid double-negations and useless mimetype detections.
Still 100% equivalent, I still have to find that mimetype-filtering bug :)


  M +13 -18    kdirlister.cpp   1.199


--- kdelibs/kio/kio/kdirlister.cpp  #1.198:1.199
@@ -2228,19 +2228,18 @@ void KDirLister::addNewItems( const KFil
 void KDirLister::aboutToRefreshItem( const KFileItem *item )
 {
-  bool isNameFilterMatch = (d->dirOnlyMode && !item->isDir()) || !matchesFilter( item );
-  bool isMimeFilterMatch = !matchesMimeFilter( item );
-
-  if ( !isNameFilterMatch && !isMimeFilterMatch )
-    d->refreshItemWasFiltered = false;
-  else
+  // The code here follows the logic in addNewItem
+  if ( ( d->dirOnlyMode && !item->isDir() ) || !matchesFilter( item ) )
     d->refreshItemWasFiltered = true;
+  else if ( matchesMimeFilter( item ) )
+    d->refreshItemWasFiltered = true;
+  else
+    d->refreshItemWasFiltered = false;
 }
 
 void KDirLister::addRefreshItem( const KFileItem *item )
 {
-  bool isNameFilterMatch = (d->dirOnlyMode && !item->isDir()) || !matchesFilter( item );
-  bool isMimeFilterMatch = !matchesMimeFilter( item );
+  bool isExcluded = (d->dirOnlyMode && !item->isDir()) || !matchesFilter( item );
 
-  if ( !isNameFilterMatch && !isMimeFilterMatch )
+  if ( !isExcluded && matchesMimeFilter( item ) )
   {
     if ( d->refreshItemWasFiltered )
@@ -2312,8 +2311,7 @@ void KDirLister::emitItems()
 void KDirLister::emitDeleteItem( KFileItem *item )
 {
-  bool isNameFilterMatch = (d->dirOnlyMode && !item->isDir()) || !matchesFilter( item );
-  bool isMimeFilterMatch = !matchesMimeFilter( item );
-
-  if ( !isNameFilterMatch && !isMimeFilterMatch )
+  if ( ( d->dirOnlyMode && !item->isDir() ) || !matchesFilter( item ) )
+    return; // No reason to continue... bailing out here prevents a mimetype scan.
+  if ( matchesMimeFilter( item ) )
     emit deleteItem( item );
 }
@@ -2460,9 +2458,6 @@ KFileItemList KDirLister::itemsForDir( c
         {
             KFileItem *item = *kit;
-            bool isNameFilterMatch = (d->dirOnlyMode && !item->isDir()) ||
-                                     !matchesFilter( item );
-            bool isMimeFilterMatch = !matchesMimeFilter( item );
-
-            if ( !isNameFilterMatch && !isMimeFilterMatch )
+            bool isExcluded = (d->dirOnlyMode && !item->isDir()) || !matchesFilter( item );
+            if ( !isExcluded && matchesMimeFilter( item ) )
                 result.append( item );
         }


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

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