From kde-commits Mon Apr 25 16:31:58 2005 From: David Faure Date: Mon, 25 Apr 2005 16:31:58 +0000 To: kde-commits Subject: kdelibs/kio/kio Message-Id: <20050425163158.BA5F0488 () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=111444672816490 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 ); }