45 { |
44 { |
46 Q_OBJECT |
45 Q_OBJECT |
47 friend class TestMobCntModel; |
46 friend class TestMobCntModel; |
48 |
47 |
49 public: |
48 public: |
50 MobCntModel(const QContactFilter& contactFilter = QContactFilter(), |
49 MobCntModel(const QContactFilter& contactFilter = QContactFilter(), |
51 const QList<QContactSortOrder>& contactSortOrders = QList<QContactSortOrder>(), |
50 const QList<QContactSortOrder>& contactSortOrders = QList<QContactSortOrder>(), |
52 bool showMyCard = true, |
51 bool showMyCard = true, |
53 QObject *parent = 0); |
52 QObject *parent = 0); |
54 MobCntModel(QContactManager* manager, |
53 MobCntModel(QContactManager* manager, |
55 const QContactFilter& contactFilter = QContactFilter(), |
54 const QContactFilter& contactFilter = QContactFilter(), |
56 const QList<QContactSortOrder>& contactSortOrders = QList<QContactSortOrder>(), |
55 const QList<QContactSortOrder>& contactSortOrders = QList<QContactSortOrder>(), |
57 bool showMyCard = true, |
56 bool showMyCard = true, |
58 QObject *parent = 0); |
57 QObject *parent = 0); |
59 ~MobCntModel(); |
58 ~MobCntModel(); |
60 |
59 |
61 public: // from QAbstractTableModel/QAbstractItemModel |
60 public: // from QAbstractTableModel/QAbstractItemModel |
62 QVariant data(const QModelIndex &index, int role) const; |
61 QVariant data(const QModelIndex &index, int role) const; |
63 int rowCount(const QModelIndex &parent = QModelIndex()) const; |
62 int rowCount(const QModelIndex &parent = QModelIndex()) const; |
64 |
63 |
65 public: |
64 public: |
66 QContact contact(const QModelIndex &index) const; |
65 QContact contact(const QModelIndex &index) const; |
67 QModelIndex indexOfContact(const QContact &contact) const; |
66 QModelIndex indexOfContact(const QContact &contact) const; |
68 QContactManager& contactManager() const; |
67 QContactManager& contactManager() const; |
69 void setFilterAndSortOrder(const QContactFilter& contactFilter = QContactFilter(), |
68 void setFilterAndSortOrder(const QContactFilter& contactFilter = QContactFilter(), |
70 const QList<QContactSortOrder>& contactSortOrders = QList<QContactSortOrder>()); |
69 const QList<QContactSortOrder>& contactSortOrders = QList<QContactSortOrder>()); |
71 void showMyCard(bool enabled); |
70 void showMyCard(bool enabled); |
72 bool myCardStatus() const; |
71 bool myCardStatus() const; |
73 QContactLocalId myCardId() const; |
72 QContactLocalId myCardId() const; |
74 |
73 |
75 private: |
74 private: |
76 // Construction helpers |
75 // Construction helpers |
77 int doConstruct(); |
76 int doConstruct(); |
78 int initializeData(); |
77 int initializeData(); |
79 void updateContactIdsArray(); |
78 void updateContactIdsArray(); |
80 |
79 |
81 // Data manipulation |
80 // Data manipulation |
82 QContact contact(int row) const; |
81 QContact contact(int row) const; |
83 |
82 |
84 // Utility |
83 // Utility |
85 bool validRowId(int row) const; |
84 bool validRowId(int row) const; |
86 int rowId(const QContactLocalId &contactId) const; |
85 int rowId(const QContactLocalId &contactId) const; |
87 QVariant dataForDisplayRole(int row) const; |
86 QVariant dataForDisplayRole(int row) const; |
88 QList< QList<int> > findIndexes(const QList<QContactLocalId>& contactIds); |
87 QList< QList<int> > findIndexes(const QList<QContactLocalId>& contactIds); |
89 |
|
90 public slots: |
|
91 void updateContactIcon(int index); |
|
92 |
88 |
93 protected slots: |
89 protected slots: |
94 void handleAdded(const QList<QContactLocalId>& contactIds); |
90 void handleAdded(const QList<QContactLocalId>& contactIds); |
95 void handleChanged(const QList<QContactLocalId>& contactIds); |
91 void handleChanged(const QList<QContactLocalId>& contactIds); |
96 void handleRemoved(const QList<QContactLocalId>& contactIds); |
92 void handleRemoved(const QList<QContactLocalId>& contactIds); |
97 void handleMyCardChanged(const QContactLocalId& oldId, const QContactLocalId& newId); |
93 void handleMyCardChanged(const QContactLocalId& oldId, const QContactLocalId& newId); |
|
94 void handleContactInfoUpdated(QContactLocalId contactId); |
98 |
95 |
99 private: |
96 private: |
100 QSharedDataPointer<MobCntModelData> d; |
97 QSharedDataPointer<MobCntModelData> d; |
101 MobCntIconManager *mIconManager; |
|
102 HbIcon mDefaultIcon; |
98 HbIcon mDefaultIcon; |
103 HbIcon mDefaultMyCardIcon; |
99 HbIcon mDefaultMyCardIcon; |
104 }; |
100 }; |
105 |
101 |
106 #endif |
102 #endif |