[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:24:04 UTC 2016


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

The following commit has been merged in the master branch:
commit be53e4ba27a7018f9e9e39a387a27d62c1503042
Author: Dan Vrátil <dvratil at redhat.com>
Date:   Thu Jul 25 23:01:37 2013 +0200

    Make TelepathyLoggerQt an optional dependency
    
    REVIEW: 111683
---
 CMakeLists.txt           | 15 ++++++---
 lib/CMakeLists.txt       | 13 +++++++-
 lib/chat-widget.cpp      |  3 --
 lib/logmanager.cpp       | 66 ++++++++++++++++++++++---------------
 lib/logmanager.h         | 15 ++-------
 lib/logmanager_dummy.cpp | 84 ++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 148 insertions(+), 48 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d16dc7..55fc4b9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,13 +15,15 @@ set(KDE_MIN_VERSION "4.4.75")
 find_package (KDE4 ${KDE_MIN_VERSION} REQUIRED)
 find_package (TelepathyQt4 0.9.1 REQUIRED)
 find_package (KTp REQUIRED)
-find_package (TelepathyLoggerQt4 0.7.95 REQUIRED)
+find_package (TelepathyLoggerQt4 0.7.95 QUIET)
+
+macro_log_feature(TELEPATHY_LOGGER_QT4_FOUND "TelepatyLoggerQt4" "Qt bindings for TelepathyLogger. This is needed to provide access to chat logs. HIGHLY recommended" "http://projects.kde.org/telepathy-logger-qt" FALSE "" "")
+macro_display_feature_log()
 
 
 # FUTURE: When we can depend on KDE 4.10, use emoticoncontexteditaction from here
 # find_package(KdepimLibs 4.10 REQUIRED)
 
-
 include (CheckIncludeFiles)
 include (KDE4Defaults)
 include (MacroLibrary)
@@ -30,22 +32,25 @@ include_directories (${KDE4_INCLUDES}
                      ${TELEPATHY_QT4_INCLUDE_DIR}
                      ${QT_QTWEBKIT_INCLUDES}
                      ${KTP_INCLUDE_DIR}
-                     ${TELEPATHY_LOGGER_QT4_INCLUDE_DIRS}
                      "${CMAKE_CURRENT_SOURCE_DIR}/lib"
 )
 
 add_definitions (${KDE4_DEFINITIONS}
-                 ${TELEPATHY_LOGGER_QT4_DEFINITIONS}
                  -DQT_NO_CAST_FROM_ASCII
                  -DQT_NO_KEYWORDS)
 
 configure_file(version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h @ONLY)
 include_directories(${CMAKE_CURRENT_BINARY_DIR})
 
+if (TELEPATHY_LOGGER_QT4_FOUND)
+    add_definitions(${TELEPATHY_LOGGER_QT4_DEFINITIONS} -DHAVE_TPLOGGERQT)
+    include_directories(${TELEPATHY_LOGGER_QT4_INCLUDE_DIRS})
+    add_subdirectory(logviewer)
+endif (TELEPATHY_LOGGER_QT4_FOUND)
+
 add_subdirectory(lib)
 add_subdirectory(app)
 add_subdirectory(config)
 add_subdirectory(data)
 add_subdirectory(adiumxtra-protocol-handler)
-add_subdirectory(logviewer)
 add_subdirectory(filters)
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 80a3eff..c73de90 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -13,7 +13,6 @@ set(ktpchat_SRCS
         chat-style-plist-file-reader.cpp
         chat-text-edit.cpp
         chat-search-bar.cpp
-        logmanager.cpp
         notify-filter.cpp
         text-chat-config.cpp
 )
@@ -48,6 +47,18 @@ set(ktpchat_UI
     chat-widget.ui
 )
 
+if (TELEPATHY_LOGGER_QT4_FOUND)
+    set(ktpchat_SRCS
+        ${ktpchat_SRCS}
+        logmanager.cpp
+        )
+else (TELEPATHY_LOGGER_QT4_FOUND)
+    set(ktpchat_SRCS
+        ${ktpchat_SRCS}
+        logmanager_dummy.cpp
+        )
+endif (TELEPATHY_LOGGER_QT4_FOUND)
+
 kde4_add_ui_files(ktpchat_SRCS ${ktpchat_UI})
 
 kde4_add_library(ktpchat SHARED ${ktpchat_SRCS})
diff --git a/lib/chat-widget.cpp b/lib/chat-widget.cpp
index 74cee48..25602ba 100644
--- a/lib/chat-widget.cpp
+++ b/lib/chat-widget.cpp
@@ -51,9 +51,6 @@
 #include <TelepathyQt/Presence>
 #include <TelepathyQt/PendingChannelRequest>
 #include <TelepathyQt/OutgoingFileTransferChannel>
-#include <TelepathyLoggerQt4/TextEvent>
-#include <TelepathyLoggerQt4/LogWalker>
-#include <TelepathyLoggerQt4/PendingEvents>
 
 #include <KTp/presence.h>
 #include <KTp/actions.h>
diff --git a/lib/logmanager.cpp b/lib/logmanager.cpp
index 6cd1aec..946b083 100644
--- a/lib/logmanager.cpp
+++ b/lib/logmanager.cpp
@@ -38,14 +38,28 @@
 #include <TelepathyQt/TextChannel>
 #include <TelepathyQt/ReceivedMessage>
 
+class LogManager::Private
+{
+  public:
+    Private(): scrollbackLength(10)
+    {
+    }
+
+    Tp::AccountPtr account;
+    Tp::TextChannelPtr textChannel;
+    Tpl::EntityPtr contactEntity;
+    Tpl::LogManagerPtr logManager;
+    int scrollbackLength;
+};
+
 LogManager::LogManager(QObject *parent)
     : QObject(parent),
-    m_scrolbackLength(10)
+    d(new Private)
 {
     Tpl::init();
 
-    m_logManager = Tpl::LogManager::instance();
-    if (m_logManager.isNull()) {
+    d->logManager = Tpl::LogManager::instance();
+    if (d->logManager.isNull()) {
         qWarning() << "LogManager not found";
         Q_ASSERT(false);
     }
@@ -53,65 +67,65 @@ LogManager::LogManager(QObject *parent)
 
 LogManager::~LogManager()
 {
-
+    delete d;
 }
 
 bool LogManager::exists() const
 {
-    if (m_account.isNull() || m_textChannel.isNull() ) {
+    if (d->account.isNull() || d->textChannel.isNull() ) {
         return false;
     }
 
     Tpl::EntityPtr contactEntity;
-    if (m_textChannel->targetHandleType() == Tp::HandleTypeContact) {
-        contactEntity = Tpl::Entity::create(m_textChannel->targetContact()->id().toLatin1().data(),
+    if (d->textChannel->targetHandleType() == Tp::HandleTypeContact) {
+        contactEntity = Tpl::Entity::create(d->textChannel->targetContact()->id().toLatin1().data(),
                                             Tpl::EntityTypeContact, NULL, NULL);
-    } else if (m_textChannel->targetHandleType() == Tp::HandleTypeRoom) {
-        contactEntity = Tpl::Entity::create(m_textChannel->targetId().toLatin1().data(),
+    } else if (d->textChannel->targetHandleType() == Tp::HandleTypeRoom) {
+        contactEntity = Tpl::Entity::create(d->textChannel->targetId().toLatin1().data(),
                                             Tpl::EntityTypeRoom, NULL, NULL);
     } else {
         return false;
     }
 
-    return m_logManager->exists(m_account, contactEntity, Tpl::EventTypeMaskText);
+    return d->logManager->exists(d->account, contactEntity, Tpl::EventTypeMaskText);
 }
 
 void LogManager::setTextChannel(const Tp::AccountPtr &account, const Tp::TextChannelPtr &textChannel)
 {
-    m_textChannel = textChannel;
-    m_account = account;
+    d->textChannel = textChannel;
+    d->account = account;
 }
 
 void LogManager::setScrollbackLength(int n)
 {
-    m_scrolbackLength = n;
+    d->scrollbackLength = n;
 }
 
 int LogManager::scrollbackLength() const
 {
-    return m_scrolbackLength;
+    return d->scrollbackLength;
 }
 
 void LogManager::fetchScrollback()
 {
-    fetchHistory(m_scrolbackLength);
+    fetchHistory(d->scrollbackLength);
 }
 
 void LogManager::fetchHistory(int n)
 {
-    if (n > 0 && !m_account.isNull() && !m_textChannel.isNull()) {
+    if (n > 0 && !d->account.isNull() && !d->textChannel.isNull()) {
         Tpl::EntityPtr contactEntity;
-        if (m_textChannel->targetHandleType() == Tp::HandleTypeContact) {
-            contactEntity = Tpl::Entity::create(m_textChannel->targetContact()->id().toLatin1().data(),
+        if (d->textChannel->targetHandleType() == Tp::HandleTypeContact) {
+            contactEntity = Tpl::Entity::create(d->textChannel->targetContact()->id().toLatin1().data(),
                                                 Tpl::EntityTypeContact, NULL, NULL);
-        } else if (m_textChannel->targetHandleType() == Tp::HandleTypeRoom) {
-            contactEntity = Tpl::Entity::create(m_textChannel->targetId().toLatin1().data(),
+        } else if (d->textChannel->targetHandleType() == Tp::HandleTypeRoom) {
+            contactEntity = Tpl::Entity::create(d->textChannel->targetId().toLatin1().data(),
                                                 Tpl::EntityTypeRoom, NULL, NULL);
         }
 
         if (!contactEntity.isNull()) {
-            Tpl::LogWalkerPtr walker = m_logManager->queryWalkFilteredEvents(
-                m_account, contactEntity, Tpl::EventTypeMaskText, 0, 0);
+            Tpl::LogWalkerPtr walker = d->logManager->queryWalkFilteredEvents(
+                d->account, contactEntity, Tpl::EventTypeMaskText, 0, 0);
             Tpl::PendingEvents *events = walker->queryEvents(n);
             connect(events, SIGNAL(finished(Tpl::PendingOperation*)),
                     this, SLOT(onEventsFinished(Tpl::PendingOperation*)));
@@ -139,15 +153,15 @@ void LogManager::onEventsFinished(Tpl::PendingOperation *po)
     }
 
     QStringList queuedMessageTokens;
-    if (!m_textChannel.isNull()) {
-        Q_FOREACH(const Tp::ReceivedMessage &message, m_textChannel->messageQueue()) {
+    if (!d->textChannel.isNull()) {
+        Q_FOREACH(const Tp::ReceivedMessage &message, d->textChannel->messageQueue()) {
             queuedMessageTokens.append(message.messageToken());
         }
     }
     kDebug() << "queuedMessageTokens" << queuedMessageTokens;
 
 
-    // get last n (m_fetchLast) messages that are not queued
+    // get last n (d->fetchLast) messages that are not queued
     QList<Tpl::EventPtr> allEvents = pe->events();
 
     // See https://bugs.kde.org/show_bug.cgi?id=317866
@@ -159,7 +173,7 @@ void LogManager::onEventsFinished(Tpl::PendingOperation *po)
         const Tpl::TextEventPtr textEvent = event.dynamicCast<Tpl::TextEvent>();
         if (!textEvent.isNull()) {
             if (!queuedMessageTokens.contains(textEvent->messageToken())) {
-                const KTp::Message message = KTp::MessageProcessor::instance()->processIncomingMessage(textEvent, m_account, m_textChannel);
+                const KTp::Message message = KTp::MessageProcessor::instance()->processIncomingMessage(textEvent, d->account, d->textChannel);
                 messages.append(message);
             }
         }
diff --git a/lib/logmanager.h b/lib/logmanager.h
index 3f4a2f1..61a5b04 100644
--- a/lib/logmanager.h
+++ b/lib/logmanager.h
@@ -22,13 +22,6 @@
 
 #include "adium-theme-content-info.h"
 
-#include <TelepathyLoggerQt4/LogManager>
-#include <TelepathyLoggerQt4/Entity>
-
-#include <TelepathyQt/Types>
-#include <TelepathyQt/Account>
-#include <TelepathyQt/Contact>
-
 #include <KTp/message.h>
 
 namespace Tpl {
@@ -72,12 +65,8 @@ private Q_SLOTS:
     void onEventsFinished(Tpl::PendingOperation *po);
 
 private:
-    Tp::AccountPtr m_account;
-    Tp::TextChannelPtr m_textChannel;
-    Tpl::EntityPtr m_contactEntity;
-    Tpl::LogManagerPtr m_logManager;
-
-    int m_scrolbackLength;
+    class Private;
+    Private * const d;
 };
 
 #endif // LOGMANAGER_H
diff --git a/lib/logmanager_dummy.cpp b/lib/logmanager_dummy.cpp
new file mode 100644
index 0000000..bf11809
--- /dev/null
+++ b/lib/logmanager_dummy.cpp
@@ -0,0 +1,84 @@
+/*
+    Copyright (C) 2013 Daniel Vrátil <dvratil at redhat.com>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+
+#include "logmanager.h"
+
+#include <TelepathyQt/Types>
+
+class LogManager::Private
+{
+  public:
+    Private(): scrollbackLength(10)
+    {
+    }
+
+    int scrollbackLength;
+};
+
+LogManager::LogManager(QObject *parent)
+    : QObject(parent),
+    d(new Private)
+{
+}
+
+LogManager::~LogManager()
+{
+    delete d;
+}
+
+bool LogManager::exists() const
+{
+    return false;
+}
+
+void LogManager::setTextChannel(const Tp::AccountPtr &account, const Tp::TextChannelPtr &textChannel)
+{
+    Q_UNUSED(account);
+    Q_UNUSED(textChannel);
+}
+
+void LogManager::setScrollbackLength(int n)
+{
+    d->scrollbackLength = n;
+}
+
+int LogManager::scrollbackLength() const
+{
+    return d->scrollbackLength;
+}
+
+void LogManager::fetchScrollback()
+{
+    QMetaObject::invokeMethod(this, "fetched", Qt::QueuedConnection,
+                              Q_ARG(QList<KTp::Message>, QList<KTp::Message>()));
+}
+
+void LogManager::fetchHistory(int n)
+{
+    Q_UNUSED(n);
+
+    fetchScrollback();
+}
+
+void LogManager::onEventsFinished(Tpl::PendingOperation *po)
+{
+    Q_UNUSED(po);
+}
+
+#include "moc_logmanager.cpp"

-- 
ktp-text-ui packaging



More information about the pkg-kde-commits mailing list