/* * Copyright (c) 2016-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include #include namespace Swift { class QtEmojisSelector : public QTabWidget { Q_OBJECT public: QtEmojisSelector(QSettings* settings, const std::map& emoticonsMap, QWidget* parent = nullptr); ~QtEmojisSelector(); public slots: void emojiClickedSlot(QString emoji); signals: void emojiClicked(QString emoji); private: QtRecentEmojisGrid* addRecentTab(); QtEmojisGrid* addTab(QString categoryName); void loadSettings(); void writeSettings(); void setupEmoticonsTab(); private: QSettings* settings_ = nullptr; QtRecentEmojisGrid* recentEmojisGrid_ = nullptr; std::map emoticonsMap_; }; }