mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-06 08:05:18 -04:00
Enabled history for chat lobbies (not saved to disc)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6322 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
c5c559ffe1
commit
be34ede8fd
4 changed files with 23 additions and 13 deletions
|
@ -63,16 +63,15 @@ void p3HistoryMgr::addMessage(bool incoming, const std::string &chatPeerId, cons
|
|||
return;
|
||||
}
|
||||
|
||||
if (mPrivateEnable == false && chatPeerId.empty() == false) {
|
||||
// private chat not enabled
|
||||
return;
|
||||
}
|
||||
|
||||
const RsChatLobbyMsgItem *cli = dynamic_cast<const RsChatLobbyMsgItem*>(chatItem);
|
||||
|
||||
if (cli) {
|
||||
// disable history for chat lobbies until they are saved
|
||||
return;
|
||||
// there is currently no setting for chat lobbies
|
||||
} else {
|
||||
if (mPrivateEnable == false && chatPeerId.empty() == false) {
|
||||
// private chat not enabled
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
RsHistoryMsgItem* item = new RsHistoryMsgItem;
|
||||
|
@ -83,6 +82,11 @@ void p3HistoryMgr::addMessage(bool incoming, const std::string &chatPeerId, cons
|
|||
item->sendTime = chatItem->sendTime;
|
||||
item->recvTime = chatItem->recvTime;
|
||||
|
||||
if (cli) {
|
||||
// disable save to disc for chat lobbies until they are saved
|
||||
item->saveToDisc = false;
|
||||
}
|
||||
|
||||
librs::util::ConvertUtf16ToUtf8(chatItem->message, item->message);
|
||||
|
||||
std::map<std::string, std::map<uint32_t, RsHistoryMsgItem*> >::iterator mit = mMessages.find(item->chatPeerId);
|
||||
|
@ -96,7 +100,12 @@ void p3HistoryMgr::addMessage(bool incoming, const std::string &chatPeerId, cons
|
|||
if (chatPeerId.empty()) {
|
||||
limit = mPublicSaveCount;
|
||||
} else {
|
||||
limit = mPrivateSaveCount;
|
||||
if (cli) {
|
||||
// there is currently no setting for chat lobbies
|
||||
limit = 0;
|
||||
} else {
|
||||
limit = mPrivateSaveCount;
|
||||
}
|
||||
}
|
||||
|
||||
if (limit) {
|
||||
|
@ -144,7 +153,9 @@ bool p3HistoryMgr::saveList(bool& cleanup, std::list<RsItem*>& saveData)
|
|||
std::map<uint32_t, RsHistoryMsgItem*>::iterator lit;
|
||||
for (mit = mMessages.begin(); mit != mMessages.end(); mit++) {
|
||||
for (lit = mit->second.begin(); lit != mit->second.end(); lit++) {
|
||||
saveData.push_back(lit->second);
|
||||
if (lit->second->saveToDisc) {
|
||||
saveData.push_back(lit->second);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ RsHistoryMsgItem::RsHistoryMsgItem() : RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONF
|
|||
sendTime = 0;
|
||||
recvTime = 0;
|
||||
msgId = 0;
|
||||
saveToDisc = true;
|
||||
}
|
||||
|
||||
RsHistoryMsgItem::~RsHistoryMsgItem()
|
||||
|
@ -57,6 +58,7 @@ void RsHistoryMsgItem::clear()
|
|||
recvTime = 0;
|
||||
message.clear();
|
||||
msgId = 0;
|
||||
saveToDisc = true;
|
||||
}
|
||||
|
||||
std::ostream& RsHistoryMsgItem::print(std::ostream &out, uint16_t indent)
|
||||
|
|
|
@ -50,6 +50,7 @@ public:
|
|||
|
||||
/* not serialised */
|
||||
uint32_t msgId;
|
||||
bool saveToDisc;
|
||||
};
|
||||
|
||||
class RsHistorySerialiser: public RsSerialType
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue