[SCM] ktp-contact-applet packaging branch, master, updated. debian/15.12.1-1-966-gde83ac5
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:11:29 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-desktop-applets.git;a=commitdiff;h=e1485be
The following commit has been merged in the master branch:
commit e1485beb1043d11062a25adcfd69da40903383b5
Author: Francesco Nwokeka <francesco.nwokeka at gmail.com>
Date: Sat Aug 20 12:32:43 2011 +0200
Connected the "startTextChat" signal.
Plasmoid now starts chat with selected contact
---
src/contactWrapper.cpp | 31 ++++++++++++++++++++++++++++++-
src/contactWrapper.h | 3 +++
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/src/contactWrapper.cpp b/src/contactWrapper.cpp
index bf513c0..0adeb63 100644
--- a/src/contactWrapper.cpp
+++ b/src/contactWrapper.cpp
@@ -20,8 +20,11 @@
#include "contactWrapper.h"
#include <TelepathyQt4/AvatarData>
+#include <TelepathyQt4/PendingChannelRequest>
#include <TelepathyQt4/Presence>
+#define PREFERRED_TEXTCHAT_HANDLER "org.freedesktop.Telepathy.Client.KDE.TextUi"
+
ContactWrapper::ContactWrapper(QObject* parent)
: QObject(parent)
, m_contact(0)
@@ -61,6 +64,22 @@ QString ContactWrapper::displayName() const
}
}
+void ContactWrapper::genericOperationFinished(Tp::PendingOperation* op)
+{
+ /// TODO send notification on error. Why doesn't the static method work??
+ if (op->isError()) {
+ QString errorMsg(op->errorName() + ": " + op->errorMessage());
+
+// KNotification::event("telepathyError", errorMsg);
+//
+// KNotification *notification = new KNotification("telepathyError", );
+// KAboutData aboutData("ktelepathy",0,KLocalizedString(),0);
+// notification->setComponentData(KComponentData(aboutData));
+// notification->setText(errorMsg);
+// notification->sendEvent();
+ }
+}
+
QString ContactWrapper::presenceStatus() const
{
if (m_contact) {
@@ -89,6 +108,14 @@ void ContactWrapper::startAudioCall()
void ContactWrapper::startTextChat()
{
qDebug("ContactWrapper::startTextChat");
+ if (!m_account) {
+ return;
+ }
+
+ Tp::PendingChannelRequest* channelRequest = m_account->ensureTextChat(m_contact,
+ QDateTime::currentDateTime(),
+ PREFERRED_TEXTCHAT_HANDLER);
+ connect(channelRequest, SIGNAL(finished(Tp::PendingOperation*)), this, SLOT(genericOperationFinished(Tp::PendingOperation*)));
}
void ContactWrapper::setContact(const Tp::ContactPtr& newContact, const Tp::AccountPtr &relatedAccount)
@@ -110,6 +137,8 @@ void ContactWrapper::setContact(const Tp::ContactPtr& newContact, const Tp::Acco
void ContactWrapper::undoConnects()
{
- disconnect(m_contact.data(), 0, 0, 0);
+ if (m_contact) {
+ disconnect(m_contact.data(), 0, 0, 0);
+ }
}
diff --git a/src/contactWrapper.h b/src/contactWrapper.h
index 6474555..6964809 100644
--- a/src/contactWrapper.h
+++ b/src/contactWrapper.h
@@ -64,6 +64,9 @@ signals:
void newContactSet();
void presenceChanged();
+private slots:
+ void genericOperationFinished(Tp::PendingOperation *op);
+
private:
void setupConnects();
void undoConnects();
--
ktp-contact-applet packaging
More information about the pkg-kde-commits
mailing list