changed notation

This commit is contained in:
fourtf
2017-01-18 04:33:30 +01:00
parent 552e4c957a
commit 10e4a0f785
61 changed files with 1214 additions and 1051 deletions
+22 -26
View File
@@ -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}});
}