[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [ktp-text-ui] lib: When date of a message in scrollback changes, add a status message with the new d
From:       Dan_Vrátil <dvratil () redhat ! com>
Date:       2013-06-18 17:46:56
Message-ID: 20130618174656.ECA6AA605A () git ! kde ! org
[Download RAW message or body]

Git commit 7a3719232c63a1830c561fa119fb65ed6e5393e3 by Dan Vrátil.
Committed on 18/06/2013 at 19:21.
Pushed by dvratil into branch 'master'.

When date of a message in scrollback changes, add a status message with the new date

REVIEW: 111094
BUG: 292041
FIXED-IN: 0.7.0

M  +14   -2    lib/chat-widget.cpp

http://commits.kde.org/telepathy-text-ui/7a3719232c63a1830c561fa119fb65ed6e5393e3

diff --git a/lib/chat-widget.cpp b/lib/chat-widget.cpp
index 9fdbdb7..ac8e3ba 100644
--- a/lib/chat-widget.cpp
+++ b/lib/chat-widget.cpp
@@ -482,8 +482,20 @@ void ChatWidget::onHistoryFetched(const QList<KTp::Message> &messages)
     d->chatViewInitialized = true;
 
     kDebug() << "found" << messages.count() << "messages in history";
-    Q_FOREACH(const KTp::Message &message, messages) {
-        d->ui.chatArea->addMessage(message);
+    if (!messages.isEmpty()) {
+        QDate date = messages.first().time().date();
+        Q_FOREACH(const KTp::Message &message, messages) {
+            if (message.time().date() != date) {
+                date = message.time().date();
+                d->ui.chatArea->addStatusMessage(date.toString(Qt::LocaleDate));
+            }
+
+            d->ui.chatArea->addMessage(message);
+        }
+
+        if (date != QDate::currentDate()) {
+            d->ui.chatArea->addStatusMessage(QDate::currentDate().toString(Qt::LocaleDate));
+        }
     }
 
     //process any messages we've 'missed' whilst initialising.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic