2021-03-05 02:35:15 +03:00
|
|
|
// SPDX-FileCopyrightText: 2017 Konstantinos Sideris <siderisk@auth.gr>
|
|
|
|
// SPDX-FileCopyrightText: 2021 Nheko Contributors
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
2017-04-23 21:31:08 +03:00
|
|
|
|
2017-05-16 21:46:45 +03:00
|
|
|
#pragma once
|
2017-04-23 21:31:08 +03:00
|
|
|
|
2020-05-13 07:35:26 +03:00
|
|
|
#include <QObject>
|
|
|
|
#include <QSet>
|
2018-02-09 13:20:09 +03:00
|
|
|
#include <QString>
|
2020-05-13 07:35:26 +03:00
|
|
|
#include <QVector>
|
2018-02-09 13:20:09 +03:00
|
|
|
#include <vector>
|
2017-04-23 21:31:08 +03:00
|
|
|
|
2017-11-30 21:02:46 +03:00
|
|
|
namespace emoji {
|
2020-06-11 05:34:14 +03:00
|
|
|
Q_NAMESPACE
|
2017-11-30 21:02:46 +03:00
|
|
|
|
2020-06-11 05:34:14 +03:00
|
|
|
struct Emoji
|
2017-10-15 22:08:51 +03:00
|
|
|
{
|
2020-05-13 07:35:26 +03:00
|
|
|
Q_GADGET
|
2021-01-23 04:07:23 +03:00
|
|
|
public:
|
|
|
|
enum class Category
|
|
|
|
{
|
|
|
|
People,
|
|
|
|
Nature,
|
|
|
|
Food,
|
|
|
|
Activity,
|
|
|
|
Travel,
|
|
|
|
Objects,
|
|
|
|
Symbols,
|
|
|
|
Flags,
|
|
|
|
Search
|
|
|
|
};
|
|
|
|
Q_ENUM(Category)
|
2020-05-13 07:35:26 +03:00
|
|
|
|
2020-06-11 05:34:14 +03:00
|
|
|
Q_PROPERTY(const QString &unicode MEMBER unicode)
|
|
|
|
Q_PROPERTY(const QString &shortName MEMBER shortName)
|
2021-01-23 04:07:23 +03:00
|
|
|
Q_PROPERTY(emoji::Emoji::Category category MEMBER category)
|
2020-05-13 07:35:26 +03:00
|
|
|
|
|
|
|
public:
|
2020-06-11 05:34:14 +03:00
|
|
|
QString unicode;
|
|
|
|
QString shortName;
|
2021-01-23 04:07:23 +03:00
|
|
|
Category category;
|
2017-04-23 21:31:08 +03:00
|
|
|
};
|
|
|
|
|
2017-11-30 21:02:46 +03:00
|
|
|
class Provider
|
2017-04-23 21:31:08 +03:00
|
|
|
{
|
|
|
|
public:
|
2020-05-13 07:35:26 +03:00
|
|
|
// all emoji for QML purposes
|
|
|
|
static const QVector<Emoji> emoji;
|
2017-04-23 21:31:08 +03:00
|
|
|
};
|
2020-05-13 07:35:26 +03:00
|
|
|
|
2017-11-30 21:02:46 +03:00
|
|
|
} // namespace emoji
|
2020-05-13 07:35:26 +03:00
|
|
|
Q_DECLARE_METATYPE(emoji::Emoji)
|