From 36a0e1fbb84fd242f7f3b3cdb8a02f85f48403e3 Mon Sep 17 00:00:00 2001 From: Angela Mazzurco Date: Sat, 3 Jun 2017 17:41:09 +0200 Subject: [PATCH] Implement last message cache from chats --- retroshare-qml-app/src/ChatCache.qml | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 retroshare-qml-app/src/ChatCache.qml diff --git a/retroshare-qml-app/src/ChatCache.qml b/retroshare-qml-app/src/ChatCache.qml new file mode 100644 index 000000000..d808d59b8 --- /dev/null +++ b/retroshare-qml-app/src/ChatCache.qml @@ -0,0 +1,40 @@ +pragma Singleton + +import QtQml 2.7 +import QtQuick.Controls 2.0 +import org.retroshare.qml_components.LibresapiLocalClient 1.0 +import Qt.labs.settings 1.0 + +QtObject { + + id: chatCache + + property QtObject lastMessageCache: QtObject + { + property var lastMessageList: ({}) + + function updateLastMessageCache (chatId, chatModel){ + console.log("updateLastMessageCache (chatId, chatModel)", chatId) + + if (!chatModel) { + rsApi.request( "/chat/messages/"+chatId, "", function (par){ + updateLastMessage(chatId, par.response) + }) + } else { + updateLastMessage (chatId, chatModel) + } + } + + function updateLastMessage (chatId, chatModel){ + var lastMessage = getLastMessage (chatModel) + lastMessageList[chatId] = lastMessage + } + + function getLastMessageFromChat (chatModel){ + console.log("getLastMessage (chatMessages)") + var messagesData = JSON.parse(chatMessages).data + return messagesData.slice(-1)[0] + } + } + +}