summaryrefslogtreecommitdiff
path: root/library/global.cpp
authorzecke <zecke>2002-03-24 19:31:32 (UTC)
committer zecke <zecke>2002-03-24 19:31:32 (UTC)
commiteb813af4c1e301c8ba015627a1da04f8199a3be2 (patch) (side-by-side diff)
tree7f23f61c2d8c58655fc98798b7f1b4aec75b5ff3 /library/global.cpp
parent4802684dd785274be50b472c87e315da0e325449 (diff)
downloadopie-eb813af4c1e301c8ba015627a1da04f8199a3be2.zip
opie-eb813af4c1e301c8ba015627a1da04f8199a3be2.tar.gz
opie-eb813af4c1e301c8ba015627a1da04f8199a3be2.tar.bz2
Here is the second chunk of bits to make things a bit more fast
Diffstat (limited to 'library/global.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/global.cpp35
1 files changed, 30 insertions, 5 deletions
diff --git a/library/global.cpp b/library/global.cpp
index dd15eb7..5a28595 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -48,6 +48,28 @@
#include <qwindowsystem_qws.h> // for qwsServer
#include <qdatetime.h>
+#include <qfile.h>
+
+namespace {
+ // checks if the storage should be searched
+ bool checkStorage(const QString &path ){ // this is a small Config replacement cause config is too limited -zecke
+ QFile file(path );
+ if(!file.open(IO_ReadOnly ) )
+ return true;
+
+ QByteArray array = file.readAll();
+ QStringList list = QStringList::split('\n', QString( array ) );
+ for(QStringList::Iterator it = list.begin(); it != list.end(); ++it ){
+ if( (*it).startsWith("autocheck = 0" ) ){
+ return true;
+ }else if( (*it).startsWith("autocheck = 1" ) ){
+ return false;
+ }
+ }
+ return true;
+ }
+}
+
//#include "quickexec_p.h"
class Emitter : public QObject {
@@ -638,11 +660,14 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter)
const QList<FileSystem> &fs = storage.fileSystems();
QListIterator<FileSystem> it ( fs );
for ( ; it.current(); ++it ) {
- if ( (*it)->isRemovable() ) {
- QString path = (*it)->path();
- DocLnkSet ide( path, mimefilter );
- folder->appendFrom(ide);
- }
+ 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);
+ }
}
}