[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9

Maximiliano Curia maxy at moszumanska.debian.org
Mon May 9 09:06:17 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=6baa7b3

The following commit has been merged in the master branch:
commit 6baa7b33006b44c342f136eb60109cde528c3aef
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Mon Jan 28 23:54:40 2013 +0000

    Tidy up MessageProcessor
---
 KTp/abstract-message-filter.cpp | 10 ----------
 KTp/abstract-message-filter.h   | 20 ++++++++++----------
 KTp/message-processor.h         |  8 ++++++--
 KTp/message.cpp                 | 37 ++++++++++++++++++++++++++++++++++---
 KTp/message.h                   | 22 ++++++++++++++++++----
 5 files changed, 68 insertions(+), 29 deletions(-)

diff --git a/KTp/abstract-message-filter.cpp b/KTp/abstract-message-filter.cpp
index 1119038..83351f9 100644
--- a/KTp/abstract-message-filter.cpp
+++ b/KTp/abstract-message-filter.cpp
@@ -29,16 +29,6 @@ AbstractMessageFilter::~AbstractMessageFilter()
 {
 }
 
-void AbstractMessageFilter::filterIncomingMessage(KTp::Message &message)
-{
-    filterMessage(message);
-}
-
-void AbstractMessageFilter::filterOutgoingMessage(KTp::Message &message)
-{
-    filterMessage(message);
-}
-
 void AbstractMessageFilter::filterMessage(KTp::Message &message)
 {
     Q_UNUSED(message)
diff --git a/KTp/abstract-message-filter.h b/KTp/abstract-message-filter.h
index fe85a9a..d5259ee 100644
--- a/KTp/abstract-message-filter.h
+++ b/KTp/abstract-message-filter.h
@@ -25,6 +25,14 @@
 namespace KTp
 {
 
+class MessageContext
+{
+public:
+    Tp::AccountPtr &account;
+    Tp::TextChannelPtr &channel;
+};
+
+
 class KTP_EXPORT AbstractMessageFilter : public QObject
 {
     Q_OBJECT
@@ -34,20 +42,12 @@ class KTP_EXPORT AbstractMessageFilter : public QObject
     virtual ~AbstractMessageFilter();
 
     /** Filter messages to show on the UI recieved by another contact*/
-    virtual void filterIncomingMessage(KTp::Message &message);
-
-    /** Filter messages to show in the UI that you have sent
-        This does _not_ affect the actual message sent, only the visual representation on your screen.
-    */
-    virtual void filterOutgoingMessage(KTp::Message &message);
-
-    /** Filter messages in either direction. Base implementation calls this for messages sent/recived in either direction.*/
-    virtual void filterMessage(KTp::Message &message);
+    virtual void filterMessage(KTp::Message &message, const Tp::AccountPtr &account, const Tp::TextChannelPtr &channel);
 
     /** Scripts that must be included in the <head> section of the html required by this message filter.*/
     virtual QStringList requiredScripts();
 
-    /** Scripts that must be included in the <head> section of the html required by this message filter.*/
+    /** Stylesheets that must be included in the <head> section of the html required by this message filter.*/
     virtual QStringList requiredStylesheets();
 };
 
diff --git a/KTp/message-processor.h b/KTp/message-processor.h
index 47f66e9..3b458ab 100644
--- a/KTp/message-processor.h
+++ b/KTp/message-processor.h
@@ -27,6 +27,7 @@
 #include <KTp/message.h>
 #include <KTp/ktp-export.h>
 
+#include <TelepathyLoggerQt4/Types>
 
 namespace Tp
 {
@@ -53,8 +54,11 @@ class KTP_EXPORT MessageProcessor : public QObject
     QString header();
 
     //text-ui will call this somewhere in handleIncommingMessage just before displaying it
-    KTp::Message processIncomingMessage(KTp::Message message);
-    KTp::Message processOutgoingMessage(KTp::Message message);
+    KTp::Message processIncomingMessage(const Tp::Message &message, const Tp::AccountPtr &account, const Tp::TextChannelPtr &channel);
+    KTp::Message processIncomingMessage(const Tp::ReceivedMessage &message, const Tp::AccountPtr &account, const Tp::TextChannelPtr &channel);
+    KTp::Message processIncomingMessage(const Tpl::TextEventPtr &message, const Tp::AccountPtr &account, const Tp::TextChannelPtr &channel);
+
+//    Tp::PendingSendMessage* sendMessage(const QString textMessage, const Tp::AccountPtr &account, const Tp::TextChannelPtr &channel);
 
   protected:
     explicit MessageProcessor();
diff --git a/KTp/message.cpp b/KTp/message.cpp
index 1c898a9..9b33f73 100644
--- a/KTp/message.cpp
+++ b/KTp/message.cpp
@@ -22,14 +22,18 @@
 #include <KDebug>
 #include <QSharedData>
 
+#include <TelepathyQt/ContactManager>
+#include <TelepathyQt/Connection>
+
+
 using namespace KTp;
 
 class Message::Private : public QSharedData {
 
   public:
-    Private()
-    { };
-
+    Private() :
+        isHistory(false)
+    {};
     QDateTime   sentTime;
     QString     token;
     Tp::ChannelTextMessageType messageType;
@@ -37,6 +41,8 @@ class Message::Private : public QSharedData {
     QString     mainPart;
     QStringList parts;
     QStringList scripts;
+    bool isHistory;
+    MessageDirection direction;
 };
 
 Message::Message(const Tp::Message &original) :
@@ -45,16 +51,31 @@ Message::Message(const Tp::Message &original) :
     d->sentTime = original.sent();
     d->token = original.messageToken();
     d->messageType = original.messageType();
+    d->isHistory = false;
 
     setMainMessagePart(original.text());
 }
 
+Message::Message(const Tp::ReceivedMessage &original)
+{
+    d->sentTime = original.sent();
+    d->token = original.messageToken();
+    d->messageType = original.messageType();
+    d->isHistory = original.isScrollback();
+
+    if (original.sender() && original.sender()->manager()) {
+        d->direction = original.sender()->manager()->connection()->selfContact();
+    }
+}
+
 Message::Message(const Tpl::TextEventPtr &original) :
     d(new Private)
 {
     d->sentTime = original->timestamp();
     d->token = original->messageToken();
     d->messageType = original->messageType();
+    d->isHistory = true;
+    original->
 
     setMainMessagePart(original->message());
 }
@@ -146,3 +167,13 @@ int Message::partsSize() const
 {
     return d->parts.size();
 }
+
+bool Message::isHistory() const
+{
+    return d->isHistory;
+}
+
+MessageDirection Message::direction() const
+{
+    return d->direction();
+}
diff --git a/KTp/message.h b/KTp/message.h
index 82e8e89..3a3b828 100644
--- a/KTp/message.h
+++ b/KTp/message.h
@@ -49,10 +49,12 @@ namespace KTp
  */
 class KTP_EXPORT Message
 {
-
   public:
-    Message(const Tp::Message &original);
-    Message(const Tpl::TextEventPtr &original);
+    enum MessageDirection {
+        LocalToRemote,
+        RemoteToLocal
+    };
+
     Message(const KTp::Message &other);
     virtual ~Message();
 
@@ -134,9 +136,21 @@ class KTP_EXPORT Message
     /*! 
eturn the number of appended parts */
     int partsSize() const;
 
-  private:
+    /** Returns if the message is history (either from logger or scrollack*/
+    bool isHistory() const;
+
+    MessageDirection direction() const;
+
+protected:
+    Message(const Tp::Message &original);
+    Message(const Tp::ReceivedMessage &original);
+    Message(const Tpl::TextEventPtr &original);
+
+
+private:
     class Private;
     QSharedDataPointer<Private> d;
+    friend class MessageProcessor;
 };
 
 }

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list