| author | hgs | 
| Tue, 08 Jun 2010 18:34:07 +0800 | |
| changeset 26 | 97d7f0705d0a | 
| parent 24 | bce8d4d2cc72 | 
| child 27 | 0a93cba9d57a | 
| permissions | -rw-r--r-- | 
| 13 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | /* | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | * All rights reserved. | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | * This component and the accompanying materials are made available | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | * under the terms of "Eclipse Public License v1.0" | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | * which accompanies this distribution, and is available | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | * | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | * Initial Contributors: | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | * Nokia Corporation - initial contribution. | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | * | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | * Contributors: | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | * | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | * Description: | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | * | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | */ | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | #ifndef HELPDATAPROVIDER_H | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | #define HELPDATAPROVIDER_H | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | class HelpModel; | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | class HelpItems; | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | class HelpProxyModel; | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | class QStandardItemModel; | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | class HelpStandardItem; | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | class HelpDataProvider | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | {	
 | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | private: | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | HelpDataProvider(); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | ~HelpDataProvider(); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | public: | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | static HelpDataProvider* instance(); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | static void destroyInstance(); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | public: | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | QAbstractItemModel* getCategoryData(); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | QAbstractItemModel* getSearchData(const QString& key=QString()); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | void setHelpContentUrl(const QString& uid, const QString& href); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | void getHelpContentData(QString& content, QString& url); | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | private: | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | void createHelpCategory(); | 
| 24 | 45 | |
| 46 | //construct 1st category | |
| 47 | void constructCategory(); | |
| 48 | //construct help category in rom | |
| 49 | void constructBuiltInCategory(const QString& path, const QStringList& uidList, const QStringList& titleList); | |
| 50 | //construct help category for 3rd party application | |
| 51 | void constructAppCategory(const QString& path, QStringList& uidList); | |
| 52 | void constructBuiltInCategoryItem(const QString& uid, const QString& title); | |
| 53 | ||
| 54 | //construct 2nd category | |
| 55 | void constructCategory2(HelpStandardItem* itemParent); | |
| 56 | void constructCategory2Item(HelpStandardItem* itemParent); | |
| 57 | ||
| 58 | //construct keyword list | |
| 15 
c0dfc135a46c
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
13diff
changeset | 59 | void constructKeywordModel(const QString& title, const QString& uid, const QString& href); | 
| 24 | 60 | |
| 61 | //parse xml | |
| 62 | void parseCategoryIndexXml(const QString& path, QStringList& uidList, QStringList& titleList); | |
| 63 | void parseCategory2IndexXml(const QString& path, QStringList& hrefList, QStringList& titleList); | |
| 26 | 64 | void parseBuiltInMetaxml(const QString& path, int& priority); | 
| 24 | 65 | void parseAppMetaxml(const QString& path, QString& title); | 
| 13 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | private: | 
| 15 
c0dfc135a46c
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
13diff
changeset | 68 | QStandardItemModel* mHelpModel; //category tree model | 
| 
c0dfc135a46c
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
13diff
changeset | 69 | QStandardItemModel* mKeywordModel; //keyword list model | 
| 24 | 70 | HelpProxyModel* mSearhResultModel; //search result proxy model of keyword model | 
| 71 | HelpStandardItem* mAppItem; | |
| 15 
c0dfc135a46c
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
13diff
changeset | 72 | QString mHelpContentRoot; | 
| 
c0dfc135a46c
Revision: 201015
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
13diff
changeset | 73 | QString mLastSrhKey; | 
| 24 | 74 | QStringList mUpdateUidList; | 
| 13 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | }; | 
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | |
| 
1eb8015a8491
Revision: 201011
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 | #endif //HELPDATAPROVIDER_H |