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


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

The following commit has been merged in the master branch:
commit 14d81b9ebf47d777b2d2e8bc82b42f172c55d897
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date:   Tue Feb 28 21:23:30 2012 +0100

    Handle HistoryStatus and consecutive status messages
---
 lib/adium-theme-message-info.cpp |  5 +++++
 lib/adium-theme-message-info.h   |  1 +
 lib/adium-theme-status-info.cpp  |  4 ++--
 lib/adium-theme-status-info.h    |  2 +-
 lib/adium-theme-view.cpp         | 36 ++++++++++++++++++++++++++++++++----
 lib/chat-window-style.cpp        |  6 ++++++
 lib/chat-window-style.h          |  2 ++
 7 files changed, 49 insertions(+), 7 deletions(-)

diff --git a/lib/adium-theme-message-info.cpp b/lib/adium-theme-message-info.cpp
index 276ce89..e32910f 100644
--- a/lib/adium-theme-message-info.cpp
+++ b/lib/adium-theme-message-info.cpp
@@ -136,6 +136,11 @@ QString AdiumThemeMessageInfo::messageClasses() const {
         classes.append(QLatin1String("message"));
     }
 
+    if (d->type == HistoryStatus) {
+        classes.append(QLatin1String("history"));
+        classes.append(QLatin1String("status"));
+    }
+
     classes << d->messageClasses;
 
     return classes.join(QLatin1String(" "));
diff --git a/lib/adium-theme-message-info.h b/lib/adium-theme-message-info.h
index 50bfc4a..7b7587e 100644
--- a/lib/adium-theme-message-info.h
+++ b/lib/adium-theme-message-info.h
@@ -35,6 +35,7 @@ public:
         Status,
         HistoryRemoteToLocal,
         HistoryLocalToRemote,
+        HistoryStatus,
         Invalid
     };
 
diff --git a/lib/adium-theme-status-info.cpp b/lib/adium-theme-status-info.cpp
index 00b7a67..7ab7513 100644
--- a/lib/adium-theme-status-info.cpp
+++ b/lib/adium-theme-status-info.cpp
@@ -26,8 +26,8 @@ public:
     QString status;
 };
 
-AdiumThemeStatusInfo::AdiumThemeStatusInfo()
-    : AdiumThemeMessageInfo(AdiumThemeMessageInfo::Status),
+AdiumThemeStatusInfo::AdiumThemeStatusInfo(bool isHistory)
+    : AdiumThemeMessageInfo(isHistory ? AdiumThemeMessageInfo::HistoryStatus : AdiumThemeMessageInfo::Status),
       d(new AdiumThemeStatusInfoPrivate)
 {
 }
diff --git a/lib/adium-theme-status-info.h b/lib/adium-theme-status-info.h
index 7dd073e..1cafbe5 100644
--- a/lib/adium-theme-status-info.h
+++ b/lib/adium-theme-status-info.h
@@ -30,7 +30,7 @@ class AdiumThemeStatusInfoPrivate;
 class KDE_TELEPATHY_CHAT_EXPORT AdiumThemeStatusInfo : public AdiumThemeMessageInfo
 {
 public:
-    explicit AdiumThemeStatusInfo();
+    explicit AdiumThemeStatusInfo(bool isHistory = false);
     explicit AdiumThemeStatusInfo(const AdiumThemeStatusInfo &other);
     virtual ~AdiumThemeStatusInfo();
     AdiumThemeStatusInfo &operator=(const AdiumThemeStatusInfo &other);
diff --git a/lib/adium-theme-view.cpp b/lib/adium-theme-view.cpp
index 035315c..2ff7116 100644
--- a/lib/adium-theme-view.cpp
+++ b/lib/adium-theme-view.cpp
@@ -354,10 +354,38 @@ void AdiumThemeView::addContentMessage(const AdiumThemeContentInfo &contentMessa
 
 void AdiumThemeView::addStatusMessage(const AdiumThemeStatusInfo& statusMessage)
 {
-    QString styleHtml = m_chatStyle->getStatusHtml();
-    m_lastContent = AdiumThemeContentInfo();
-    replaceStatusKeywords(styleHtml, statusMessage);
-    appendNewMessage(styleHtml);
+    QString styleHtml;
+    bool consecutiveMessage = false;
+    // statusMessage is const, we need a non-const one to append message classes
+    AdiumThemeStatusInfo message(statusMessage);
+
+    if (m_lastContent.type() == message.type())
+    {
+        consecutiveMessage = true;
+        // TODO check if adding the "consecutive" class is a problem for themes
+        // with disableCombineConsecutive = true
+        message.appendMessageClass(QLatin1String("consecutive"));
+    }
+    m_lastContent = AdiumThemeContentInfo(statusMessage.type());
+
+    switch (message.type()) {
+    case AdiumThemeMessageInfo::Status:
+        styleHtml = m_chatStyle->getStatusHtml();
+        break;
+    case AdiumThemeMessageInfo::HistoryStatus:
+        styleHtml = m_chatStyle->getHistoryStatusHtml();
+        break;
+    default:
+        kWarning() << "Unexpected message type to addStatusMessage";
+    }
+
+    replaceStatusKeywords(styleHtml, message);
+
+    if (consecutiveMessage && !m_chatStyle->disableCombineConsecutive()) {
+        appendNextMessage(styleHtml);
+    } else {
+        appendNewMessage(styleHtml);
+    }
 }
 
 void AdiumThemeView::onLinkClicked(const QUrl &url)
diff --git a/lib/chat-window-style.cpp b/lib/chat-window-style.cpp
index d47d38d..8940fa2 100644
--- a/lib/chat-window-style.cpp
+++ b/lib/chat-window-style.cpp
@@ -215,6 +215,11 @@ QString ChatWindowStyle::getHistoryNextOutgoingHtml() const
     return content(HistoryOutgoingNext);
 }
 
+QString ChatWindowStyle::getHistoryStatusHtml() const
+{
+    return content(HistoryStatus);
+}
+
 QString ChatWindowStyle::getActionIncomingHtml() const
 {
     return content(ActionIncoming);
@@ -393,6 +398,7 @@ void ChatWindowStyle::readStyleFiles()
     inheritContent(HistoryOutgoingNext, OutgoingNext);
 
     inheritContent(Status, Content);
+    inheritContent(HistoryStatus, Status);
 
     // Load template file fallback
     if (content(Template).isEmpty())
diff --git a/lib/chat-window-style.h b/lib/chat-window-style.h
index 1024ffa..9905730 100644
--- a/lib/chat-window-style.h
+++ b/lib/chat-window-style.h
@@ -111,6 +111,7 @@ public:
     QString getHistoryNextIncomingHtml() const;
     QString getHistoryOutgoingHtml() const;
     QString getHistoryNextOutgoingHtml() const;
+    QString getHistoryStatusHtml() const;
 
     QString getActionIncomingHtml() const;
     QString getActionOutgoingHtml() const;
@@ -184,6 +185,7 @@ private:
         HistoryIncomingNext,
         HistoryOutgoing,
         HistoryOutgoingNext,
+        HistoryStatus,
 
         ActionIncoming,
         ActionOutgoing,

-- 
ktp-text-ui packaging



More information about the pkg-kde-commits mailing list