diff -r efe85016a067 -r 7cbcb2896f0e phonebookui/pbkcommonui/inc/cntcollectionlistmodel.h --- a/phonebookui/pbkcommonui/inc/cntcollectionlistmodel.h Wed Jun 23 18:02:44 2010 +0300 +++ b/phonebookui/pbkcommonui/inc/cntcollectionlistmodel.h Tue Jul 06 14:05:47 2010 +0300 @@ -18,13 +18,19 @@ #ifndef CNTCOLLECTIONLISTMODEL_H #define CNTCOLLECTIONLISTMODEL_H +#include #include -#include #include -#include +#include +#include #include +class CntCollectionListModelWorker; +class CntCollectionListModelData; +class CntCollectionItem; + class CntExtensionManager; +class CntExtensionGroupCallback; QTM_BEGIN_NAMESPACE class QContactManager; @@ -32,17 +38,6 @@ QTM_USE_NAMESPACE -class CntCollectionListData : public QSharedData -{ -public: - CntCollectionListData() { } - ~CntCollectionListData() { } - -public: - QList mDataList; - QMap mExtensions; // row, plugin -}; - class CntCollectionListModel : public QAbstractListModel { Q_OBJECT @@ -51,34 +46,38 @@ CntCollectionListModel(QContactManager *manager, CntExtensionManager &extensionManager, QObject *parent = 0); ~CntCollectionListModel(); +public: // from QAbstractItemModel + QVariant data(const QModelIndex& index, int role) const; + int rowCount(const QModelIndex& parent = QModelIndex()) const; + bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); + public: - QVariant data(const QModelIndex &index, int role) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); void removeGroup(int localId); bool isExtensionGroup(const QModelIndex &index); CntViewParameters extensionGroupActivated(int row); void extensionGroupLongPressed(int row, const QPointF& coords, CntExtensionGroupCallback* interface); -#ifdef PBK_UNIT_TEST -public: -#else private: -#endif void doConstruct(); void initializeStaticGroups(); void initializeExtensions(); void initializeUserGroups(); + QVariant displayRoleData(const CntCollectionItem& item) const; + QVariant decorationRoleData(const CntCollectionItem& item) const; + + bool validateRowIndex(const int index) const; + +private slots: + void informationUpdated(int row, const QString& secondRowText, int memberCount); + void onIconReady(const QPixmap& pixmap, void *data, int id, int error); + private: - CntExtensionManager& mExtensionManager; - QSharedDataPointer mDataPointer; - QContactManager *mContactManager; - XQSettingsManager mSettings; - int mFavoriteGroupId; + QSharedDataPointer d; + CntCollectionListModelWorker *mThread; + XQSettingsManager mSettings; + friend class TestCntCollectionListModel; }; #endif // CNTCOLLECTIONLISTMODEL_H - -// EOF