[Telepathy-commits] [telepathy-qt4/master] Store extended info when self handle has been removed from Group

Olli Salli olli.salli at collabora.co.uk
Mon Oct 20 09:13:35 PDT 2008


---
 TelepathyQt4/cli-channel.cpp |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/TelepathyQt4/cli-channel.cpp b/TelepathyQt4/cli-channel.cpp
index bd509cb..4b4e9b2 100644
--- a/TelepathyQt4/cli-channel.cpp
+++ b/TelepathyQt4/cli-channel.cpp
@@ -74,6 +74,12 @@ struct Channel::Private
     bool groupIsSelfHandleTracked;
     uint groupSelfHandle;
 
+    // Group remove info
+    bool groupRemoved;
+    uint groupRemoveActor;
+    uint groupRemoveReason;
+    QString groupRemoveMessage;
+
     Private(Channel& parent)
         : parent(parent)
     {
@@ -90,6 +96,9 @@ struct Channel::Private
         groupAreHandleOwnersAvailable = false;
         groupIsSelfHandleTracked = false;
         groupSelfHandle = 0;
+        groupRemoved = false;
+        groupRemoveActor = 0;
+        groupRemoveReason = 0;
 
         debug() << "Connecting to Channel::Closed()";
         parent.connect(&parent,
@@ -628,7 +637,12 @@ void Channel::onMembersChanged(const QString& message, const Telepathy::UIntList
         mPriv->groupRemotePending.remove(handle);
 
         if (handle == mPriv->groupSelfHandle) {
-            // TODO expose self remove
+            debug() << " Self handle removed, saving info...";
+
+            mPriv->groupRemoved = true;
+            mPriv->groupRemoveActor = actor;
+            mPriv->groupRemoveReason = reason;
+            mPriv->groupRemoveMessage = message;
         }
     }
 }
-- 
1.5.6.5




More information about the Telepathy-commits mailing list