[SCM] ktp-contact-list packaging branch, master, updated. debian/15.12.1-2-1070-g6c56f91

Maximiliano Curia maxy at moszumanska.debian.org
Sat May 28 00:06:48 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=e85c4f8

The following commit has been merged in the master branch:
commit e85c4f8d12c8544ac5f39ad70d7c4ed3afe9d875
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Wed Jun 22 20:37:07 2011 +0100

    Only list audio/video/file capability on a contact if selfContact can support it.
---
 models/contact-model-item.cpp | 36 ++++++++++++++++++++++++++++--------
 models/tree-node.h            |  5 +++++
 2 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/models/contact-model-item.cpp b/models/contact-model-item.cpp
index f9fb80d..c32b4ff 100644
--- a/models/contact-model-item.cpp
+++ b/models/contact-model-item.cpp
@@ -57,6 +57,9 @@ ContactModelItem::ContactModelItem(const Tp::ContactPtr &contact)
     connect(contact.data(),
             SIGNAL(presenceChanged(Tp::Presence)),
             SLOT(onChanged()));
+    connect(contact->manager()->connection()->selfContact().data(),
+            SIGNAL(capabilitiesChanged(Tp::ContactCapabilities)),
+            SLOT(onChanged()));
     connect(contact.data(),
             SIGNAL(capabilitiesChanged(Tp::ContactCapabilities)),
             SLOT(onChanged()));
@@ -115,18 +118,13 @@ QVariant ContactModelItem::data(int role) const
     case AccountsModel::MediaCallCapabilityRole:
         return mPriv->mContact->capabilities().streamedMediaCalls();
     case AccountsModel::AudioCallCapabilityRole:
-        return mPriv->mContact->capabilities().streamedMediaAudioCalls();
+        return audioCallCapability();
     case AccountsModel::VideoCallCapabilityRole:
-        return mPriv->mContact->capabilities().streamedMediaVideoCalls();
+        return videoCallCapability();
     case AccountsModel::UpgradeCallCapabilityRole:
         return mPriv->mContact->capabilities().upgradingStreamedMediaCalls();
     case AccountsModel::FileTransferCapabilityRole: {
-        foreach(const Tp::RequestableChannelClassSpec & rccSpec, mPriv->mContact->capabilities().allClassSpecs()) {
-            if (rccSpec.supports(Tp::RequestableChannelClassSpec::fileTransfer())) {
-                return true;
-            }
-        }
-        return false;
+        return fileTransferCapability();
     }
     default:
         break;
@@ -174,4 +172,26 @@ Tp::ContactPtr ContactModelItem::contact() const
     return mPriv->mContact;
 }
 
+//return true if both you and the contact can handle audio calls.
+bool ContactModelItem::audioCallCapability() const
+{
+    bool contactCanStreamAudio = mPriv->mContact->capabilities().streamedMediaAudioCalls();
+    bool selfCanStreamAudio = mPriv->mContact->manager()->connection()->selfContact()->capabilities().streamedMediaAudioCalls();
+    return contactCanStreamAudio && selfCanStreamAudio;
+}
+
+bool ContactModelItem::videoCallCapability() const
+{
+    bool contactCanStreamVideo = mPriv->mContact->capabilities().streamedMediaVideoCalls();
+    bool selfCanStreamVideo = mPriv->mContact->manager()->connection()->selfContact()->capabilities().streamedMediaVideoCalls();
+    return contactCanStreamVideo && selfCanStreamVideo;
+}
+
+bool ContactModelItem::fileTransferCapability() const
+{
+    bool contactCanHandleFiles = mPriv->mContact->capabilities().fileTransfers();
+    bool selfCanHandleFiles = mPriv->mContact->manager()->connection()->selfContact()->capabilities().fileTransfers();
+    return contactCanHandleFiles && selfCanHandleFiles;
+}
+
 #include "contact-model-item.moc"
diff --git a/models/tree-node.h b/models/tree-node.h
index 9f675ab..39df936 100644
--- a/models/tree-node.h
+++ b/models/tree-node.h
@@ -58,6 +58,11 @@ Q_SIGNALS:
     void childrenRemoved(TreeNode *parent, int first, int last);
 
 private:
+
+    bool audioCallCapability() const;
+    bool videoCallCapability() const;
+    bool fileTransferCapability() const;
+
     struct Private;
     friend struct Private;
     Private *mPriv;

-- 
ktp-contact-list packaging



More information about the pkg-kde-commits mailing list