From 4aed2c8219774f5d797760606b8489a92ddc5163 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: 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 --- khelpcenter/docmetainfo.h | 80 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 khelpcenter/docmetainfo.h (limited to 'khelpcenter/docmetainfo.h') 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 +#include +#include +#include +#include + +#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 mLanguageNames; + + HTMLSearch *mHtmlSearch; + + static bool mLoaded; + + static DocMetaInfo *mSelf; +}; + +} + +#endif +// vim:ts=2:sw=2:et -- cgit v1.2.3