added MessageColor to represet special colors
This commit is contained in:
@@ -38,21 +38,17 @@ void MessageBuilder::appendTimestamp(time_t time)
|
||||
{
|
||||
char timeStampBuffer[69];
|
||||
|
||||
// TODO(pajlada): Fix this
|
||||
QColor systemMessageColor(140, 127, 127);
|
||||
// QColor &systemMessageColor = ColorScheme::getInstance().SystemMessageColor;
|
||||
|
||||
// Add word for timestamp with no seconds
|
||||
strftime(timeStampBuffer, 69, "%H:%M", localtime(&time));
|
||||
QString timestampNoSeconds(timeStampBuffer);
|
||||
appendWord(Word(timestampNoSeconds, Word::TimestampNoSeconds, systemMessageColor, QString(),
|
||||
QString()));
|
||||
appendWord(Word(timestampNoSeconds, Word::TimestampNoSeconds,
|
||||
MessageColor(MessageColor::System), QString(), QString()));
|
||||
|
||||
// Add word for timestamp with seconds
|
||||
strftime(timeStampBuffer, 69, "%H:%M:%S", localtime(&time));
|
||||
QString timestampWithSeconds(timeStampBuffer);
|
||||
appendWord(Word(timestampWithSeconds, Word::TimestampWithSeconds, systemMessageColor, QString(),
|
||||
QString()));
|
||||
appendWord(Word(timestampWithSeconds, Word::TimestampWithSeconds,
|
||||
MessageColor(MessageColor::System), QString(), QString()));
|
||||
}
|
||||
|
||||
QString MessageBuilder::matchLink(const QString &string)
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#include "messagecolor.h"
|
||||
|
||||
namespace chatterino {
|
||||
namespace messages {
|
||||
MessageColor::MessageColor(const QColor &color)
|
||||
: type(Type::Custom)
|
||||
, color(color)
|
||||
{
|
||||
}
|
||||
|
||||
MessageColor::MessageColor(Type type)
|
||||
: type(type)
|
||||
{
|
||||
}
|
||||
|
||||
MessageColor::Type MessageColor::getType() const
|
||||
{
|
||||
return this->type;
|
||||
}
|
||||
|
||||
const QColor &MessageColor::getColor(ColorScheme &colorScheme) const
|
||||
{
|
||||
switch (this->type) {
|
||||
case Type::Custom:
|
||||
return this->color;
|
||||
case Type::Text:
|
||||
return colorScheme.Text;
|
||||
case Type::System:
|
||||
return colorScheme.SystemMessageColor;
|
||||
case Type::Link:
|
||||
return colorScheme.TextLink;
|
||||
}
|
||||
|
||||
static QColor _default;
|
||||
return _default;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include <QColor>
|
||||
|
||||
#include <colorscheme.hpp>
|
||||
|
||||
namespace chatterino {
|
||||
namespace messages {
|
||||
class MessageColor
|
||||
{
|
||||
public:
|
||||
enum Type { Custom, Text, Link, System };
|
||||
|
||||
explicit MessageColor(const QColor &color);
|
||||
explicit MessageColor(Type type = Text);
|
||||
|
||||
Type getType() const;
|
||||
const QColor &getColor(ColorScheme &colorScheme) const;
|
||||
|
||||
private:
|
||||
Type type;
|
||||
QColor color;
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ Word::Word(LazyLoadedImage *image, Type type, const QString ©text, const QSt
|
||||
}
|
||||
|
||||
// Text word
|
||||
Word::Word(const QString &text, Type type, const QColor &color, const QString ©text,
|
||||
Word::Word(const QString &text, Type type, const MessageColor &color, const QString ©text,
|
||||
const QString &tooltip, const Link &link)
|
||||
: image(nullptr)
|
||||
, text(text)
|
||||
@@ -96,7 +96,7 @@ const QString &Word::getTooltip() const
|
||||
return this->tooltip;
|
||||
}
|
||||
|
||||
const QColor &Word::getColor() const
|
||||
const MessageColor &Word::getColor() const
|
||||
{
|
||||
return this->color;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "fontmanager.hpp"
|
||||
#include "messages/lazyloadedimage.hpp"
|
||||
#include "messages/link.hpp"
|
||||
#include "messages/messagecolor.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <QRect>
|
||||
@@ -90,7 +91,7 @@ public:
|
||||
|
||||
explicit Word(LazyLoadedImage *_image, Type getType, const QString ©text,
|
||||
const QString &getTooltip, const Link &getLink = Link());
|
||||
explicit Word(const QString &_text, Type getType, const QColor &getColor,
|
||||
explicit Word(const QString &_text, Type getType, const MessageColor &getColor,
|
||||
const QString ©text, const QString &getTooltip, const Link &getLink = Link());
|
||||
|
||||
LazyLoadedImage &getImage() const;
|
||||
@@ -107,7 +108,7 @@ public:
|
||||
QFontMetrics &getFontMetrics() const;
|
||||
Type getType() const;
|
||||
const QString &getTooltip() const;
|
||||
const QColor &getColor() const;
|
||||
const MessageColor &getColor() const;
|
||||
const Link &getLink() const;
|
||||
int getXOffset() const;
|
||||
int getYOffset() const;
|
||||
@@ -119,7 +120,7 @@ public:
|
||||
private:
|
||||
LazyLoadedImage *image;
|
||||
QString text;
|
||||
QColor color;
|
||||
MessageColor color;
|
||||
bool _isImage;
|
||||
|
||||
Type type;
|
||||
|
||||
Reference in New Issue
Block a user