minor code improvements
This commit is contained in:
@@ -18,7 +18,7 @@ MessagePtr MessageBuilder::getMessage()
|
||||
return this->message;
|
||||
}
|
||||
|
||||
void MessageBuilder::appendElement(MessageElement *element)
|
||||
void MessageBuilder::append(MessageElement *element)
|
||||
{
|
||||
this->message->addElement(element);
|
||||
}
|
||||
@@ -39,7 +39,7 @@ void MessageBuilder::setHighlight(bool value)
|
||||
|
||||
void MessageBuilder::appendTimestamp(const QTime &time)
|
||||
{
|
||||
this->appendElement(new TimestampElement(time));
|
||||
this->append(new TimestampElement(time));
|
||||
}
|
||||
|
||||
QString MessageBuilder::matchLink(const QString &string)
|
||||
|
||||
@@ -9,35 +9,29 @@
|
||||
namespace chatterino {
|
||||
namespace messages {
|
||||
|
||||
struct MessageBuilder
|
||||
{
|
||||
struct MessageBuilder {
|
||||
public:
|
||||
MessageBuilder();
|
||||
|
||||
MessagePtr getMessage();
|
||||
|
||||
void setHighlight(bool value);
|
||||
void appendElement(MessageElement *element);
|
||||
void append(MessageElement *element);
|
||||
void appendTimestamp();
|
||||
void appendTimestamp(const QTime &time);
|
||||
QString matchLink(const QString &string);
|
||||
|
||||
// typename std::enable_if<std::is_base_of<MessageElement, T>::value, T>::type
|
||||
|
||||
template <class T, class... Args>
|
||||
template <typename T, typename... Args,
|
||||
typename _ = std::enable_if<std::is_base_of<MessageElement, T>::value>::type>
|
||||
T *emplace(Args &&... args)
|
||||
{
|
||||
static_assert(std::is_base_of<MessageElement, T>::value, "T must extend MessageElement");
|
||||
|
||||
T *element = new T(std::forward<Args>(args)...);
|
||||
this->appendElement(element);
|
||||
this->append(element);
|
||||
return element;
|
||||
}
|
||||
|
||||
void appendTimestamp();
|
||||
void appendTimestamp(const QTime &time);
|
||||
|
||||
QString matchLink(const QString &string);
|
||||
|
||||
QString originalMessage;
|
||||
|
||||
protected:
|
||||
MessagePtr message;
|
||||
};
|
||||
|
||||
@@ -7,9 +7,7 @@
|
||||
namespace chatterino {
|
||||
namespace messages {
|
||||
|
||||
struct MessageColor
|
||||
{
|
||||
public:
|
||||
struct MessageColor {
|
||||
enum Type { Custom, Text, Link, System };
|
||||
|
||||
MessageColor(const QColor &color);
|
||||
|
||||
Reference in New Issue
Block a user