summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--TelepathyQt4Yell/Models/contact-model-item.cpp8
-rw-r--r--TelepathyQt4Yell/Models/contact-model-item.h1
3 files changed, 10 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index b91b293..7cb3d47 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ Enhancements:
* ...
Fixes:
+ * Fix media call caps update when changed
* ...
telepathy-qt4-yell 0.1.3 (2011-04-22)
diff --git a/TelepathyQt4Yell/Models/contact-model-item.cpp b/TelepathyQt4Yell/Models/contact-model-item.cpp
index ebce924..564d831 100644
--- a/TelepathyQt4Yell/Models/contact-model-item.cpp
+++ b/TelepathyQt4Yell/Models/contact-model-item.cpp
@@ -69,6 +69,9 @@ ContactModelItem::ContactModelItem(const Tp::ContactPtr &contact)
SIGNAL(capabilitiesChanged(Tp::ContactCapabilities)),
SLOT(onChanged()));
connect(contact.data(),
+ SIGNAL(capabilitiesChanged(Tp::ContactCapabilities)),
+ SLOT(onCapabilitiesChanged()));
+ connect(contact.data(),
SIGNAL(locationUpdated(Tp::LocationInfo)),
SLOT(onChanged()));
connect(contact.data(),
@@ -197,4 +200,9 @@ Tp::ContactPtr ContactModelItem::contact() const
return mPriv->mContact;
}
+void ContactModelItem::onCapabilitiesChanged()
+{
+ mPriv->mCallContactCaps.updateRequestableChannelClasses(mPriv->mContact->capabilities().allClassSpecs().bareClasses());
+}
+
}
diff --git a/TelepathyQt4Yell/Models/contact-model-item.h b/TelepathyQt4Yell/Models/contact-model-item.h
index 8f758ce..b6fd72e 100644
--- a/TelepathyQt4Yell/Models/contact-model-item.h
+++ b/TelepathyQt4Yell/Models/contact-model-item.h
@@ -48,6 +48,7 @@ public:
public Q_SLOTS:
void onChanged();
+ void onCapabilitiesChanged();
private:
struct Private;