author | zecke <zecke> | 2002-03-24 19:31:32 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-03-24 19:31:32 (UTC) |
commit | eb813af4c1e301c8ba015627a1da04f8199a3be2 (patch) (side-by-side diff) | |
tree | 7f23f61c2d8c58655fc98798b7f1b4aec75b5ff3 /library | |
parent | 4802684dd785274be50b472c87e315da0e325449 (diff) | |
download | opie-eb813af4c1e301c8ba015627a1da04f8199a3be2.zip opie-eb813af4c1e301c8ba015627a1da04f8199a3be2.tar.gz opie-eb813af4c1e301c8ba015627a1da04f8199a3be2.tar.bz2 |
Here is the second chunk of bits to make things a bit more fast
-rw-r--r-- | library/global.cpp | 35 | ||||
-rw-r--r-- | library/global.h | 8 | ||||
-rw-r--r-- | library/storage.cpp | 5 |
3 files changed, 42 insertions, 6 deletions
diff --git a/library/global.cpp b/library/global.cpp index dd15eb7..5a28595 100644 --- a/library/global.cpp +++ b/library/global.cpp @@ -43,16 +43,38 @@ #include <sys/wait.h> #include <sys/types.h> #include <fcntl.h> #include <unistd.h> #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 { Q_OBJECT public: Emitter( QWidget* receiver, const QString& document ) { connect(this, SIGNAL(setDocument(const QString&)), @@ -633,21 +655,24 @@ void Global::findDocuments(DocLnkSet* folder, const QString &mimefilter) { QString homedocs = QString(getenv("HOME")) + "/Documents"; DocLnkSet d(homedocs,mimefilter); folder->appendFrom(d); StorageInfo storage; 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); + } } } QStringList Global::languageList() { QString lang = getenv("LANG"); QStringList langs; langs.append(lang); diff --git a/library/global.h b/library/global.h index d9ff8f8..fdf8754 100644 --- a/library/global.h +++ b/library/global.h @@ -1,9 +1,10 @@ /********************************************************************** +** Copyright (C) 2002 Holger 'zecke' Freyther <freyther@kde.org> ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. @@ -40,16 +41,18 @@ public: static void addWords(const QStringList& word); static void addWords(const QString& dictname, const QStringList& word); // static void removeWords(const QStringList& word); -- if someone wants it static void createDocDir(); static void findDocuments(DocLnkSet* folder, const QString &mimefilter=QString::null); + // we don't need a mimefilter. Same as above but this is fast as light speed or not ;) + //static void findNewDocuments( DocLnkSet* folder ); static QString applicationFileName(const QString& appname, const QString& filename); struct Command { const char *file; QWidget *(*func)( bool ); bool maximized; bool documentary; @@ -72,14 +75,19 @@ public: static void hideInputMethod(); static void showInputMethod(); static void writeHWClock(); static QString shellQuote(const QString& s); static QString stringQuote(const QString& s); +#ifdef QTOPIA_INTERNAL_LANGLIST + static QStringList languageList(); + static QStringList helpPath(); +#endif + private: static Command* builtin; static QGuardedPtr<QWidget> *running; }; #endif diff --git a/library/storage.cpp b/library/storage.cpp index bd34a5f..a4c96be 100644 --- a/library/storage.cpp +++ b/library/storage.cpp @@ -1,9 +1,10 @@ /********************************************************************** +** Copyright (C) Holger 'zecke' Freyther <freyther@kde.org> ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. @@ -18,16 +19,17 @@ ** **********************************************************************/ #include <qpe/storage.h> #ifdef QT_QWS_CUSTOM #include <qpe/custom.h> #endif +#include <qfile.h> #include <qtimer.h> #include <qcopchannel_qws.h> #include <stdio.h> #if defined(_OS_LINUX_) || defined(Q_OS_LINUX) #include <sys/vfs.h> #include <mntent.h> @@ -79,17 +81,18 @@ const FileSystem *StorageInfo::fileSystemOf( const QString &filename ) } void StorageInfo::cardMessage( const QCString& msg, const QByteArray& ) { if ( msg == "mtabChanged()" ) update(); } - +// cause of the lack of a d pointer we need +// to store informations in a config file :( void StorageInfo::update() { //qDebug("StorageInfo::updating"); #if defined(_OS_LINUX_) || defined(Q_OS_LINUX) struct mntent *me; FILE *mntfp = setmntent( "/etc/mtab", "r" ); QStringList curdisks; |