mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
gave links color
This commit is contained in:
parent
c8ce55a54e
commit
e1364f2bd2
4 changed files with 22 additions and 8 deletions
|
@ -66,6 +66,7 @@ void ColorScheme::setColors(double hue, double multiplier)
|
|||
DropPreviewBackground = getColor(hue, 0.5, 0.5, 0.6);
|
||||
|
||||
Text = TextCaret = lightTheme ? QColor(0, 0, 0) : QColor(255, 255, 255);
|
||||
TextLink = lightTheme ? QColor(66, 134, 244) : QColor(66, 134, 244);
|
||||
|
||||
// tab
|
||||
if (hasDarkBorder) {
|
||||
|
|
|
@ -10,8 +10,8 @@ MessageBuilder::MessageBuilder()
|
|||
: _words()
|
||||
{
|
||||
_parseTime = std::chrono::system_clock::now();
|
||||
regex.setPattern("[[:ascii:]]*\\.[A-Z]+\\/?[[:ascii:]]*");
|
||||
regex.setPatternOptions(QRegularExpression::CaseInsensitiveOption);
|
||||
|
||||
linkRegex.setPattern("[[:ascii:]]*\\.[a-zA-Z]+\\/?[[:ascii:]]*");
|
||||
}
|
||||
|
||||
SharedMessage MessageBuilder::build()
|
||||
|
@ -59,10 +59,15 @@ void MessageBuilder::appendTimestamp(time_t time)
|
|||
|
||||
QString MessageBuilder::matchLink(const QString &string)
|
||||
{
|
||||
auto match = regex.match(string);
|
||||
auto match = linkRegex.match(string);
|
||||
|
||||
if (!match.hasMatch()) {
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString captured = match.captured();
|
||||
|
||||
if (!captured.contains(QRegularExpression("\\bhttps?:\/\/")) && match.hasMatch()) {
|
||||
if (!captured.contains(QRegularExpression("\\bhttps?://"))) {
|
||||
captured.insert(0, "http://");
|
||||
}
|
||||
return captured;
|
||||
|
|
|
@ -22,7 +22,7 @@ public:
|
|||
void setHighlight(const bool &value);
|
||||
|
||||
QString matchLink(const QString &string);
|
||||
QRegularExpression regex;
|
||||
QRegularExpression linkRegex;
|
||||
|
||||
QString originalMessage;
|
||||
|
||||
|
|
|
@ -204,10 +204,18 @@ SharedMessage TwitchMessageBuilder::parse()
|
|||
}
|
||||
|
||||
// Actually just text
|
||||
QString link = this->matchLink(string);
|
||||
QString linkString = this->matchLink(string);
|
||||
|
||||
this->appendWord(Word(string, Word::Text, textColor, string, QString(),
|
||||
link.isEmpty() ? Link() : Link(Link::Url, link)));
|
||||
Link link;
|
||||
|
||||
if (linkString.isEmpty()) {
|
||||
link = Link();
|
||||
} else {
|
||||
link = Link(Link::Url, linkString);
|
||||
textColor = this->colorScheme.TextLink;
|
||||
}
|
||||
|
||||
this->appendWord(Word(string, Word::Text, textColor, string, QString(), link));
|
||||
} else { // is emoji
|
||||
static QString emojiTooltip("Emoji");
|
||||
|
||||
|
|
Loading…
Reference in a new issue