[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