diff options
Diffstat (limited to 'Swift/QtUI/QtEmojisSelector.h')
-rw-r--r-- | Swift/QtUI/QtEmojisSelector.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Swift/QtUI/QtEmojisSelector.h b/Swift/QtUI/QtEmojisSelector.h new file mode 100644 index 0000000..1a64cf4 --- /dev/null +++ b/Swift/QtUI/QtEmojisSelector.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2016-2018 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + +#pragma once + +#include <map> +#include <string> + +#include <QSettings> +#include <QTabWidget> + +#include <Swift/QtUI/QtEmojisGrid.h> +#include <Swift/QtUI/QtRecentEmojisGrid.h> + +namespace Swift { + +class QtEmojisSelector : public QTabWidget { + Q_OBJECT + public: + QtEmojisSelector(QSettings* settings, const std::map<std::string, std::string>& 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<std::string, std::string> emoticonsMap_; +}; + +} |