From 4cfad0d1331a5e3adc8bc2599783750875e6fd2b Mon Sep 17 00:00:00 2001 From: alwin Date: Sat, 21 Feb 2004 23:05:04 +0000 Subject: on removable medias take a look into .opiestorage.cf and read the list of subdirs of the media where to search for documents. If this value isn't set, it will reduce search to FS+"/Documents" so not the whole media is searched. ToDo: Work on mediummount so users can set this values. --- (limited to 'library/global.cpp') diff --git a/library/global.cpp b/library/global.cpp index 05d23ac..6c0a66a 100644 --- a/library/global.cpp +++ b/library/global.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -766,12 +767,20 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter) QListIterator it ( fs ); for ( ; it.current(); ++it ) { if ( (*it)->isRemovable() ) { // let's find out if we should search on it - // this is a candidate look at the cf and see if we should search on it - QString path = (*it)->path(); - if( !checkStorage((*it)->path() + "/.opiestorage.cf" ) ) - continue; - DocLnkSet ide( path, mimefilter ); - folder->appendFrom(ide); + // this is a candidate look at the cf and see if we should search on it + QString path = (*it)->path(); + if( !checkStorage((*it)->path() + "/.opiestorage.cf" ) ) + continue; + Config conf((*it)->path() + "/.opiestorage.cf", Config::File ); + conf.setGroup("subdirs"); + QStringList subDirs = conf.readListEntry("subdirs",':'); + if (subDirs.isEmpty()) { + subDirs.append("Documents"); + } + for (unsigned c = 0; c < subDirs.count();++c) { + DocLnkSet ide( path+"/"+subDirs[c], mimefilter ); + folder->appendFrom(ide); + } } else if ( (*it)->disk() == "/dev/mtdblock6" || (*it)->disk() == "tmpfs" ) { QString path = (*it)->path() + "/Documents"; DocLnkSet ide( path, mimefilter ); -- cgit v0.9.0.2