set read/unread
TODO: sometimes there seems to be a transfer stuck on unread?
This commit is contained in:
parent
dd596bdad8
commit
5700d9d17f
@ -86,6 +86,9 @@ bool ToxMessageManager::sendText(const Contact3 c, std::string_view message, boo
|
|||||||
reg.emplace<Message::Components::TimestampWritten>(new_msg_e, ts);
|
reg.emplace<Message::Components::TimestampWritten>(new_msg_e, ts);
|
||||||
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
||||||
|
|
||||||
|
// mark as read
|
||||||
|
reg.emplace<Message::Components::Read>(new_msg_e, ts); // reactive?
|
||||||
|
|
||||||
// if sent?
|
// if sent?
|
||||||
reg.emplace<Message::Components::TimestampProcessed>(new_msg_e, ts);
|
reg.emplace<Message::Components::TimestampProcessed>(new_msg_e, ts);
|
||||||
|
|
||||||
@ -200,6 +203,8 @@ bool ToxMessageManager::onToxEvent(const Tox_Event_Friend_Message* e) {
|
|||||||
//reg.emplace<Components::TimestampWritten>(new_msg_e, 0);
|
//reg.emplace<Components::TimestampWritten>(new_msg_e, 0);
|
||||||
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
||||||
|
|
||||||
|
reg.emplace<Message::Components::TagUnread>(new_msg_e);
|
||||||
|
|
||||||
_rmm.throwEventConstruct(reg, new_msg_e);
|
_rmm.throwEventConstruct(reg, new_msg_e);
|
||||||
return false; // TODO: return true?
|
return false; // TODO: return true?
|
||||||
}
|
}
|
||||||
@ -248,6 +253,8 @@ bool ToxMessageManager::onToxEvent(const Tox_Event_Group_Message* e) {
|
|||||||
//reg.emplace<Components::TimestampWritten>(new_msg_e, 0);
|
//reg.emplace<Components::TimestampWritten>(new_msg_e, 0);
|
||||||
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
||||||
|
|
||||||
|
reg.emplace<Message::Components::TagUnread>(new_msg_e);
|
||||||
|
|
||||||
{ // by whom
|
{ // by whom
|
||||||
auto& synced_by = reg.get_or_emplace<Message::Components::SyncedBy>(new_msg_e).list;
|
auto& synced_by = reg.get_or_emplace<Message::Components::SyncedBy>(new_msg_e).list;
|
||||||
synced_by.emplace(self_c);
|
synced_by.emplace(self_c);
|
||||||
@ -296,6 +303,8 @@ bool ToxMessageManager::onToxEvent(const Tox_Event_Group_Private_Message* e) {
|
|||||||
//reg.emplace<Components::TimestampWritten>(new_msg_e, 0);
|
//reg.emplace<Components::TimestampWritten>(new_msg_e, 0);
|
||||||
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
reg.emplace<Message::Components::Timestamp>(new_msg_e, ts); // reactive?
|
||||||
|
|
||||||
|
reg.emplace<Message::Components::TagUnread>(new_msg_e);
|
||||||
|
|
||||||
// private does not track synced by
|
// private does not track synced by
|
||||||
|
|
||||||
_rmm.throwEventConstruct(reg, new_msg_e);
|
_rmm.throwEventConstruct(reg, new_msg_e);
|
||||||
|
@ -125,6 +125,7 @@ Message3Handle ToxTransferManager::toxSendFilePath(const Contact3 c, uint32_t fi
|
|||||||
reg_ptr->emplace<Message::Components::ContactTo>(e, c);
|
reg_ptr->emplace<Message::Components::ContactTo>(e, c);
|
||||||
reg_ptr->emplace<Message::Components::ContactFrom>(e, c_self);
|
reg_ptr->emplace<Message::Components::ContactFrom>(e, c_self);
|
||||||
reg_ptr->emplace<Message::Components::Timestamp>(e, ts); // reactive?
|
reg_ptr->emplace<Message::Components::Timestamp>(e, ts); // reactive?
|
||||||
|
reg_ptr->emplace<Message::Components::Read>(e, ts);
|
||||||
|
|
||||||
reg_ptr->emplace<Message::Components::Transfer::TagHaveAll>(e);
|
reg_ptr->emplace<Message::Components::Transfer::TagHaveAll>(e);
|
||||||
reg_ptr->emplace<Message::Components::Transfer::TagSending>(e);
|
reg_ptr->emplace<Message::Components::Transfer::TagSending>(e);
|
||||||
@ -413,6 +414,7 @@ bool ToxTransferManager::onToxEvent(const Tox_Event_File_Recv* e) {
|
|||||||
transfer.emplace<Message::Components::ContactTo>(self_c);
|
transfer.emplace<Message::Components::ContactTo>(self_c);
|
||||||
transfer.emplace<Message::Components::ContactFrom>(c);
|
transfer.emplace<Message::Components::ContactFrom>(c);
|
||||||
transfer.emplace<Message::Components::Timestamp>(ts); // reactive?
|
transfer.emplace<Message::Components::Timestamp>(ts); // reactive?
|
||||||
|
transfer.emplace<Message::Components::TagUnread>();
|
||||||
|
|
||||||
transfer.emplace<Message::Components::Transfer::TagReceiving>();
|
transfer.emplace<Message::Components::Transfer::TagReceiving>();
|
||||||
transfer.emplace<Message::Components::Transfer::TagPaused>();
|
transfer.emplace<Message::Components::Transfer::TagPaused>();
|
||||||
@ -503,11 +505,16 @@ bool ToxTransferManager::onToxEvent(const Tox_Event_File_Recv_Chunk* e) {
|
|||||||
transfer.remove<
|
transfer.remove<
|
||||||
Message::Components::Transfer::ToxTransferFriend,
|
Message::Components::Transfer::ToxTransferFriend,
|
||||||
// TODO: removing file a good idea?
|
// TODO: removing file a good idea?
|
||||||
Message::Components::Transfer::File
|
Message::Components::Transfer::File,
|
||||||
|
|
||||||
|
Message::Components::Read
|
||||||
>();
|
>();
|
||||||
|
|
||||||
transfer.emplace<Message::Components::Transfer::TagHaveAll>();
|
transfer.emplace<Message::Components::Transfer::TagHaveAll>();
|
||||||
|
|
||||||
|
// re-unread a finished transfer
|
||||||
|
transfer.emplace<Message::Components::TagUnread>();
|
||||||
|
|
||||||
_rmm.throwEventUpdate(transfer);
|
_rmm.throwEventUpdate(transfer);
|
||||||
} else if (!transfer.all_of<Message::Components::Transfer::File>() || !transfer.get<Message::Components::Transfer::File>()->isGood()) {
|
} else if (!transfer.all_of<Message::Components::Transfer::File>() || !transfer.get<Message::Components::Transfer::File>()->isGood()) {
|
||||||
std::cerr << "TTM error: file not good f" << friend_number << " t" << file_number << ", closing\n";
|
std::cerr << "TTM error: file not good f" << friend_number << " t" << file_number << ", closing\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user