simplified message.cpp

This commit is contained in:
fourtf
2018-01-28 03:29:42 +01:00
parent fc758846f6
commit 591ab4d8da
20 changed files with 123 additions and 155 deletions
+3 -3
View File
@@ -97,7 +97,7 @@ void IrcMessageHandler::handleClearChatMessage(Communi::IrcMessage *message)
int snapshotLength = snapshot.getLength();
for (int i = std::max(0, snapshotLength - 20); i < snapshotLength; i++) {
if (snapshot[i]->hasFlags(Message::Timeout) && snapshot[i]->loginName == username) {
if (snapshot[i]->flags & Message::Timeout && snapshot[i]->loginName == username) {
MessagePtr replacement(
Message::createTimeoutMessage(username, durationInSeconds, reason, true));
c->replaceMessage(snapshot[i], replacement);
@@ -112,8 +112,8 @@ void IrcMessageHandler::handleClearChatMessage(Communi::IrcMessage *message)
// disable the messages from the user
for (int i = 0; i < snapshotLength; i++) {
if (!snapshot[i]->hasFlags(Message::Timeout) && snapshot[i]->loginName == username) {
snapshot[i]->addFlags(Message::Disabled);
if (!(snapshot[i]->flags & Message::Timeout) && snapshot[i]->loginName == username) {
snapshot[i]->flags &= Message::Disabled;
}
}
+11 -9
View File
@@ -381,29 +381,31 @@ void IrcManager::removeIgnoredUser(QString const &username)
void IrcManager::onConnected()
{
MessagePtr msg = Message::createSystemMessage("connected to chat");
MessagePtr remsg = Message::createSystemMessage("reconnected to chat");
MessagePtr connMsg = Message::createSystemMessage("connected to chat");
MessagePtr reconnMsg = Message::createSystemMessage("reconnected to chat");
this->channelManager.doOnAll([msg, remsg](SharedChannel channel) {
this->channelManager.doOnAll([connMsg, reconnMsg](SharedChannel channel) {
assert(channel);
LimitedQueueSnapshot<MessagePtr> snapshot = channel->getMessageSnapshot();
if (snapshot.getLength() > 0 &&
snapshot[snapshot.getLength() - 1]->hasFlags(Message::DisconnectedMessage)) //
{
channel->replaceMessage(snapshot[snapshot.getLength() - 1], remsg);
bool replaceMessage =
snapshot.getLength() > 0 &&
snapshot[snapshot.getLength() - 1]->flags & Message::DisconnectedMessage;
if (replaceMessage) {
channel->replaceMessage(snapshot[snapshot.getLength() - 1], reconnMsg);
return;
}
channel->addMessage(msg);
channel->addMessage(connMsg);
});
}
void IrcManager::onDisconnected()
{
MessagePtr msg = Message::createSystemMessage("disconnected from chat");
msg->addFlags(Message::DisconnectedMessage);
msg->flags &= Message::DisconnectedMessage;
this->channelManager.doOnAll([msg](SharedChannel channel) {
assert(channel);