KTextAddons

unicodeemoticon.cpp
1/*
2 SPDX-FileCopyrightText: 2018-2025 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include "unicodeemoticon.h"
8#include "emoticonunicodeutils.h"
9
10using namespace TextEmoticonsCore;
11UnicodeEmoticon::UnicodeEmoticon() = default;
12
13bool UnicodeEmoticon::isValid() const
14{
15 return !mIdentifier.isEmpty() && !mUnicode.isEmpty();
16}
17
18QString UnicodeEmoticon::identifier() const
19{
20 return mIdentifier;
21}
22
23void UnicodeEmoticon::setIdentifier(const QString &name)
24{
25 mIdentifier = name;
26}
27
28QString UnicodeEmoticon::unicode() const
29{
30 return mUnicode;
31}
32
33QString UnicodeEmoticon::unicodeDisplay() const
34{
35 if (!mUnicode.isEmpty()) {
36 if (mCachedHtml.isEmpty()) {
37 mCachedHtml = QStringLiteral("<span style=\"font: x-large %3\" title=\"%2\">%1</span>")
38 .arg(mUnicode, mIdentifier, TextEmoticonsCore::EmoticonUnicodeUtils::emojiFontName());
39 }
40 }
41 return mCachedHtml;
42}
43
44QString UnicodeEmoticon::key() const
45{
46 return mKey;
47}
48
49void UnicodeEmoticon::setKey(const QString &key)
50{
51 mKey = key;
52}
53
54bool UnicodeEmoticon::operator==(const UnicodeEmoticon &other) const
55{
56 return (mAliases == other.aliases()) && (mIdentifier == other.identifier()) && (mUnicode == other.unicode()) && (mCategory == other.category())
57 && (mKey == other.key()) && (mOrder == other.order()) && (mHasDiversityChildren == other.diversityChildren());
58}
59
60void UnicodeEmoticon::setDiversityChildren(bool b)
61{
62 mHasDiversityChildren = b;
63}
64
65bool UnicodeEmoticon::diversityChildren() const
66{
67 return mHasDiversityChildren;
68}
69
70int UnicodeEmoticon::order() const
71{
72 return mOrder;
73}
74
75void UnicodeEmoticon::setOrder(int order)
76{
77 mOrder = order;
78}
79
80void UnicodeEmoticon::setUnicode(const QString &unicode)
81{
82 mUnicode = EmoticonUnicodeUtils::escapeUnicodeEmoji(unicode);
83}
84
85QString UnicodeEmoticon::category() const
86{
87 return mCategory;
88}
89
90void UnicodeEmoticon::setCategory(const QString &category)
91{
92 mCategory = category;
93}
94
95QStringList UnicodeEmoticon::aliases() const
96{
97 return mAliases;
98}
99
100void UnicodeEmoticon::setAliases(const QStringList &aliases)
101{
102 mAliases = aliases;
103}
104
105bool UnicodeEmoticon::hasEmoji(const QString &identifier) const
106{
107 return (mIdentifier == identifier) || (mUnicode == identifier) || mAliases.contains(identifier);
108}
109
110QDebug operator<<(QDebug d, const UnicodeEmoticon &t)
111{
112 d << "Identifier : " << t.identifier();
113 d << "Unicode: " << t.unicode();
114 d << "Category: " << t.category();
115 d << "Aliases: " << t.aliases();
116 d << "Order: " << t.order();
117 d << "Key:" << t.key();
118 d << "DiversityChildren:" << t.diversityChildren();
119 return d;
120}
121
122#include "moc_unicodeemoticon.cpp"
The UnicodeEmoticon class.
QString name(StandardAction id)
KTEXTEDITOR_EXPORT QDebug operator<<(QDebug s, const MovingCursor &cursor)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 28 2025 11:51:55 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.