[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/network/kcall
From: George Kiagiadakis <gkiagiad () csd ! uoc ! gr>
Date: 2009-06-22 14:09:31
Message-ID: 1245679771.700036.19110.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 985254 by gkiagia:
Implement a model for displaying the members of a group and a dock widget
for the call window to display the participants of the call using this model.
M +4 -4 contactlistcontroller.cpp
M +3 -1 kcall_handler/CMakeLists.txt
M +9 -0 kcall_handler/callwindow.cpp
M +1 -0 kcall_handler/callwindow.h
M +4 -0 kcall_handler/channelhandler.cpp
M +2 -0 kcall_handler/channelhandler.h
A kcall_handler/participantsdock.cpp kcall_handler/callwindow.h#985253 \
[License: GPL (v2+)] A kcall_handler/participantsdock.h \
kcall_handler/callwindow.h#985253 [License: GPL (v2+)] M +3 -1 \
kcall_handler/volumedock.cpp M +1 -0 libkcallprivate/CMakeLists.txt
M +2 -2 libkcallprivate/accountitem.cpp
M +3 -3 libkcallprivate/contactitem.cpp
M +1 -1 libkcallprivate/contactitem.h
M +0 -2 libkcallprivate/contactsmodel.h
A libkcallprivate/groupmembersmodel.cpp [License: LGPL (v2.1+)]
A libkcallprivate/groupmembersmodel.h [License: LGPL (v2.1+)]
M +17 -0 libkcallprivate/treemodel.h
--- trunk/playground/network/kcall/contactlistcontroller.cpp #985253:985254
@@ -80,7 +80,7 @@
return;
}
- QByteArray type = index.data(ContactsModel::ItemTypeRole).toByteArray();
+ QByteArray type = index.data(KCall::ItemTypeRole).toByteArray();
d->currentIndex = index;
if ( type == "contact" ) {
d->contactMenu->popup(d->view->mapToGlobal(pos));
@@ -92,11 +92,11 @@
void ContactListController::callContact()
{
Q_ASSERT(d->currentIndex.isValid());
- Tp::ContactPtr contact = \
d->currentIndex.data(ContactsModel::ObjectPtrRole).value<Tp::ContactPtr>(); + \
Tp::ContactPtr contact = \
d->currentIndex.data(KCall::ObjectPtrRole).value<Tp::ContactPtr>(); Q_ASSERT( \
!contact.isNull() );
//TODO this should be removed when Tp::Contact has support for requesting \
channels directly
- Tp::AccountPtr account = \
d->currentIndex.parent().data(ContactsModel::ObjectPtrRole).value<Tp::AccountPtr>(); \
+ Tp::AccountPtr account = \
d->currentIndex.parent().data(KCall::ObjectPtrRole).value<Tp::AccountPtr>(); \
Q_ASSERT( !account.isNull() );
QVariantMap request;
@@ -123,7 +123,7 @@
presence.status = QLatin1String(statuses[statusIndex]);
Q_ASSERT(d->currentIndex.isValid());
- Tp::AccountPtr account = \
d->currentIndex.data(ContactsModel::ObjectPtrRole).value<Tp::AccountPtr>(); + \
Tp::AccountPtr account = \
d->currentIndex.data(KCall::ObjectPtrRole).value<Tp::AccountPtr>(); Q_ASSERT( \
!account.isNull() );
account->setRequestedPresence(presence);
--- trunk/playground/network/kcall/kcall_handler/CMakeLists.txt #985253:985254
@@ -58,6 +58,7 @@
abstractmediahandler.cpp
volumewidget.cpp
volumedock.cpp
+ participantsdock.cpp
farsight/mediadevices.cpp
farsight/mediahandler.cpp
)
@@ -68,7 +69,8 @@
${TELEPATHY_QT4_FARSIGHT_LIBRARIES}
${GSTREAMER_LIBRARIES}
${GOBJECT_LIBRARIES}
- ${TPFARSIGHT_LIBRARIES})
+ ${TPFARSIGHT_LIBRARIES}
+ kcallprivate)
install(TARGETS kcall_handler ${INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES callwindowui.rc DESTINATION ${DATA_INSTALL_DIR}/kcall_handler)
--- trunk/playground/network/kcall/kcall_handler/callwindow.cpp #985253:985254
@@ -18,6 +18,7 @@
#include "volumedock.h"
#include "volumewidget.h"
#include "abstractmediahandler.h"
+#include "participantsdock.h"
#include <QtCore/QMetaObject>
#include <QtGui/QCloseEvent>
#include <QtGui/QLabel>
@@ -49,6 +50,8 @@
SLOT(setState(ChannelHandler::State)));
connect(d->channelHandler, SIGNAL(mediaHandlerCreated(AbstractMediaHandler*)),
SLOT(onMediaHandlerCreated(AbstractMediaHandler*)));
+ connect(d->channelHandler, SIGNAL(groupMembersModelCreated(GroupMembersModel*)),
+ SLOT(onGroupMembersModelCreated(GroupMembersModel*)));
setupUi();
@@ -132,6 +135,12 @@
addDockWidget(Qt::BottomDockWidgetArea, d->volumeDock);
}
+void CallWindow::onGroupMembersModelCreated(GroupMembersModel *model)
+{
+ ParticipantsDock *participantsDock = new ParticipantsDock(model, this);
+ addDockWidget(Qt::RightDockWidgetArea, participantsDock);
+}
+
void CallWindow::onCallDurationTimerTimeout()
{
d->callDuration = d->callDuration.addSecs(1);
--- trunk/playground/network/kcall/kcall_handler/callwindow.h #985253:985254
@@ -35,6 +35,7 @@
void setState(ChannelHandler::State state);
void setStatus(const QString & msg);
void onMediaHandlerCreated(AbstractMediaHandler *handler);
+ void onGroupMembersModelCreated(GroupMembersModel *model);
void onCallDurationTimerTimeout();
protected:
--- trunk/playground/network/kcall/kcall_handler/channelhandler.cpp #985253:985254
@@ -16,6 +16,7 @@
*/
#include "channelhandler.h"
#include "abstractmediahandler.h"
+#include "../libkcallprivate/groupmembersmodel.h"
#include <KDebug>
#include <KLocalizedString>
#include <TelepathyQt4/Connection>
@@ -74,6 +75,9 @@
emit mediaHandlerCreated(d->mediaHandler);
}
+ GroupMembersModel *model = new \
GroupMembersModel(Tp::ChannelPtr::staticCast(d->channel), this); + emit \
groupMembersModelCreated(model); +
connect(d->channel.data(),
SIGNAL(streamAdded(Tp::MediaStreamPtr)),
SLOT(onStreamAdded(Tp::MediaStreamPtr)));
--- trunk/playground/network/kcall/kcall_handler/channelhandler.h #985253:985254
@@ -20,6 +20,7 @@
#include <QtCore/QObject>
#include <TelepathyQt4/StreamedMediaChannel>
class AbstractMediaHandler;
+class GroupMembersModel;
class ChannelHandler : public QObject
{
@@ -37,6 +38,7 @@
signals:
void stateChanged(ChannelHandler::State newState);
void mediaHandlerCreated(AbstractMediaHandler *handler);
+ void groupMembersModelCreated(GroupMembersModel *model);
private:
void setState(State s);
--- trunk/playground/network/kcall/kcall_handler/volumedock.cpp #985253:985254
@@ -17,6 +17,7 @@
#include "volumedock.h"
#include "volumewidget.h"
#include <QtGui/QHBoxLayout>
+#include <KLocalizedString>
struct VolumeDock::Private
{
@@ -25,8 +26,9 @@
};
VolumeDock::VolumeDock(QWidget *parent)
- : QDockWidget(parent), d(new Private)
+ : QDockWidget(i18n("Volume"), parent), d(new Private)
{
+ setObjectName("VolumeDock");
QWidget *mainWidget = new QWidget(this);
QHBoxLayout *layout = new QHBoxLayout(mainWidget);
d->inputVolumeWidget = new VolumeWidget(mainWidget);
--- trunk/playground/network/kcall/libkcallprivate/CMakeLists.txt #985253:985254
@@ -7,6 +7,7 @@
pendingcontacts.cpp
accountitem.cpp
contactitem.cpp
+ groupmembersmodel.cpp
)
kde4_add_library(kcallprivate SHARED ${libkcallprivate_SRCS})
--- trunk/playground/network/kcall/libkcallprivate/accountitem.cpp #985253:985254
@@ -44,9 +44,9 @@
return m_account->displayName();
case Qt::DecorationRole:
return iconForPresence((Tp::ConnectionPresenceType)m_account->currentPresence().type);
- case ContactsModel::ItemTypeRole:
+ case KCall::ItemTypeRole:
return QByteArray("account");
- case ContactsModel::ObjectPtrRole:
+ case KCall::ObjectPtrRole:
return QVariant::fromValue(m_account);
default:
return QVariant();
--- trunk/playground/network/kcall/libkcallprivate/contactitem.cpp #985253:985254
@@ -16,7 +16,7 @@
*/
#include "contactitem.h"
-ContactItem::ContactItem(Tp::ContactPtr contact, TreeModelItem *parent, TreeModel \
*model) +ContactItem::ContactItem(const Tp::ContactPtr & contact, TreeModelItem \
*parent, TreeModel *model) : ContactsModelItem(parent, model), m_contact(contact)
{
connect(m_contact.data(), SIGNAL(aliasChanged(QString)), \
SLOT(emitDataChange())); @@ -31,9 +31,9 @@
return m_contact->alias();
case Qt::DecorationRole:
return iconForPresence((Tp::ConnectionPresenceType)m_contact->presenceType());
- case ContactsModel::ItemTypeRole:
+ case KCall::ItemTypeRole:
return QByteArray("contact");
- case ContactsModel::ObjectPtrRole:
+ case KCall::ObjectPtrRole:
return QVariant::fromValue(m_contact);
default:
return QVariant();
--- trunk/playground/network/kcall/libkcallprivate/contactitem.h #985253:985254
@@ -23,7 +23,7 @@
class ContactItem : public ContactsModelItem
{
public:
- ContactItem(Tp::ContactPtr contact, TreeModelItem *parent, TreeModel *model);
+ ContactItem(const Tp::ContactPtr & contact, TreeModelItem *parent, TreeModel \
*model);
virtual QVariant data(int role) const;
--- trunk/playground/network/kcall/libkcallprivate/contactsmodel.h #985253:985254
@@ -39,8 +39,6 @@
{
Q_OBJECT
public:
- enum Role { ItemTypeRole = Qt::UserRole, ObjectPtrRole, };
-
explicit ContactsModel(QObject *parent = 0);
public slots:
--- trunk/playground/network/kcall/libkcallprivate/treemodel.h #985253:985254
@@ -75,4 +75,21 @@
TreeModelItem *m_root;
};
+namespace KCall
+{
+ enum ExtraModelRoles {
+ ItemTypeRole = Qt::UserRole,
+ ObjectPtrRole,
+ GroupMembersListTypeRole
+ };
+
+ enum GroupMembersListType {
+ CurrentMembers,
+ LocalPendingMembers,
+ RemotePendingMembers
+ };
+}
+
+Q_DECLARE_METATYPE(KCall::GroupMembersListType)
+
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic