[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