summaryrefslogtreecommitdiff
authoralwin <alwin>2004-02-21 23:05:04 (UTC)
committer alwin <alwin>2004-02-21 23:05:04 (UTC)
commit4cfad0d1331a5e3adc8bc2599783750875e6fd2b (patch) (unidiff)
treefda9d83c9cdf75a1340f3465460b5fe86009ac02
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 (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 @@
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#define QTOPIA_INTERNAL_LANGLIST 20#define QTOPIA_INTERNAL_LANGLIST
21#include <qpe/qpedebug.h> 21#include <qpe/qpedebug.h>
22#include <qpe/global.h> 22#include <qpe/global.h>
23#include <qpe/qdawg.h> 23#include <qpe/qdawg.h>
24#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
25#include <qpe/resource.h> 25#include <qpe/resource.h>
26#include <qpe/storage.h> 26#include <qpe/storage.h>
27#include <qpe/applnk.h> 27#include <qpe/applnk.h>
28#include <qpe/qcopenvelope_qws.h> 28#include <qpe/qcopenvelope_qws.h>
29#include <qpe/config.h>
29 30
30#include <qfile.h> 31#include <qfile.h>
31#include <qlabel.h> 32#include <qlabel.h>
32#include <qtimer.h> 33#include <qtimer.h>
33#include <qmap.h> 34#include <qmap.h>
34#include <qdict.h> 35#include <qdict.h>
35#include <qdir.h> 36#include <qdir.h>
36#include <qmessagebox.h> 37#include <qmessagebox.h>
37#include <qregexp.h> 38#include <qregexp.h>
38 39
39#include <stdlib.h> 40#include <stdlib.h>
40#include <sys/stat.h> 41#include <sys/stat.h>
@@ -757,30 +758,38 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter)
757 * the medium. 758 * the medium.
758 * a) mimefilter.isEmpty() we need to apply the responding filter 759 * a) mimefilter.isEmpty() we need to apply the responding filter
759 * either the global or the one on the medium 760 * either the global or the one on the medium
760 * 761 *
761 * b) mimefilter is set to an application we need to find out if the 762 * b) mimefilter is set to an application we need to find out if the
762 * mimetypes are included in the mime mask of the medium 763 * mimetypes are included in the mime mask of the medium
763 */ 764 */
764 StorageInfo storage; 765 StorageInfo storage;
765 const QList<FileSystem> &fs = storage.fileSystems(); 766 const QList<FileSystem> &fs = storage.fileSystems();
766 QListIterator<FileSystem> it ( fs ); 767 QListIterator<FileSystem> it ( fs );
767 for ( ; it.current(); ++it ) { 768 for ( ; it.current(); ++it ) {
768 if ( (*it)->isRemovable() ) { // let's find out if we should search on it 769 if ( (*it)->isRemovable() ) { // let's find out if we should search on it
769 // this is a candidate look at the cf and see if we should search on it 770 // this is a candidate look at the cf and see if we should search on it
770 QString path = (*it)->path(); 771 QString path = (*it)->path();
771 if( !checkStorage((*it)->path() + "/.opiestorage.cf" ) ) 772 if( !checkStorage((*it)->path() + "/.opiestorage.cf" ) )
772 continue; 773 continue;
773 DocLnkSet ide( path, mimefilter ); 774 Config conf((*it)->path() + "/.opiestorage.cf", Config::File );
774 folder->appendFrom(ide); 775 conf.setGroup("subdirs");
776 QStringList subDirs = conf.readListEntry("subdirs",':');
777 if (subDirs.isEmpty()) {
778 subDirs.append("Documents");
779 }
780 for (unsigned c = 0; c < subDirs.count();++c) {
781 DocLnkSet ide( path+"/"+subDirs[c], mimefilter );
782 folder->appendFrom(ide);
783 }
775 } else if ( (*it)->disk() == "/dev/mtdblock6" || (*it)->disk() == "tmpfs" ) { 784 } else if ( (*it)->disk() == "/dev/mtdblock6" || (*it)->disk() == "tmpfs" ) {
776 QString path = (*it)->path() + "/Documents"; 785 QString path = (*it)->path() + "/Documents";
777 DocLnkSet ide( path, mimefilter ); 786 DocLnkSet ide( path, mimefilter );
778 folder->appendFrom(ide); 787 folder->appendFrom(ide);
779 } 788 }
780 } 789 }
781} 790}
782 791
783QStringList Global::languageList() 792QStringList Global::languageList()
784{ 793{
785 QString lang = getenv("LANG"); 794 QString lang = getenv("LANG");
786 QStringList langs; 795 QStringList langs;