2017-06-06 21:18:05 +02:00
|
|
|
#pragma once
|
2017-04-12 17:46:44 +02:00
|
|
|
|
2017-06-11 09:31:45 +02:00
|
|
|
#include "messages/message.hpp"
|
2017-06-06 21:18:05 +02:00
|
|
|
|
2017-07-26 09:08:19 +02:00
|
|
|
#include <QRegularExpression>
|
2017-04-12 17:46:44 +02:00
|
|
|
|
2017-07-31 00:57:42 +02:00
|
|
|
#include <ctime>
|
|
|
|
|
2017-04-14 17:52:22 +02:00
|
|
|
namespace chatterino {
|
|
|
|
namespace messages {
|
2017-04-12 17:46:44 +02:00
|
|
|
|
|
|
|
class MessageBuilder
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
MessageBuilder();
|
|
|
|
|
|
|
|
SharedMessage build();
|
|
|
|
|
|
|
|
void appendWord(const Word &word);
|
|
|
|
void appendTimestamp();
|
|
|
|
void appendTimestamp(std::time_t time);
|
2017-07-31 00:37:22 +02:00
|
|
|
void setHighlight(const bool &value);
|
2017-04-12 17:46:44 +02:00
|
|
|
|
|
|
|
QString matchLink(const QString &string);
|
2017-07-26 09:08:19 +02:00
|
|
|
QRegularExpression regex;
|
2017-04-12 17:46:44 +02:00
|
|
|
|
2017-06-06 21:18:05 +02:00
|
|
|
QString originalMessage;
|
|
|
|
|
2017-04-12 17:46:44 +02:00
|
|
|
private:
|
|
|
|
std::vector<Word> _words;
|
2017-07-31 00:37:22 +02:00
|
|
|
bool highlight = false;
|
2017-04-12 17:46:44 +02:00
|
|
|
std::chrono::time_point<std::chrono::system_clock> _parseTime;
|
|
|
|
};
|
|
|
|
|
2017-06-06 21:18:05 +02:00
|
|
|
} // namespace messages
|
|
|
|
} // namespace chatterino
|