summaryrefslogtreecommitdiff
path: root/library
Side-by-side diff
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/global.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/library/global.cpp b/library/global.cpp
index 05d23ac..6c0a66a 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -23,12 +23,13 @@
#include <qpe/qdawg.h>
#include <qpe/qpeapplication.h>
#include <qpe/resource.h>
#include <qpe/storage.h>
#include <qpe/applnk.h>
#include <qpe/qcopenvelope_qws.h>
+#include <qpe/config.h>
#include <qfile.h>
#include <qlabel.h>
#include <qtimer.h>
#include <qmap.h>
#include <qdict.h>
@@ -763,18 +764,26 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter)
*/
StorageInfo storage;
const QList<FileSystem> &fs = storage.fileSystems();
QListIterator<FileSystem> 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 );
folder->appendFrom(ide);
}
}