diff -r 0d1adf67ec1b -r 12f60d9a73b3 userguide/inc/HelpDataProvider.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/userguide/inc/HelpDataProvider.h Tue Aug 31 15:06:12 2010 +0300 @@ -0,0 +1,77 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef HELPDATAPROVIDER_H +#define HELPDATAPROVIDER_H + +class HelpModel; +class HelpItems; +class HelpProxyModel; +class QStandardItemModel; +class HelpStandardItem; + +class HelpDataProvider +{ +private: + HelpDataProvider(); + ~HelpDataProvider(); + +public: + static HelpDataProvider* instance(); + static void destroyInstance(); + +public: + void createHelpCategory(); + QAbstractItemModel* getCategoryData(); + QAbstractItemModel* getSearchData(const QString& key=QString()); + void setHelpContentUrl(const QString& uid, const QString& href); + void getHelpContentData(QString& content, QString& url); + +private: + //construct 1st category + void constructCategory(); + //construct help category in rom + void constructBuiltInCategory(const QString& path, const QStringList& uidList, const QStringList& titleList); + //construct help category for 3rd party application + void constructAppCategory(const QString& path, QStringList& uidList); + void constructBuiltInCategoryItem(const QString& uid, const QString& title); + + //construct 2nd category + void constructCategory2(HelpStandardItem* itemParent); + void constructCategory2Item(HelpStandardItem* itemParent); + + //construct keyword list + void constructKeywordModel(const QString& title, const QString& uid, const QString& href); + + //parse xml + void parseCategoryIndexXml(const QString& path, QStringList& uidList, QStringList& titleList); + void parseCategory2IndexXml(const QString& path, QStringList& hrefList, QStringList& titleList); + void parseBuiltInMetaxml(const QString& path, int& priority); + void parseAppMetaxml(const QString& path, QString& title); + +private: + QStandardItemModel* mHelpModel; //category tree model + QStandardItemModel* mKeywordModel; //keyword list model + HelpProxyModel* mSearhResultModel; //search result proxy model of keyword model + HelpStandardItem* mAppItem; + QString mHelpContentRoot; + QString mLastSrhKey; + QStringList mUpdateUidList; + +}; + +#endif //HELPDATAPROVIDER_H