void SieveJob::slotEntries( Job *, const UDSEntryList & l ) { // loop over entries: for ( UDSEntryList::const_iterator it = l.begin() ; it != l.end() ; ++it ) { // Loop over all UDS atoms to find the UDSEntry::UDS_ACCESS and UDS_NAME atoms; // note if we find an exec'able file ( == active script ) // or the requested filename (mUrl.fileName()). const QString filename = it->stringValue( KIO::UDSEntry::UDS_NAME ); mAvailableScripts.append( filename ); bool isActive = ( it->numberValue( KIO::UDSEntry::UDS_ACCESS ) == 0700 ); if ( isActive ) mActiveScriptName = filename; if ( mFileExists == DontKnow && filename == mUrl.fileName() ) mFileExists = Yes; emit item( this, filename, isActive ); if ( mFileExists == Yes && !mActiveScriptName.isEmpty() ) return; // early return if we have all information } }