changed notation
This commit is contained in:
+22
-26
@@ -1,21 +1,17 @@
|
||||
#include "emojis.h"
|
||||
#include "emotes.h"
|
||||
|
||||
#include <QFile>
|
||||
#include <QStringBuilder>
|
||||
#include <QTextStream>
|
||||
|
||||
#include "emojis.h"
|
||||
#include "emotes.h"
|
||||
QRegularExpression Emojis::findShortCodesRegex(":([-+\\w]+):");
|
||||
|
||||
QRegularExpression *Emojis::findShortCodesRegex =
|
||||
new QRegularExpression(":([-+\\w]+):");
|
||||
QMap<QString, Emojis::EmojiData> Emojis::shortCodeToEmoji;
|
||||
QMap<QString, QString> Emojis::emojiToShortCode;
|
||||
QMap<QChar, QMap<QString, QString>> Emojis::firstEmojiChars;
|
||||
|
||||
QMap<QString, Emojis::EmojiData> *Emojis::shortCodeToEmoji =
|
||||
new QMap<QString, Emojis::EmojiData>();
|
||||
QMap<QString, QString> *Emojis::emojiToShortCode = new QMap<QString, QString>();
|
||||
QMap<QChar, QMap<QString, QString>> *Emojis::firstEmojiChars =
|
||||
new QMap<QChar, QMap<QString, QString>>();
|
||||
|
||||
ConcurrentMap<QString, LazyLoadedImage *> *Emojis::imageCache =
|
||||
new ConcurrentMap<QString, LazyLoadedImage *>();
|
||||
ConcurrentMap<QString, LazyLoadedImage *> Emojis::imageCache;
|
||||
|
||||
QString
|
||||
Emojis::replaceShortCodes(const QString &text)
|
||||
@@ -32,9 +28,9 @@ Emojis::parseEmojis(std::vector<std::tuple<LazyLoadedImage *, QString>> &vector,
|
||||
|
||||
for (auto i = 0; i < text.length() - 1; i++) {
|
||||
if (!text.at(i).isLowSurrogate()) {
|
||||
auto iter = firstEmojiChars->find(text.at(i));
|
||||
auto iter = firstEmojiChars.find(text.at(i));
|
||||
|
||||
if (iter != firstEmojiChars->end()) {
|
||||
if (iter != firstEmojiChars.end()) {
|
||||
for (auto j = std::min(8, text.length() - i); j > 0; j--) {
|
||||
QString emojiString = text.mid(i, 2);
|
||||
auto emojiIter = iter.value().find(emojiString);
|
||||
@@ -51,11 +47,11 @@ Emojis::parseEmojis(std::vector<std::tuple<LazyLoadedImage *, QString>> &vector,
|
||||
}
|
||||
|
||||
vector.push_back(std::tuple<LazyLoadedImage *, QString>(
|
||||
imageCache->getOrAdd(url,
|
||||
[&url] {
|
||||
return new LazyLoadedImage(
|
||||
url, 0.35);
|
||||
}),
|
||||
imageCache.getOrAdd(url,
|
||||
[&url] {
|
||||
return new LazyLoadedImage(
|
||||
url, 0.35);
|
||||
}),
|
||||
QString()));
|
||||
|
||||
i += j - 1;
|
||||
@@ -104,23 +100,23 @@ Emojis::loadEmojis()
|
||||
emotes[i++] = QString(item).toUInt(nullptr, 16);
|
||||
}
|
||||
|
||||
shortCodeToEmoji->insert(
|
||||
shortCodeToEmoji.insert(
|
||||
a.at(0), Emojis::EmojiData{QString::fromUcs4(emotes, i), a.at(1)});
|
||||
}
|
||||
|
||||
for (auto const &emoji : shortCodeToEmoji->toStdMap()) {
|
||||
emojiToShortCode->insert(emoji.second.value, emoji.first);
|
||||
for (auto const &emoji : shortCodeToEmoji.toStdMap()) {
|
||||
emojiToShortCode.insert(emoji.second.value, emoji.first);
|
||||
}
|
||||
|
||||
for (auto const &emoji : shortCodeToEmoji->toStdMap()) {
|
||||
auto iter = firstEmojiChars->find(emoji.first.at(0));
|
||||
for (auto const &emoji : shortCodeToEmoji.toStdMap()) {
|
||||
auto iter = firstEmojiChars.find(emoji.first.at(0));
|
||||
|
||||
if (iter != firstEmojiChars->end()) {
|
||||
if (iter != firstEmojiChars.end()) {
|
||||
iter.value().insert(emoji.second.value, emoji.second.value);
|
||||
continue;
|
||||
}
|
||||
|
||||
firstEmojiChars->insert(
|
||||
firstEmojiChars.insert(
|
||||
emoji.first.at(0),
|
||||
QMap<QString, QString>{{emoji.second.value, emoji.second.code}});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user