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

List:       kde-commits
Subject:    [ruqola] src: Remove duplicate code
From:       Montel Laurent <null () kde ! org>
Date:       2017-08-09 4:57:06
Message-ID: E1dfJ3K-0002X2-Im () code ! kde ! org
[Download RAW message or body]

Git commit 5f992c9ee19fae28a8c9f56fd061db44308de2cb by Montel Laurent.
Committed on 09/08/2017 at 04:56.
Pushed by mlaurent into branch 'master'.

Remove duplicate code

M  +9    -42   src/rocketchatbackend.cpp

https://commits.kde.org/ruqola/5f992c9ee19fae28a8c9f56fd061db44308de2cb

diff --git a/src/rocketchatbackend.cpp b/src/rocketchatbackend.cpp
index 9576e0d..6c17c42 100644
--- a/src/rocketchatbackend.cpp
+++ b/src/rocketchatbackend.cpp
@@ -33,7 +33,7 @@ void process_backlog(const QJsonDocument &messages)
     RocketChatBackend::processIncomingMessages(messages.object().value(QStringLiteral("messages")).toArray());
  }
 
-void rooms_callback(const QJsonDocument &doc)
+void rooms_parsing(const QJsonDocument &doc, const QString &roomIdElement)
 {
     RoomModel *model = Ruqola::self()->roomModel();
 
@@ -49,7 +49,7 @@ void rooms_callback(const QJsonDocument &doc)
 
         //TODO remove duplicate code with subs_callback method
         if (room.value(QStringLiteral("t")).toString() != QLatin1String("d")) {
-            QString roomID = room.value(QStringLiteral("_id")).toString();
+            QString roomID = room.value(roomIdElement).toString();
             MessageModel *roomModel = Ruqola::self()->getModelForRoom(roomID);
 
             // let's be extra safe around crashes
@@ -81,50 +81,17 @@ void rooms_callback(const QJsonDocument &doc)
             qDebug() << " Add direct room not implemented yet";
         }
     }
+
 }
 
-void subs_callback(const QJsonDocument &doc)
+void rooms_callback(const QJsonDocument &doc)
 {
-    RoomModel *model = Ruqola::self()->roomModel();
-
-    QJsonArray removed = doc.object().value(QStringLiteral("remove")).toArray();
-    qDebug() << " subs_callback room " << removed;
-    const QJsonArray updated = \
                doc.object().value(QStringLiteral("update")).toArray();
-
-    for (int i = 0; i < updated.size(); i++) {
-        QJsonObject room = updated.at(i).toObject();
-
-        if (room.value(QStringLiteral("t")).toString() != QLatin1String("d")) {
-            QString roomID = room.value(QStringLiteral("rid")).toString();
-            MessageModel *roomModel = Ruqola::self()->getModelForRoom(roomID);
-
-            // let's be extra safe around crashes
-            if (Ruqola::self()->loginStatus() == DDPClient::LoggedIn) {
-                Room r;
-                r.id = roomID;
-                r.name = room[QStringLiteral("name")].toString();
-                r.topic = room[QStringLiteral("topic")].toString();
-                r.mAnnouncement = room[QStringLiteral("announcement")].toString();
-                r.ro = room[QStringLiteral("topic")].toString() == \
                QLatin1String("true");
-
-//                 qCDebug(RUQOLA_LOG) << "Adding room" << r.name << r.id << \
                r.topic;
-
-                model->addRoom(r);
-            }
-
-            QJsonArray params;
-            params.append(QJsonValue(roomID));
-            Ruqola::self()->ddp()->subscribe(QStringLiteral("stream-room-messages"), \
params); +    rooms_parsing(doc, QStringLiteral("_id"));
+}
 
-            // Load history
-            params.append(QJsonValue(QJsonValue::Null));
-            params.append(QJsonValue(50)); // Max number of messages to load;
-            QJsonObject dateObject;
-            dateObject[QStringLiteral("$date")] = \
                QJsonValue(roomModel->lastTimestamp());
-            params.append(dateObject);
-            Ruqola::self()->ddp()->method(QStringLiteral("loadHistory"), \
                QJsonDocument(params), process_backlog);
-        }
-    }
+void subs_callback(const QJsonDocument &doc)
+{
+    rooms_parsing(doc, QStringLiteral("rid"));
 }
 
 void RocketChatBackend::processIncomingMessages(const QJsonArray &messages)


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

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