diff options
author | Tobias Markmann <tm@ayena.de> | 2017-03-07 19:32:56 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2017-03-07 19:33:22 (GMT) |
commit | 121361e37bc2cc8ab1eae2f2aea92975a62e5511 (patch) | |
tree | 99860dadea0a8622c83ebc2cc1feada7b8e7e4b2 /Swift/QtUI/QtEmoticonsGrid.cpp | |
parent | 639db5f27911c4bc994e6a040561d596a0f77113 (diff) | |
download | swift-121361e37bc2cc8ab1eae2f2aea92975a62e5511.zip swift-121361e37bc2cc8ab1eae2f2aea92975a62e5511.tar.bz2 |
Use text-based emoticons on Linux and Windows
The new unicode-based emoji dialog currently only provides
a good experience on macOS.
This commit enables the unicode-based emoji dialog on macOS
and uses the text-based emoticons on Linux and Windows.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.5.1 and Windows 8 with Qt
5.5.1.
Change-Id: Ibee20eacafa5788bcdf5a46e1ceac713a28a0383
Diffstat (limited to 'Swift/QtUI/QtEmoticonsGrid.cpp')
-rw-r--r-- | Swift/QtUI/QtEmoticonsGrid.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Swift/QtUI/QtEmoticonsGrid.cpp b/Swift/QtUI/QtEmoticonsGrid.cpp new file mode 100644 index 0000000..a592e90 --- /dev/null +++ b/Swift/QtUI/QtEmoticonsGrid.cpp @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2017 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + +#include <Swift/QtUI/QtEmoticonsGrid.h> + +#include <unordered_set> + +#include <SwifTools/EmojiMapper.h> + +#include <Swift/QtUI/QtEmojiCell.h> +#include <Swift/QtUI/QtSwiftUtil.h> + +namespace Swift { + + QtEmoticonsGrid::QtEmoticonsGrid(const std::map<std::string, std::string>& emoticonsMap) : QtEmojisGrid() { + std::unordered_set<std::string> usedEmoticons; + for (const auto& emoticonPair : emoticonsMap) { + if (usedEmoticons.find(emoticonPair.second) == usedEmoticons.end()) { + usedEmoticons.insert(emoticonPair.second); + + auto filePath = P2QSTRING(emoticonPair.second); + if (filePath.startsWith("qrc:/")) { + filePath.remove(0, 3); + } + auto icon = QIcon(filePath); + auto text = P2QSTRING(emoticonPair.first); + + addEmoticon(icon, text); + } + } + } + + QtEmoticonsGrid::~QtEmoticonsGrid() { + + } + +} |