Basic emoji history support. #96

This commit is contained in:
Black Hat
2019-05-02 14:20:04 +08:00
parent 27a279bc3c
commit 85ceec7b44
5 changed files with 89 additions and 20 deletions

View File

@@ -20,19 +20,8 @@
#include "emojimodel.h"
QVariantMap EmojiModel::getModel() {
QVariantMap map;
map.insert("people", people);
map.insert("nature", nature);
map.insert("food", food);
map.insert("activity", activity);
map.insert("travel", travel);
map.insert("objects", objects);
map.insert("symbols", symbols);
map.insert("flags", flags);
return map;
QVariantList EmojiModel::history() {
return m_settings->value("Editor/emojis", QVariantList()).toList();
}
QVariantList EmojiModel::filterModel(const QString& filter) {
@@ -90,6 +79,23 @@ QVariantList EmojiModel::filterModel(const QString& filter) {
return result;
}
void EmojiModel::emojiUsed(QVariant modelData) {
QVariantList list = history();
auto it = list.begin();
while (it != list.end()) {
if ((*it).value<Emoji>().unicode == modelData.value<Emoji>().unicode) {
it = list.erase(it);
} else
it++;
}
list.push_front(modelData);
m_settings->setValue("Editor/emojis", list);
emit historyChanged();
}
const QVariantList EmojiModel::people = {
QVariant::fromValue(
Emoji{QString::fromUtf8("\xf0\x9f\x98\x80"), ":grinning:"}),