diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/emoji/EmojiModel.cpp | 4 | ||||
-rw-r--r-- | src/timeline/InputBar.cpp | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/emoji/EmojiModel.cpp b/src/emoji/EmojiModel.cpp index b6a985b8..85c2dd34 100644 --- a/src/emoji/EmojiModel.cpp +++ b/src/emoji/EmojiModel.cpp @@ -3,6 +3,8 @@ #include <Cache.h> #include <MatrixClient.h> +#include "CompletionModelRoles.h" + using namespace emoji; QHash<int, QByteArray> @@ -35,10 +37,12 @@ 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: + case CompletionModel::SearchRole: case static_cast<int>(EmojiModel::Roles::ShortName): return Provider::emoji[index.row()].shortName; diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 641d8379..5c8f0f11 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -25,6 +25,7 @@ #include "Utils.h" #include "dialogs/PlaceCall.h" #include "dialogs/PreviewUploadOverlay.h" +#include "emoji/EmojiModel.h" #include "blurhash.hpp" @@ -173,6 +174,11 @@ InputBar::completerFor(QString completerName) auto proxy = new CompletionProxyModel(userModel); userModel->setParent(proxy); return proxy; + } else if (completerName == "emoji") { + auto emojiModel = new emoji::EmojiModel(); + auto proxy = new CompletionProxyModel(emojiModel); + emojiModel->setParent(proxy); + return proxy; } return nullptr; } |