diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 4aed2c8219774f5d797760606b8489a92ddc5163 (patch) | |
tree | 3f8c130f7d269626bf6a9447407ef6c35954426a /khelpcenter/docmetainfo.h | |
download | tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'khelpcenter/docmetainfo.h')
-rw-r--r-- | khelpcenter/docmetainfo.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/khelpcenter/docmetainfo.h b/khelpcenter/docmetainfo.h new file mode 100644 index 000000000..fbca60792 --- /dev/null +++ b/khelpcenter/docmetainfo.h @@ -0,0 +1,80 @@ +#ifndef DOCMETAINFO_H +#define DOCMETAINFO_H + +#include <qstring.h> +#include <qstringlist.h> +#include <qvaluelist.h> +#include <qdir.h> +#include <qmap.h> + +#include "docentry.h" + +namespace KHC { + +class HTMLSearch; +class DocEntryTraverser; + +/*! + This class provides some meta information about help documents. +*/ +class DocMetaInfo +{ + public: + /*! + Return instance of DocMetaInfo. There can only be one instance at a time. + */ + static DocMetaInfo *self(); + + ~DocMetaInfo(); + + void scanMetaInfo( bool force = false ); + + DocEntry *addDocEntry( const QString &fileName ); + + void addDocEntry( DocEntry * ); + + DocEntry::List docEntries(); + + DocEntry::List searchEntries(); + + void traverseEntries( DocEntryTraverser * ); + + void startTraverseEntries( DocEntryTraverser *traverser ); + void startTraverseEntry( DocEntry *entry, DocEntryTraverser *traverser ); + void endProcess( DocEntry *entry, DocEntryTraverser *traverser ); + void endTraverseEntries( DocEntryTraverser * ); + + static QString languageName( const QString &langcode ); + + protected: + DocEntry *scanMetaInfoDir( const QString &filename, DocEntry *parent ); + DocEntry *addDirEntry( const QDir &dir, DocEntry *parent ); + void traverseEntry( DocEntry *, DocEntryTraverser * ); + + private: + /*! + DocMetaInfo is a singleton. Private constructor prevents direct + instantisation. + */ + DocMetaInfo(); + + DocEntry::List mDocEntries; + DocEntry::List mSearchEntries; + + DocEntry mRootEntry; + + QStringList mLanguages; + + QMap<QString,QString> mLanguageNames; + + HTMLSearch *mHtmlSearch; + + static bool mLoaded; + + static DocMetaInfo *mSelf; +}; + +} + +#endif +// vim:ts=2:sw=2:et |