diff -r 2eacb6118286 -r ba76fc04e6c2 phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.h Fri Jun 04 10:19:18 2010 +0100 @@ -0,0 +1,70 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Model for conference participant list. +* +*/ + +#ifndef BUBBLEPARTICIPANTLISTMODEL_H +#define BUBBLEPARTICIPANTLISTMODEL_H + +#include +#include + +class Participant; // helper class + +class BubbleParticipantListModel : public QAbstractListModel +{ + Q_OBJECT + +public: + BubbleParticipantListModel(); + ~BubbleParticipantListModel(); + + void addParticipant( + int bubbleId, + const QString &name, + int state, + bool ciphering); + + void removeParticipant( + int bubbleId); + + int bubbleId(int row); + + void reset(); + + int rowCount(const QModelIndex &parent=QModelIndex()) const; + + QVariant data( const QModelIndex &index, + int role = Qt::DisplayRole ) const; + +private: + inline bool isDataChanged( + const Participant& participant, + const QString &name, + int state, + bool ciphering) const; + + inline void updateData( + Participant& participant, + const QString &name, + int state, + bool ciphering) const; + +private: + QList mParticipants; +}; + + +#endif // BUBBLEPARTICIPANTLISTMODEL_H