Version: SVN (using KDE 3.5.1, compiled sources) Compiler: Target: i586-suse-linux OS: Linux (i686) release 2.6.13-15.7-smp for every image not on the disc any more a popup askes continue/cancel. cancel does nothing (visible) IMHO an option "Ignore all missing images" should be introduced (I have some thousend images removed - meening 1000 clicks to continue!!!)
This problem is still present in 3.0.2.
SVN commit 698281 by jkt: Don't warn about every file we can't read, rather give a summary afterwards BUG: 121403 M +11 -4 NewImageFinder.cpp --- branches/extragear/kde3/graphics/kphotoalbum/DB/NewImageFinder.cpp #698280:698281 @@ -230,6 +230,7 @@ "even when you have moved them on the disk.</p>").arg( list.count() ), i18n("&Cancel"), list.count() ); int count = 0; + QStringList cantRead; bool dirty = false; for( QStringList::ConstIterator it = list.begin(); it != list.end(); ++it, ++count ) { @@ -244,7 +245,11 @@ return dirty; } } + MD5 md5 = MD5Sum( *it ); + if ( md5 == MD5() ) + cantRead << *it; + if ( info->MD5Sum() != md5 ) { info->setMD5Sum( md5 ); dirty = true; @@ -255,16 +260,18 @@ } if ( wasCanceled ) *wasCanceled = false; + + if ( !cantRead.empty() ) + KMessageBox::informationList( 0, i18n("Following files could not be read:"), cantRead ); + return dirty; } MD5 NewImageFinder::MD5Sum( const QString& fileName ) { QFile file( fileName ); - if ( !file.open( IO_ReadOnly ) ) { - if ( KMessageBox::warningContinueCancel( 0, i18n("Could not open %1").arg( fileName ) ) == KMessageBox::No ) - return MD5(); - } + if ( !file.open( IO_ReadOnly ) ) + return MD5(); KMD5 md5calculator( 0 /* char* */); md5calculator.reset();