Utilities::StringSet MainWindow::ExternalPopup::mimeTypes( const DB::FileNameList& files ) { StringSet res; StringSet extensions; for( DB::FileNameList::ConstIterator fileIt = files.begin(); fileIt != files.end(); ++fileIt ) { const DB::FileName baseFileName = *fileIt; const int extStart = baseFileName.relative().lastIndexOf(QChar::fromLatin1('.')); const QString ext = baseFileName.relative().mid(extStart); if (! extensions.contains(ext)) { res.insert( mimeType( *fileIt ) ); extensions.insert( ext ); } } return res; }
void ImageDB::slotReread( const DB::FileNameList& list, DB::ExifMode mode) { // Do here a reread of the exif info and change the info correctly in the database without loss of previous added data QProgressDialog dialog( i18n("Loading information from images"), i18n("Cancel"), 0, list.count() ); uint count=0; for( DB::FileNameList::ConstIterator it = list.begin(); it != list.end(); ++it, ++count ) { if ( count % 10 == 0 ) { dialog.setValue( count ); // ensure to call setProgress(0) qApp->processEvents( QEventLoop::AllEvents ); if ( dialog.wasCanceled() ) return; } QFileInfo fi( (*it).absolute() ); if (fi.exists()) info(*it)->readExif(*it, mode); markDirty(); } }