phonebookengines/mobcntmodel/inc/mobcntmodel.h
changeset 37 fd64c38c277d
parent 31 2a11b5b00470
equal deleted inserted replaced
31:2a11b5b00470 37:fd64c38c277d
    28 
    28 
    29 QTM_USE_NAMESPACE
    29 QTM_USE_NAMESPACE
    30 
    30 
    31 class MobCntModelData;
    31 class MobCntModelData;
    32 class MobCntModel;
    32 class MobCntModel;
    33 class MobCntIconManager;
       
    34 
    33 
    35 /*!
    34 /*!
    36  * MobCntModel is a list model view for contacts database
    35  * MobCntModel is a list model view for contacts database
    37  * content. It will cache contacts database entries to be
    36  * content. It will cache contacts database entries to be
    38  * displayed on the screen.
    37  * displayed on the screen.
    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