summaryrefslogtreecommitdiff
Unidiff
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
@@ -13,32 +13,33 @@
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
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>
41#include <sys/wait.h> 42#include <sys/wait.h>
42#include <sys/types.h> 43#include <sys/types.h>
43#include <fcntl.h> 44#include <fcntl.h>
44#include <unistd.h> 45#include <unistd.h>
@@ -753,38 +754,46 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter)
753 * c) the user wants to check it but not this medium 754 * c) the user wants to check it but not this medium
754 * d) the user wants to check and this medium as well 755 * d) the user wants to check and this medium as well
755 * 756 *
756 * In all cases we need to apply a different mimefilter to 757 * In all cases we need to apply a different mimefilter to
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;
787 langs.append(lang); 796 langs.append(lang);
788 int i = lang.find("."); 797 int i = lang.find(".");
789 if ( i > 0 ) 798 if ( i > 0 )
790 lang = lang.left( i ); 799 lang = lang.left( i );