From 2e3b0d5d40f1113887bd67e6ba227b780c4293cd Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Wed, 15 Apr 2015 15:11:40 +0000 Subject: SkypeWeb: Edited messages support part 2. git-svn-id: http://svn.miranda-ng.org/main/trunk@12839 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/SkypeWeb/src/skype_history_sync.cpp | 14 +++++++------- protocols/SkypeWeb/src/skype_messages.cpp | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'protocols') diff --git a/protocols/SkypeWeb/src/skype_history_sync.cpp b/protocols/SkypeWeb/src/skype_history_sync.cpp index 3f781d236e..58d3b5a014 100644 --- a/protocols/SkypeWeb/src/skype_history_sync.cpp +++ b/protocols/SkypeWeb/src/skype_history_sync.cpp @@ -62,13 +62,13 @@ void CSkypeProto::OnGetServerHistory(const NETLIBHTTPREQUEST *response) if (isEdited && dbevent != NULL) { DBEVENTINFO dbei = { sizeof(dbei) }; + CMStringA msg; db_event_get(dbevent, &dbei); time_t dbEventTimestamp = dbei.timestamp; - if (!getByte("SaveEditedMessage", 0)) - { - db_event_delete(hContact, dbevent); - } - AddMessageToDb(hContact, dbEventTimestamp + 1, flags, clientMsgId, message, emoteOffset); + ptrA dbMsgText((char *)mir_alloc(dbei.cbBlob)); + msg.AppendFormat("%s\n%s [%s]:\n%s", dbMsgText, Translate("Edited at"), ptrA(mir_t2a(composeTime)), message); + db_event_delete(hContact, dbevent); + AddMessageToDb(hContact, dbEventTimestamp, flags, clientMsgId, msg.GetBuffer(), emoteOffset); } else AddMessageToDb(hContact, timestamp, flags, clientMsgId, message, emoteOffset); @@ -76,7 +76,7 @@ void CSkypeProto::OnGetServerHistory(const NETLIBHTTPREQUEST *response) } } -INT_PTR CSkypeProto::GetContactHistory(WPARAM hContact, LPARAM lParam) +INT_PTR CSkypeProto::GetContactHistory(WPARAM hContact, LPARAM) { PushRequest(new GetHistoryRequest(ptrA(getStringA("registrationToken")), ptrA(db_get_sa(hContact, m_szModuleName, SKYPE_SETTINGS_ID)), 0, ptrA(getStringA("Server"))), &CSkypeProto::OnGetServerHistory); return 0; @@ -114,7 +114,7 @@ void CSkypeProto::OnSyncHistory(const NETLIBHTTPREQUEST *response) MCONTACT hContact = FindContact(skypename); if (hContact == NULL && !IsMe(skypename)) hContact = AddContact(skypename, true); - if (GetMessageFromDb(hContact, clientMsgId, composeTime) == NULL && !isEdited) + if (GetMessageFromDb(hContact, clientMsgId, composeTime) == NULL) PushRequest(new GetHistoryRequest(ptrA(getStringA("registrationToken")), skypename, ptrA(getStringA("Server"))), &CSkypeProto::OnGetServerHistory); } } \ No newline at end of file diff --git a/protocols/SkypeWeb/src/skype_messages.cpp b/protocols/SkypeWeb/src/skype_messages.cpp index c313dec4d5..2994ef3967 100644 --- a/protocols/SkypeWeb/src/skype_messages.cpp +++ b/protocols/SkypeWeb/src/skype_messages.cpp @@ -243,13 +243,13 @@ void CSkypeProto::OnPrivateMessageEvent(JSONNODE *node) if (isEdited && dbevent != NULL) { DBEVENTINFO dbei = { sizeof(dbei) }; + CMStringA msg; db_event_get(dbevent, &dbei); time_t dbEventTimestamp = dbei.timestamp; - if (!getByte("SaveEditedMessage", 0)) - { - db_event_delete(hContact, dbevent); - } - OnReceiveMessage(clientMsgId, from, dbEventTimestamp + 1, message, emoteOffset); + ptrA dbMsgText((char *)mir_alloc(dbei.cbBlob)); + msg.AppendFormat("%s\n%s [%s]:\n%s", dbMsgText, Translate("Edited at"), ptrA(mir_t2a(composeTime)), message); + db_event_delete(hContact, dbevent); + OnReceiveMessage(clientMsgId, from, dbEventTimestamp, msg.GetBuffer(), emoteOffset); } else OnReceiveMessage(clientMsgId, from, timestamp, message, emoteOffset); -- cgit v1.2.3