qcontactlistmodel.h Example File
incomingcalls/qcontactlistmodel.h
#ifndef QCONTACTLISTMODEL_H
#define QCONTACTLISTMODEL_H
#include "qtcontactsglobal.h"
#include "qcontact.h"
#include "qcontactphonenumber.h"
#include <QAbstractListModel>
#include <QSharedData>
QTM_BEGIN_NAMESPACE
class QContactManager;
class QContactFetchRequest;
class QContactLocalIdFetchRequest;
QTM_END_NAMESPACE
QTM_USE_NAMESPACE
class QContactListModelPrivate;
class QContactListModel : public QAbstractListModel
{
Q_OBJECT
public:
QContactListModel(QContactManager* manager = 0, int cacheSize = 50);
QContactListModel(const QContactListModel& other);
QContactListModel& operator=(const QContactListModel& other);
~QContactListModel();
QContactManager* manager() const;
void setManager(QContactManager* manager);
int cacheSize() const;
bool setCacheSize(int size);
enum AsynchronousRequestPolicy {
CancelOnCacheUpdatePolicy = 0,
CancelOnCacheMissPolicy,
CancelOnCompleteCacheMissPolicy,
NeverCancelPolicy
};
AsynchronousRequestPolicy requestPolicy() const;
void setRequestPolicy(AsynchronousRequestPolicy policy = CancelOnCacheMissPolicy);
QString relevantDefinitionName() const;
QString relevantFieldName() const;
bool setRelevantDetailDefinitionAndFieldNames(const QString& definitionName = QContactPhoneNumber::DefinitionName, const QString& fieldName = QContactPhoneNumber::FieldNumber);
enum ContactDataRole {
DisplayLabelRole = Qt::DisplayRole,
IdRole = Qt::UserRole,
AvatarRole = Qt::UserRole+1,
PresenceRole = Qt::UserRole+2,
RelevantDataRole = Qt::UserRole+3
};
int rowCount (const QModelIndex& parent = QModelIndex()) const;
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
bool insertRows(int row, int count, const QModelIndex& parent = QModelIndex());
bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex());
int contactRow(const QContactLocalId& contactId) const;
QContact contact(const QModelIndex& index) const;
private slots:
void contactFetchRequestProgress(QContactFetchRequest* request, bool appendOnly);
void contactIdFetchRequestProgress(QContactLocalIdFetchRequest* request, bool appendOnly);
void backendChanged();
private:
QSharedDataPointer<QContactListModelPrivate> d;
};
#endif
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Trademarks |
Qt Mobility Project 1.0.0 (Technology Preview) |