You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
650 B
27 lines
650 B
/* Панель выбора emoji по категориям; выбранный Unicode передаётся в composer через emojiSelected. */ |
|
#pragma once |
|
|
|
#include <QWidget> |
|
#include <QVector> |
|
|
|
class QPushButton; |
|
struct EmojiCategory; |
|
|
|
class EmojiPanel : public QWidget { |
|
Q_OBJECT |
|
public: |
|
explicit EmojiPanel(QWidget *parent = nullptr); |
|
|
|
signals: |
|
void emojiSelected(const QString &unicode); |
|
|
|
protected: |
|
void showEvent(QShowEvent *event) override; |
|
|
|
private slots: |
|
void onEmojiClicked(); |
|
|
|
private: |
|
void buildPanel(const QVector<EmojiCategory> &categories); |
|
QWidget *buildCategoryPage(const EmojiCategory &cat); |
|
};
|
|
|