summaryrefslogtreecommitdiff
path: root/library
authoralwin <alwin>2004-02-21 23:05:04 (UTC)
committer alwin <alwin>2004-02-21 23:05:04 (UTC)
commit4cfad0d1331a5e3adc8bc2599783750875e6fd2b (patch) (side-by-side diff)
treefda9d83c9cdf75a1340f3465460b5fe86009ac02 /library
parent51c51fef13a91b263acba430faaa3332bf145343 (diff)
downloadopie-4cfad0d1331a5e3adc8bc2599783750875e6fd2b.zip
opie-4cfad0d1331a5e3adc8bc2599783750875e6fd2b.tar.gz
opie-4cfad0d1331a5e3adc8bc2599783750875e6fd2b.tar.bz2
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.
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
@@ -17,24 +17,25 @@
** not clear to you.
**
**********************************************************************/
#define QTOPIA_INTERNAL_LANGLIST
#include <qpe/qpedebug.h>
#include <qpe/global.h>
#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>
#include <qdir.h>
#include <qmessagebox.h>
#include <qregexp.h>
#include <stdlib.h>
#include <sys/stat.h>
@@ -757,30 +758,38 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter)
* the medium.
* a) mimefilter.isEmpty() we need to apply the responding filter
* either the global or the one on the medium
*
* b) mimefilter is set to an application we need to find out if the
* mimetypes are included in the mime mask of the medium
*/
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);
}
}
}
QStringList Global::languageList()
{
QString lang = getenv("LANG");
QStringList langs;