File indexing completed on 2024-05-19 05:04:33
0001 /* 0002 SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <QListWidgetItem> 0010 #include <QWidget> 0011 #include <TextEmoticonsCore/UnicodeEmoticon> 0012 0013 class QLineEdit; 0014 class KListWidgetSearchLine; 0015 0016 class UnicodeEmoticonListWidgetItem : public QListWidgetItem 0017 { 0018 public: 0019 explicit UnicodeEmoticonListWidgetItem(const QString &str, QListWidget *parent); 0020 0021 [[nodiscard]] TextEmoticonsCore::UnicodeEmoticon info() const; 0022 void setInfo(const TextEmoticonsCore::UnicodeEmoticon &info); 0023 0024 private: 0025 TextEmoticonsCore::UnicodeEmoticon mInfo; 0026 }; 0027 0028 class QListWidget; 0029 class ValidEmoticonGui : public QWidget 0030 { 0031 Q_OBJECT 0032 public: 0033 explicit ValidEmoticonGui(QWidget *parent = nullptr); 0034 ~ValidEmoticonGui() override; 0035 0036 private: 0037 [[nodiscard]] QStringList load(); 0038 [[nodiscard]] QString generateExcludeEmoticon(const QUrl &url, const QStringList &identifiers) const; 0039 QListWidget *mListWidget = nullptr; 0040 KListWidgetSearchLine *mSearchEmoticon = nullptr; 0041 };