diff options
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() { + +    } + +} | 
 Swift
 Swift