[Telepathy-commits] [telepathy-qt4/master] Channel: Added groupCanAdd/Remove/RescindChanged signals.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Tue Feb 10 13:59:07 PST 2009


---
 TelepathyQt4/Client/channel.cpp |   18 ++++++++++++++++++
 TelepathyQt4/Client/channel.h   |    4 ++++
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/TelepathyQt4/Client/channel.cpp b/TelepathyQt4/Client/channel.cpp
index 73077ff..f03b9c7 100644
--- a/TelepathyQt4/Client/channel.cpp
+++ b/TelepathyQt4/Client/channel.cpp
@@ -1992,6 +1992,24 @@ void Channel::onGroupFlagsChanged(uint added, uint removed)
         debug() << "Emitting groupFlagsChanged with" << mPriv->groupFlags <<
             "value" << added << "added" << removed << "removed";
         emit groupFlagsChanged(mPriv->groupFlags, added, removed);
+
+        if (added & Telepathy::ChannelGroupFlagCanAdd ||
+            removed & Telepathy::ChannelGroupFlagCanAdd) {
+            debug() << "Emitting groupCanAddContactsChanged";
+            emit groupCanAddContactsChanged(groupCanAddContacts());
+        }
+
+        if (added & Telepathy::ChannelGroupFlagCanRemove ||
+            removed & Telepathy::ChannelGroupFlagCanRemove) {
+            debug() << "Emitting groupCanRemoveContactsChanged";
+            emit groupCanRemoveContactsChanged(groupCanRemoveContacts());
+        }
+
+        if (added & Telepathy::ChannelGroupFlagCanRescind ||
+            removed & Telepathy::ChannelGroupFlagCanRescind) {
+            debug() << "Emitting groupCanRescindContactsChanged";
+            emit groupCanRescindContactsChanged(groupCanRescindContacts());
+        }
     }
 }
 
diff --git a/TelepathyQt4/Client/channel.h b/TelepathyQt4/Client/channel.h
index c10fab4..a3f2881 100644
--- a/TelepathyQt4/Client/channel.h
+++ b/TelepathyQt4/Client/channel.h
@@ -148,6 +148,10 @@ public:
 Q_SIGNALS:
     void groupFlagsChanged(uint flags, uint added, uint removed);
 
+    void groupCanAddContactsChanged(bool canAddContacts);
+    void groupCanRemoveContactsChanged(bool canRemoveContacts);
+    void groupCanRescindContactsChanged(bool canRescindContacts);
+
     void groupMembersChanged(
             const QList<QSharedPointer<Contact> > &groupMembersAdded,
             const QList<QSharedPointer<Contact> > &groupLocalPendingMembersAdded,
-- 
1.5.6.5




More information about the telepathy-commits mailing list