summary refs log tree commit diff
path: root/src/emoji/EmojiModel.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2023-05-25 21:50:54 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2023-05-25 21:53:23 +0200
commit51084748ee4db5f7faab996147a85132cbb80031 (patch)
tree4bb744783aeddc95979a0b567a872a7cd480b95d /src/emoji/EmojiModel.cpp
parentGet rid of old emoji picker (diff)
downloadnheko-51084748ee4db5f7faab996147a85132cbb80031.tar.xz
Make default completer complete custom emoji
Diffstat (limited to 'src/emoji/EmojiModel.cpp')
-rw-r--r--src/emoji/EmojiModel.cpp78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/emoji/EmojiModel.cpp b/src/emoji/EmojiModel.cpp
deleted file mode 100644

index 814d17bb..00000000 --- a/src/emoji/EmojiModel.cpp +++ /dev/null
@@ -1,78 +0,0 @@ -// SPDX-FileCopyrightText: Nheko Contributors -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#include "EmojiModel.h" - -#include <Cache.h> -#include <MatrixClient.h> - -#include "CompletionModelRoles.h" - -using namespace emoji; - -int -EmojiModel::categoryToIndex(int category) -{ - auto dist = std::distance( - Provider::emoji.begin(), - std::lower_bound(Provider::emoji.begin(), - Provider::emoji.end(), - static_cast<Emoji::Category>(category), - [](const struct Emoji &e, Emoji::Category c) { return e.category < c; })); - - return static_cast<int>(dist); -} - -QHash<int, QByteArray> -EmojiModel::roleNames() const -{ - static QHash<int, QByteArray> roles; - - if (roles.isEmpty()) { - roles = QAbstractListModel::roleNames(); - roles[static_cast<int>(EmojiModel::Roles::Unicode)] = QByteArrayLiteral("unicode"); - roles[static_cast<int>(EmojiModel::Roles::ShortName)] = QByteArrayLiteral("shortName"); - roles[static_cast<int>(EmojiModel::Roles::UnicodeName)] = QByteArrayLiteral("unicodeName"); - roles[static_cast<int>(EmojiModel::Roles::Category)] = QByteArrayLiteral("category"); - roles[static_cast<int>(EmojiModel::Roles::Emoji)] = QByteArrayLiteral("emoji"); - } - - return roles; -} - -int -EmojiModel::rowCount(const QModelIndex &parent) const -{ - return parent == QModelIndex() ? (int)Provider::emoji.size() : 0; -} - -QVariant -EmojiModel::data(const QModelIndex &index, int role) const -{ - if (hasIndex(index.row(), index.column(), index.parent())) { - switch (role) { - case Qt::DisplayRole: - case CompletionModel::CompletionRole: - case static_cast<int>(EmojiModel::Roles::Unicode): - return Provider::emoji[index.row()].unicode(); - - case Qt::ToolTipRole: - return Provider::emoji[index.row()].shortName() + ", " + - Provider::emoji[index.row()].unicodeName(); - case CompletionModel::SearchRole2: - case static_cast<int>(EmojiModel::Roles::UnicodeName): - return Provider::emoji[index.row()].unicodeName(); - case CompletionModel::SearchRole: - case static_cast<int>(EmojiModel::Roles::ShortName): - return Provider::emoji[index.row()].shortName(); - case static_cast<int>(EmojiModel::Roles::Category): - return QVariant::fromValue(Provider::emoji[index.row()].category); - - case static_cast<int>(EmojiModel::Roles::Emoji): - return QVariant::fromValue(Provider::emoji[index.row()]); - } - } - - return {}; -}