[SCM] ktp-text-ui packaging branch, master, updated. debian/15.12.1-1-1918-gdf4b0ec

Maximiliano Curia maxy at moszumanska.debian.org
Sat May 28 00:19:31 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-text-ui.git;a=commitdiff;h=3853959

The following commit has been merged in the master branch:
commit 3853959a1a5530135e36fa383e9ea8283df30f71
Author: Francesco Nwokeka <francesco.nwokeka at gmail.com>
Date:   Sat Jul 2 12:26:01 2011 +0200

    Fix group chat crash + debug info for deliveryReport
    
    fixed crash on group chat when joining jabber chatroom.
    Added also information telepathy recieves from deliveryReport.
    
    REVIEW: 101822
    Reviewed By: David Edmundson
---
 app/main.cpp        |  1 +
 lib/chat-widget.cpp | 99 ++++++++++++++++++++++++++++++++++++++---------------
 2 files changed, 73 insertions(+), 27 deletions(-)

diff --git a/app/main.cpp b/app/main.cpp
index 4f47e18..df0b4f7 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -37,6 +37,7 @@ int main(int argc, char *argv[])
                          "0.1");
     aboutData.addAuthor(ki18n("David Edmundson"), ki18n("Developer"), "david at davidedmundson.co.uk");
     aboutData.addAuthor(ki18n("Dominik Schmidt"), ki18n("Developer"), "kde at dominik-schmidt.de");
+    aboutData.addAuthor(ki18n("Francesco Nwokeka"), ki18n("Developer"), "francesco.nwokeka at gmail.com");
     aboutData.setProductName("telepathy/text-chat-ui"); //set the correct name for bug reporting
 
     KCmdLineArgs::init(argc, argv, &aboutData);
diff --git a/lib/chat-widget.cpp b/lib/chat-widget.cpp
index d427ac1..a418af4 100644
--- a/lib/chat-widget.cpp
+++ b/lib/chat-widget.cpp
@@ -131,7 +131,7 @@ ChatWidget::ChatWidget(const Tp::TextChannelPtr & channel, const Tp::AccountPtr
 
     d->chatviewlInitialised = false;
     d->showFormatToolbarAction = new QAction(i18n("Show format options"), this);
-    d->isGroupChat = false;
+    d->isGroupChat = channel->isConference();
 
     d->ui.setupUi(this);
     d->ui.formatToolbar->show();
@@ -475,34 +475,79 @@ bool ChatWidget::isOnTop() const
 void ChatWidget::handleIncomingMessage(const Tp::ReceivedMessage &message)
 {
     kDebug() << title() << message.text();
-    if (d->chatviewlInitialised) {
-        AdiumThemeContentInfo messageInfo(AdiumThemeMessageInfo::RemoteToLocal);
-
-        //debug the message parts (looking for HTML etc)
-//        foreach(Tp::MessagePart part, message.parts())
-//        {
-//            qDebug() << "***";
-//            foreach(QString key, part.keys())
-//            {
-//                qDebug() << key << part.value(key).variant();
-//            }
-//        }
-//      turns out we have no HTML, because no CM supports it yet
-
-        messageInfo.setMessage(message.text());
-        messageInfo.setTime(message.received());
-        messageInfo.setUserIconPath(message.sender()->avatarData().fileName);
-        messageInfo.setSenderDisplayName(message.sender()->alias());
-        messageInfo.setSenderScreenName(message.sender()->id());
-
-        d->ui.chatArea->addContentMessage(messageInfo);
-        d->channel->acknowledge(QList<Tp::ReceivedMessage>() << message);
-
-        if(!isOnTop()) {
-            incrementUnreadMessageCount();
+
+    if (message.isDeliveryReport()) {
+        ///TODO what to do with this info? For now just output to cli
+        // we don't need to show this in chat
+        Tp::ReceivedMessage::DeliveryDetails reportDetails = message.deliveryDetails();
+
+        switch (reportDetails.status()) {
+            case (Tp::DeliveryStatusAccepted):
+                kDebug() << "ChatWidget::handleIncomingMessage DeliveryStatusAccepted";
+                break;
+            case (Tp::DeliveryStatusDeleted):
+                kDebug() << "ChatWidget::handleIncomingMessage DeliveryStatusDeleted";
+                break;
+            case (Tp::DeliveryStatusDelivered):
+                kDebug() << "ChatWidget::handleIncomingMessage DeliveryStatusDelivered";
+                break;
+            case (Tp::DeliveryStatusPermanentlyFailed):
+                kDebug() << "ChatWidget::handleIncomingMessage DeliveryStatusPermanentlyFailed";
+                break;
+            case (Tp::DeliveryStatusRead):
+                kDebug() << "ChatWidget::handleIncomingMessage DeliveryStatusRead";
+                break;
+            case (Tp::DeliveryStatusTemporarilyFailed):
+                kDebug() << "ChatWidget::handleIncomingMessage DeliveryStatusTemporarilyFailed";
+                break;
+            case (Tp::DeliveryStatusUnknown):
+                kDebug() << "ChatWidget::handleIncomingMessage DeliveryStatusUnknown";
+                break;
+        }
+
+        if (reportDetails.isError()) {
+            kDebug() << "ChatWidget::handleIncomingMessage ERROR: " << reportDetails.error();
+            kDebug() << "ChatWidget::handleIncomingMessage DBUS ERROR: " << reportDetails.dbusError();
         }
 
-        Q_EMIT messageReceived();
+        if (reportDetails.hasDebugMessage()) {
+            kDebug() << "ChatWidget::handleIncomingMessage DEBUG MESSAGE: " << reportDetails.debugMessage();
+        }
+    } else {
+        if (d->chatviewlInitialised) {
+            AdiumThemeContentInfo messageInfo(AdiumThemeMessageInfo::RemoteToLocal);
+
+            //debug the message parts (looking for HTML etc)
+    //        foreach(Tp::MessagePart part, message.parts())
+    //        {
+    //            qDebug() << "***";
+    //            foreach(QString key, part.keys())
+    //            {
+    //                qDebug() << key << part.value(key).variant();
+    //            }
+    //        }
+    //      turns out we have no HTML, because no CM supports it yet
+            messageInfo.setMessage(message.text());
+            messageInfo.setTime(message.received());
+
+            if (message.sender() == 0) {
+                // just need this info
+                messageInfo.setSenderDisplayName(message.senderNickname());
+            } else {
+                messageInfo.setUserIconPath(message.sender()->avatarData().fileName);
+                messageInfo.setSenderDisplayName(message.sender()->alias());
+                messageInfo.setSenderScreenName(message.sender()->id());
+            }
+
+            d->ui.chatArea->addContentMessage(messageInfo);
+            d->channel->acknowledge(QList<Tp::ReceivedMessage>() << message);
+
+            if (!isOnTop()) {
+                incrementUnreadMessageCount();
+            }
+
+            Q_EMIT messageReceived();
+        }
     }
 
     //if the window isn't ready, we don't acknowledge the mesage. We process them as soon as we are ready.

-- 
ktp-text-ui packaging



More information about the pkg-kde-commits mailing list