bundling timeouts from same user

This commit is contained in:
fourtf
2018-01-05 23:14:55 +01:00
parent 47a813d5d6
commit 315cfd8605
10 changed files with 124 additions and 14 deletions
+30 -2
View File
@@ -55,6 +55,26 @@ std::vector<Word> &Message::getWords()
return this->words;
}
Message::MessageFlags Message::getFlags() const
{
return this->flags;
}
void Message::setFlags(MessageFlags _flags)
{
this->flags = flags;
}
void Message::addFlags(MessageFlags _flags)
{
this->flags = (MessageFlags)((MessageFlagsType)this->flags | (MessageFlagsType)_flags);
}
void Message::removeFlags(MessageFlags _flags)
{
this->flags = (MessageFlags)((MessageFlagsType)this->flags & ~((MessageFlagsType)_flags));
}
bool Message::isDisabled() const
{
return this->disabled;
@@ -147,12 +167,13 @@ Message *Message::createSystemMessage(const QString &text)
MessageColor(MessageColor::Type::System),
singletons::FontManager::Medium, word, QString()));
}
message->addFlags(Message::System);
return message;
}
Message *Message::createTimeoutMessage(const QString &username, const QString &durationInSeconds,
const QString &reason)
const QString &reason, bool multipleTimes)
{
QString text;
@@ -181,7 +202,14 @@ Message *Message::createTimeoutMessage(const QString &username, const QString &d
}
text.append(".");
return Message::createSystemMessage(text);
if (multipleTimes) {
text.append(" (multiple times)");
}
Message *message = Message::createSystemMessage(text);
message->addFlags(Message::Timeout);
message->timeoutUser = username;
return message;
}
} // namespace messages