From 2644e4accaf7487ad51b205040163e42b76de3a4 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Sun, 20 Aug 2017 13:47:22 +0300 Subject: [PATCH] Small style change --- .clang-format | 5 +- include/Cache.h | 6 +- include/Config.h | 14 +- include/EmojiCategory.h | 3 +- include/Login.h | 15 +- include/MatrixClient.h | 18 +- include/Profile.h | 6 +- include/Register.h | 15 +- include/RoomInfoListItem.h | 23 +- include/RoomMessages.h | 9 +- include/RoomState.h | 9 +- include/SlidingStackWidget.h | 6 +- include/Sync.h | 48 +- include/TextInputWidget.h | 3 +- include/TimelineItem.h | 19 +- include/TimelineView.h | 28 +- include/TopRoomBar.h | 18 +- include/events/AliasesEventContent.h | 11 +- include/events/AvatarEventContent.h | 11 +- include/events/CanonicalAliasEventContent.h | 11 +- include/events/CreateEventContent.h | 11 +- include/events/Event.h | 39 +- .../events/HistoryVisibilityEventContent.h | 11 +- include/events/JoinRulesEventContent.h | 11 +- include/events/MemberEventContent.h | 17 +- include/events/MessageEvent.h | 18 +- include/events/MessageEventContent.h | 14 +- include/events/NameEventContent.h | 11 +- include/events/PowerLevelsEventContent.h | 29 +- include/events/RoomEvent.h | 36 +- include/events/StateEvent.h | 26 +- include/events/TopicEventContent.h | 11 +- include/events/messages/Audio.h | 12 +- include/events/messages/Emote.h | 6 +- include/events/messages/File.h | 15 +- include/events/messages/Image.h | 12 +- include/events/messages/Location.h | 12 +- include/events/messages/Notice.h | 6 +- include/events/messages/Text.h | 6 +- include/events/messages/Video.h | 12 +- include/ui/CircularProgress.h | 18 +- include/ui/DropShadow.h | 9 +- include/ui/FlatButton.h | 15 +- include/ui/Menu.h | 10 +- include/ui/OverlayModal.h | 6 +- include/ui/Ripple.h | 39 +- include/ui/RippleOverlay.h | 9 +- include/ui/TextField.h | 24 +- include/ui/Theme.h | 41 +- include/ui/ThemeManager.h | 3 +- src/AvatarProvider.cc | 15 +- src/Cache.cc | 55 +- src/ChatPage.cc | 64 +- src/Deserializable.cc | 5 +- src/EmojiCategory.cc | 2 +- src/EmojiItemDelegate.cc | 5 +- src/EmojiPanel.cc | 54 +- src/EmojiPickButton.cc | 10 +- src/EmojiProvider.cc | 2842 ++++++++--------- src/ImageItem.cc | 34 +- src/ImageOverlayDialog.cc | 13 +- src/Login.cc | 18 +- src/LoginPage.cc | 33 +- src/LogoutDialog.cc | 2 +- src/MainWindow.cc | 44 +- src/MatrixClient.cc | 107 +- src/Profile.cc | 3 +- src/QuickSwitcher.cc | 25 +- src/Register.cc | 14 +- src/RegisterPage.cc | 13 +- src/RoomInfoListItem.cc | 48 +- src/RoomList.cc | 30 +- src/RoomMessages.cc | 3 +- src/RoomState.cc | 20 +- src/SlidingStackWidget.cc | 20 +- src/Splitter.cc | 5 +- src/Sync.cc | 18 +- src/TextInputWidget.cc | 16 +- src/TimelineItem.cc | 101 +- src/TimelineView.cc | 76 +- src/TimelineViewManager.cc | 36 +- src/TopRoomBar.cc | 23 +- src/TrayIcon.cc | 26 +- src/UserInfoWidget.cc | 34 +- src/Versions.cc | 6 +- src/WelcomePage.cc | 8 +- src/events/AliasesEventContent.cc | 6 +- src/events/AvatarEventContent.cc | 6 +- src/events/CanonicalAliasEventContent.cc | 6 +- src/events/CreateEventContent.cc | 6 +- src/events/Event.cc | 22 +- src/events/HistoryVisibilityEventContent.cc | 9 +- src/events/JoinRulesEventContent.cc | 6 +- src/events/MemberEventContent.cc | 6 +- src/events/MessageEventContent.cc | 9 +- src/events/NameEventContent.cc | 6 +- src/events/PowerLevelsEventContent.cc | 12 +- src/events/TopicEventContent.cc | 6 +- src/events/messages/Audio.cc | 3 +- src/events/messages/Emote.cc | 3 +- src/events/messages/File.cc | 3 +- src/events/messages/Image.cc | 3 +- src/events/messages/Location.cc | 3 +- src/events/messages/Notice.cc | 3 +- src/events/messages/Text.cc | 3 +- src/events/messages/Video.cc | 3 +- src/main.cc | 3 +- src/ui/Avatar.cc | 42 +- src/ui/Badge.cc | 66 +- src/ui/CircularProgress.cc | 50 +- src/ui/FlatButton.cc | 203 +- src/ui/OverlayModal.cc | 15 +- src/ui/OverlayWidget.cc | 11 +- src/ui/RaisedButton.cc | 10 +- src/ui/Ripple.cc | 51 +- src/ui/RippleOverlay.cc | 19 +- src/ui/ScrollBar.cc | 16 +- src/ui/TextField.cc | 75 +- src/ui/Theme.cc | 26 +- src/ui/ThemeManager.cc | 6 +- 120 files changed, 2897 insertions(+), 2415 deletions(-) diff --git a/.clang-format b/.clang-format index ae3158bd..48a81211 100644 --- a/.clang-format +++ b/.clang-format @@ -7,13 +7,12 @@ AlignTrailingComments: false AllowAllParametersOfDeclarationOnNextLine: true AllowShortFunctionsOnASingleLine: None AllowShortIfStatementsOnASingleLine: false -BasedOnStyle: Google +BasedOnStyle: Mozilla BinPackArguments: false BinPackParameters: false BreakBeforeBraces: Linux BreakConstructorInitializersBeforeComma: true -ColumnLimit: 0 -ConstructorInitializerAllOnOneLineOrOnePerLine: true +ColumnLimit: 120 ContinuationIndentWidth: 8 IndentCaseLabels: false IndentWidth: 8 diff --git a/include/Cache.h b/include/Cache.h index dc9583ac..a64f0514 100644 --- a/include/Cache.h +++ b/include/Cache.h @@ -46,12 +46,14 @@ private: QString userId_; }; -inline void Cache::unmount() +inline void +Cache::unmount() { isMounted_ = false; } -inline QString Cache::memberDbName(const QString &roomid) +inline QString +Cache::memberDbName(const QString &roomid) { return QString("m.%1").arg(roomid); } diff --git a/include/Config.h b/include/Config.h index e12fac85..2fdeef83 100644 --- a/include/Config.h +++ b/include/Config.h @@ -36,8 +36,8 @@ namespace fonts static const int heading = 13; static const int badge = 10; static const int bubble = 20; -} // namespace fonts -} // namespace roomlist +} // namespace fonts +} // namespace roomlist namespace userInfoWidget { @@ -45,8 +45,8 @@ namespace fonts { static const int displayName = 16; static const int userid = 14; -} // namespace fonts -} // namespace userInfoWidget +} // namespace fonts +} // namespace userInfoWidget namespace topRoomBar { @@ -54,8 +54,8 @@ namespace fonts { static const int roomName = 15; static const int roomDescription = 13; -} // namespace fonts -} // namespace topRoomBar +} // namespace fonts +} // namespace topRoomBar namespace timeline { @@ -70,4 +70,4 @@ static const int timestamp = 9; } } -} // namespace conf +} // namespace conf diff --git a/include/EmojiCategory.h b/include/EmojiCategory.h index 9cf0a177..3a4e4e1e 100644 --- a/include/EmojiCategory.h +++ b/include/EmojiCategory.h @@ -53,7 +53,8 @@ private: QLabel *category_; }; -inline void EmojiCategory::clickIndex(const QModelIndex &index) +inline void +EmojiCategory::clickIndex(const QModelIndex &index) { emit emojiSelected(index.data(Qt::UserRole).toString()); } diff --git a/include/Login.h b/include/Login.h index c00eb6d2..09f62a71 100644 --- a/include/Login.h +++ b/include/Login.h @@ -37,12 +37,14 @@ private: QString password_; }; -inline void LoginRequest::setPassword(QString password) +inline void +LoginRequest::setPassword(QString password) { password_ = password; } -inline void LoginRequest::setUser(QString username) +inline void +LoginRequest::setUser(QString username) { user_ = username; } @@ -62,17 +64,20 @@ private: QString user_id_; }; -inline QString LoginResponse::getAccessToken() +inline QString +LoginResponse::getAccessToken() { return access_token_; } -inline QString LoginResponse::getHomeServer() +inline QString +LoginResponse::getHomeServer() { return home_server_; } -inline QString LoginResponse::getUserId() +inline QString +LoginResponse::getUserId() { return user_id_; } diff --git a/include/MatrixClient.h b/include/MatrixClient.h index e3613ab7..c20d02cc 100644 --- a/include/MatrixClient.h +++ b/include/MatrixClient.h @@ -136,32 +136,38 @@ private: QString next_batch_; }; -inline QUrl MatrixClient::getHomeServer() +inline QUrl +MatrixClient::getHomeServer() { return server_; } -inline int MatrixClient::transactionId() +inline int +MatrixClient::transactionId() { return txn_id_; } -inline void MatrixClient::setServer(const QString &server) +inline void +MatrixClient::setServer(const QString &server) { server_ = QUrl(QString("https://%1").arg(server)); } -inline void MatrixClient::setAccessToken(const QString &token) +inline void +MatrixClient::setAccessToken(const QString &token) { token_ = token; } -inline void MatrixClient::setNextBatchToken(const QString &next_batch) +inline void +MatrixClient::setNextBatchToken(const QString &next_batch) { next_batch_ = next_batch; } -inline void MatrixClient::incrementTransactionId() +inline void +MatrixClient::incrementTransactionId() { txn_id_ += 1; } diff --git a/include/Profile.h b/include/Profile.h index 54016509..7bb3deaa 100644 --- a/include/Profile.h +++ b/include/Profile.h @@ -35,12 +35,14 @@ private: QString display_name_; }; -inline QUrl ProfileResponse::getAvatarUrl() +inline QUrl +ProfileResponse::getAvatarUrl() { return avatar_url_; } -inline QString ProfileResponse::getDisplayName() +inline QString +ProfileResponse::getDisplayName() { return display_name_; } diff --git a/include/Register.h b/include/Register.h index 71b3a15a..695595a8 100644 --- a/include/Register.h +++ b/include/Register.h @@ -37,12 +37,14 @@ private: QString password_; }; -inline void RegisterRequest::setPassword(QString password) +inline void +RegisterRequest::setPassword(QString password) { password_ = password; } -inline void RegisterRequest::setUser(QString username) +inline void +RegisterRequest::setUser(QString username) { user_ = username; } @@ -62,17 +64,20 @@ private: QString user_id_; }; -inline QString RegisterResponse::getAccessToken() +inline QString +RegisterResponse::getAccessToken() { return access_token_; } -inline QString RegisterResponse::getHomeServer() +inline QString +RegisterResponse::getHomeServer() { return home_server_; } -inline QString RegisterResponse::getUserId() +inline QString +RegisterResponse::getUserId() { return user_id_; } diff --git a/include/RoomInfoListItem.h b/include/RoomInfoListItem.h index be7fe866..b368ab64 100644 --- a/include/RoomInfoListItem.h +++ b/include/RoomInfoListItem.h @@ -38,10 +38,7 @@ class RoomInfoListItem : public QWidget Q_OBJECT public: - RoomInfoListItem(QSharedPointer settings, - RoomState state, - QString room_id, - QWidget *parent = 0); + RoomInfoListItem(QSharedPointer settings, RoomState state, QString room_id, QWidget *parent = 0); ~RoomInfoListItem(); @@ -95,28 +92,34 @@ private: int unreadMsgCount_ = 0; }; -inline int RoomInfoListItem::unreadMessageCount() const +inline int +RoomInfoListItem::unreadMessageCount() const { return unreadMsgCount_; } -inline bool RoomInfoListItem::isPressed() const +inline bool +RoomInfoListItem::isPressed() const { return isPressed_; } -inline RoomState RoomInfoListItem::state() const +inline RoomState +RoomInfoListItem::state() const { return state_; } -inline void RoomInfoListItem::setAvatar(const QImage &img) +inline void +RoomInfoListItem::setAvatar(const QImage &img) { - roomAvatar_ = QPixmap::fromImage(img.scaled(IconSize, IconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); + roomAvatar_ = + QPixmap::fromImage(img.scaled(IconSize, IconSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); update(); } -inline void RoomInfoListItem::setDescriptionMessage(const DescInfo &info) +inline void +RoomInfoListItem::setDescriptionMessage(const DescInfo &info) { lastMsgInfo_ = info; } diff --git a/include/RoomMessages.h b/include/RoomMessages.h index 0353af9a..1321ac8e 100644 --- a/include/RoomMessages.h +++ b/include/RoomMessages.h @@ -37,17 +37,20 @@ private: QJsonArray chunk_; }; -inline QString RoomMessages::start() const +inline QString +RoomMessages::start() const { return start_; } -inline QString RoomMessages::end() const +inline QString +RoomMessages::end() const { return end_; } -inline QJsonArray RoomMessages::chunk() const +inline QJsonArray +RoomMessages::chunk() const { return chunk_; } diff --git a/include/RoomState.h b/include/RoomState.h index 1d8ae429..536ac4a9 100644 --- a/include/RoomState.h +++ b/include/RoomState.h @@ -80,17 +80,20 @@ private: QString userAvatar_; }; -inline QString RoomState::getTopic() const +inline QString +RoomState::getTopic() const { return topic.content().topic().simplified(); } -inline QString RoomState::getName() const +inline QString +RoomState::getName() const { return name_; } -inline QUrl RoomState::getAvatar() const +inline QUrl +RoomState::getAvatar() const { return avatar_; } diff --git a/include/SlidingStackWidget.h b/include/SlidingStackWidget.h index 1cb01cea..51903678 100644 --- a/include/SlidingStackWidget.h +++ b/include/SlidingStackWidget.h @@ -36,11 +36,7 @@ class SlidingStackWidget : public QStackedWidget public: // Defines the animation direction. - enum class AnimationDirection { - LEFT_TO_RIGHT, - RIGHT_TO_LEFT, - AUTOMATIC - }; + enum class AnimationDirection { LEFT_TO_RIGHT, RIGHT_TO_LEFT, AUTOMATIC }; SlidingStackWidget(QWidget *parent); ~SlidingStackWidget(); diff --git a/include/Sync.h b/include/Sync.h index 26cfdb48..da81344e 100644 --- a/include/Sync.h +++ b/include/Sync.h @@ -51,37 +51,44 @@ private: uint64_t origin_server_ts_; }; -inline QJsonObject Event::content() const +inline QJsonObject +Event::content() const { return content_; } -inline QJsonObject Event::unsigned_content() const +inline QJsonObject +Event::unsigned_content() const { return unsigned_; } -inline QString Event::sender() const +inline QString +Event::sender() const { return sender_; } -inline QString Event::state_key() const +inline QString +Event::state_key() const { return state_key_; } -inline QString Event::type() const +inline QString +Event::type() const { return type_; } -inline QString Event::eventId() const +inline QString +Event::eventId() const { return event_id_; } -inline uint64_t Event::timestamp() const +inline uint64_t +Event::timestamp() const { return origin_server_ts_; } @@ -96,7 +103,8 @@ private: QJsonArray events_; }; -inline QJsonArray State::events() const +inline QJsonArray +State::events() const { return events_; } @@ -116,17 +124,20 @@ private: bool limited_; }; -inline QJsonArray Timeline::events() const +inline QJsonArray +Timeline::events() const { return events_; } -inline QString Timeline::previousBatch() const +inline QString +Timeline::previousBatch() const { return prev_batch_; } -inline bool Timeline::limited() const +inline bool +Timeline::limited() const { return limited_; } @@ -148,12 +159,14 @@ private: /* UnreadNotifications unread_notifications_; */ }; -inline State JoinedRoom::state() const +inline State +JoinedRoom::state() const { return state_; } -inline Timeline JoinedRoom::timeline() const +inline Timeline +JoinedRoom::timeline() const { return timeline_; } @@ -169,7 +182,8 @@ private: QMap join_; }; -inline QMap Rooms::join() const +inline QMap +Rooms::join() const { return join_; } @@ -186,12 +200,14 @@ private: Rooms rooms_; }; -inline Rooms SyncResponse::rooms() const +inline Rooms +SyncResponse::rooms() const { return rooms_; } -inline QString SyncResponse::nextBatch() const +inline QString +SyncResponse::nextBatch() const { return next_batch_; } diff --git a/include/TextInputWidget.h b/include/TextInputWidget.h index 7fae4ae0..690a899b 100644 --- a/include/TextInputWidget.h +++ b/include/TextInputWidget.h @@ -66,7 +66,8 @@ private: EmojiPickButton *emoji_button_; }; -inline void TextInputWidget::focusLineEdit() +inline void +TextInputWidget::focusLineEdit() { input_->setFocus(); } diff --git a/include/TimelineItem.h b/include/TimelineItem.h index cc5b3da7..af2e273c 100644 --- a/include/TimelineItem.h +++ b/include/TimelineItem.h @@ -38,8 +38,14 @@ class TimelineItem : public QWidget { Q_OBJECT public: - TimelineItem(const events::MessageEvent &e, bool with_sender, const QString &color, QWidget *parent = 0); - TimelineItem(const events::MessageEvent &e, bool with_sender, const QString &color, QWidget *parent = 0); + TimelineItem(const events::MessageEvent &e, + bool with_sender, + const QString &color, + QWidget *parent = 0); + TimelineItem(const events::MessageEvent &e, + bool with_sender, + const QString &color, + QWidget *parent = 0); // For local messages. TimelineItem(const QString &userid, const QString &color, QString body, QWidget *parent = 0); @@ -69,10 +75,10 @@ private: DescInfo descriptionMsg_; QHBoxLayout *topLayout_; - QVBoxLayout *sideLayout_; // Avatar or Timestamp - QVBoxLayout *mainLayout_; // Header & Message body + QVBoxLayout *sideLayout_; // Avatar or Timestamp + QVBoxLayout *mainLayout_; // Header & Message body - QHBoxLayout *headerLayout_; // Username (&) Timestamp + QHBoxLayout *headerLayout_; // Username (&) Timestamp Avatar *userAvatar_; @@ -83,7 +89,8 @@ private: QLabel *body_; }; -inline DescInfo TimelineItem::descriptionMessage() const +inline DescInfo +TimelineItem::descriptionMessage() const { return descriptionMsg_; } diff --git a/include/TimelineView.h b/include/TimelineView.h index 6e92993d..17c2610a 100644 --- a/include/TimelineView.h +++ b/include/TimelineView.h @@ -44,10 +44,10 @@ struct PendingMessage { TimelineItem *widget; PendingMessage(int txn_id, QString body, QString event_id, TimelineItem *widget) - : txn_id(txn_id) - , body(body) - , event_id(event_id) - , widget(widget) + : txn_id(txn_id) + , body(body) + , event_id(event_id) + , widget(widget) { } }; @@ -63,12 +63,21 @@ class TimelineView : public QWidget Q_OBJECT public: - TimelineView(const Timeline &timeline, QSharedPointer client, const QString &room_id, QWidget *parent = 0); + TimelineView(const Timeline &timeline, + QSharedPointer client, + const QString &room_id, + QWidget *parent = 0); TimelineView(QSharedPointer client, const QString &room_id, QWidget *parent = 0); - TimelineItem *createTimelineItem(const events::MessageEvent &e, const QString &color, bool with_sender); - TimelineItem *createTimelineItem(const events::MessageEvent &e, const QString &color, bool with_sender); - TimelineItem *createTimelineItem(const events::MessageEvent &e, const QString &color, bool with_sender); + TimelineItem *createTimelineItem(const events::MessageEvent &e, + const QString &color, + bool with_sender); + TimelineItem *createTimelineItem(const events::MessageEvent &e, + const QString &color, + bool with_sender); + TimelineItem *createTimelineItem(const events::MessageEvent &e, + const QString &color, + bool with_sender); // Add new events at the end of the timeline. int addEvents(const Timeline &timeline); @@ -137,7 +146,8 @@ private: QSharedPointer client_; }; -inline bool TimelineView::isDuplicate(const QString &event_id) +inline bool +TimelineView::isDuplicate(const QString &event_id) { return eventIds_.contains(event_id); } diff --git a/include/TopRoomBar.h b/include/TopRoomBar.h index d5cb8e8e..be5d66e6 100644 --- a/include/TopRoomBar.h +++ b/include/TopRoomBar.h @@ -70,26 +70,28 @@ private: int buttonSize_; }; -inline void TopRoomBar::updateRoomAvatar(const QImage &avatar_image) +inline void +TopRoomBar::updateRoomAvatar(const QImage &avatar_image) { avatar_->setImage(avatar_image); } -inline void TopRoomBar::updateRoomAvatar(const QIcon &icon) +inline void +TopRoomBar::updateRoomAvatar(const QIcon &icon) { avatar_->setIcon(icon); } -inline void TopRoomBar::updateRoomName(const QString &name) +inline void +TopRoomBar::updateRoomName(const QString &name) { - QString elidedText = QFontMetrics(name_label_->font()) - .elidedText(name, Qt::ElideRight, width() * 0.8); + QString elidedText = QFontMetrics(name_label_->font()).elidedText(name, Qt::ElideRight, width() * 0.8); name_label_->setText(elidedText); } -inline void TopRoomBar::updateRoomTopic(const QString &topic) +inline void +TopRoomBar::updateRoomTopic(const QString &topic) { - QString elidedText = QFontMetrics(topic_label_->font()) - .elidedText(topic, Qt::ElideRight, width() * 0.8); + QString elidedText = QFontMetrics(topic_label_->font()).elidedText(topic, Qt::ElideRight, width() * 0.8); topic_label_->setText(elidedText); } diff --git a/include/events/AliasesEventContent.h b/include/events/AliasesEventContent.h index 3adf8d46..bd7f8f9f 100644 --- a/include/events/AliasesEventContent.h +++ b/include/events/AliasesEventContent.h @@ -26,7 +26,9 @@ namespace matrix { namespace events { -class AliasesEventContent : public Deserializable, public Serializable +class AliasesEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -38,9 +40,10 @@ private: QList aliases_; }; -inline QList AliasesEventContent::aliases() const +inline QList +AliasesEventContent::aliases() const { return aliases_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/AvatarEventContent.h b/include/events/AvatarEventContent.h index 43be3122..03347e26 100644 --- a/include/events/AvatarEventContent.h +++ b/include/events/AvatarEventContent.h @@ -30,7 +30,9 @@ namespace events * A picture that is associated with the room. */ -class AvatarEventContent : public Deserializable, public Serializable +class AvatarEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -42,9 +44,10 @@ private: QUrl url_; }; -inline QUrl AvatarEventContent::url() const +inline QUrl +AvatarEventContent::url() const { return url_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/CanonicalAliasEventContent.h b/include/events/CanonicalAliasEventContent.h index aed7ea6b..bc08bcce 100644 --- a/include/events/CanonicalAliasEventContent.h +++ b/include/events/CanonicalAliasEventContent.h @@ -32,7 +32,9 @@ namespace events * users which alias to use to advertise the room. */ -class CanonicalAliasEventContent : public Deserializable, public Serializable +class CanonicalAliasEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -44,9 +46,10 @@ private: QString alias_; }; -inline QString CanonicalAliasEventContent::alias() const +inline QString +CanonicalAliasEventContent::alias() const { return alias_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/CreateEventContent.h b/include/events/CreateEventContent.h index eedee9f1..0a401dac 100644 --- a/include/events/CreateEventContent.h +++ b/include/events/CreateEventContent.h @@ -29,7 +29,9 @@ namespace events * This is the first event in a room and cannot be changed. It acts as the root of all other events. */ -class CreateEventContent : public Deserializable, public Serializable +class CreateEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -42,9 +44,10 @@ private: QString creator_; }; -inline QString CreateEventContent::creator() const +inline QString +CreateEventContent::creator() const { return creator_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/Event.h b/include/events/Event.h index af538644..d48c20c6 100644 --- a/include/events/Event.h +++ b/include/events/Event.h @@ -53,13 +53,18 @@ enum class EventType { Unsupported, }; -EventType extractEventType(const QJsonObject &data); +EventType +extractEventType(const QJsonObject &data); -bool isMessageEvent(EventType type); -bool isStateEvent(EventType type); +bool +isMessageEvent(EventType type); +bool +isStateEvent(EventType type); -template -class Event : public Deserializable, public Serializable +template +class Event + : public Deserializable + , public Serializable { public: inline Content content() const; @@ -73,20 +78,23 @@ private: EventType type_; }; -template -inline Content Event::content() const +template +inline Content +Event::content() const { return content_; } -template -inline EventType Event::eventType() const +template +inline EventType +Event::eventType() const { return type_; } -template -void Event::deserialize(const QJsonValue &data) +template +void +Event::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("Event is not a JSON object"); @@ -97,8 +105,9 @@ void Event::deserialize(const QJsonValue &data) type_ = extractEventType(object); } -template -QJsonObject Event::serialize() const +template +QJsonObject +Event::serialize() const { QJsonObject object; @@ -145,5 +154,5 @@ QJsonObject Event::serialize() const return object; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/HistoryVisibilityEventContent.h b/include/events/HistoryVisibilityEventContent.h index 3edc7ce5..d854a775 100644 --- a/include/events/HistoryVisibilityEventContent.h +++ b/include/events/HistoryVisibilityEventContent.h @@ -32,7 +32,9 @@ enum class HistoryVisibility { WorldReadable, }; -class HistoryVisibilityEventContent : public Deserializable, public Serializable +class HistoryVisibilityEventContent + : public Deserializable + , public Serializable { public: inline HistoryVisibility historyVisibility() const; @@ -44,9 +46,10 @@ private: HistoryVisibility history_visibility_; }; -inline HistoryVisibility HistoryVisibilityEventContent::historyVisibility() const +inline HistoryVisibility +HistoryVisibilityEventContent::historyVisibility() const { return history_visibility_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/JoinRulesEventContent.h b/include/events/JoinRulesEventContent.h index 9b07e9a6..702bba98 100644 --- a/include/events/JoinRulesEventContent.h +++ b/include/events/JoinRulesEventContent.h @@ -44,7 +44,9 @@ enum class JoinRule { * Describes how users are allowed to join the room. */ -class JoinRulesEventContent : public Deserializable, public Serializable +class JoinRulesEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -56,9 +58,10 @@ private: JoinRule join_rule_; }; -inline JoinRule JoinRulesEventContent::joinRule() const +inline JoinRule +JoinRulesEventContent::joinRule() const { return join_rule_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/MemberEventContent.h b/include/events/MemberEventContent.h index feaf1559..2dd133ea 100644 --- a/include/events/MemberEventContent.h +++ b/include/events/MemberEventContent.h @@ -47,7 +47,9 @@ enum class Membership { * The current membership state of a user in the room. */ -class MemberEventContent : public Deserializable, public Serializable +class MemberEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -63,19 +65,22 @@ private: Membership membership_state_; }; -inline QUrl MemberEventContent::avatarUrl() const +inline QUrl +MemberEventContent::avatarUrl() const { return avatar_url_; } -inline QString MemberEventContent::displayName() const +inline QString +MemberEventContent::displayName() const { return display_name_; } -inline Membership MemberEventContent::membershipState() const +inline Membership +MemberEventContent::membershipState() const { return membership_state_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/MessageEvent.h b/include/events/MessageEvent.h index d1fb1b4a..24e236e3 100644 --- a/include/events/MessageEvent.h +++ b/include/events/MessageEvent.h @@ -24,7 +24,7 @@ namespace matrix { namespace events { -template +template class MessageEvent : public RoomEvent { public: @@ -36,14 +36,16 @@ private: MsgContent msg_content_; }; -template -inline MsgContent MessageEvent::msgContent() const +template +inline MsgContent +MessageEvent::msgContent() const { return msg_content_; } -template -void MessageEvent::deserialize(const QJsonValue &data) +template +void +MessageEvent::deserialize(const QJsonValue &data) { RoomEvent::deserialize(data); @@ -59,6 +61,6 @@ struct ThumbnailInfo { QString mimetype; }; -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/MessageEventContent.h b/include/events/MessageEventContent.h index 3bfd11c2..9f20809d 100644 --- a/include/events/MessageEventContent.h +++ b/include/events/MessageEventContent.h @@ -54,9 +54,12 @@ enum class MessageEventType { Unknown, }; -MessageEventType extractMessageEventType(const QJsonObject &data); +MessageEventType +extractMessageEventType(const QJsonObject &data); -class MessageEventContent : public Deserializable, public Serializable +class MessageEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -68,9 +71,10 @@ private: QString body_; }; -inline QString MessageEventContent::body() const +inline QString +MessageEventContent::body() const { return body_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/NameEventContent.h b/include/events/NameEventContent.h index ab90fd23..e290a696 100644 --- a/include/events/NameEventContent.h +++ b/include/events/NameEventContent.h @@ -29,7 +29,9 @@ namespace events * A human-friendly room name designed to be displayed to the end-user. */ -class NameEventContent : public Deserializable, public Serializable +class NameEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -41,9 +43,10 @@ private: QString name_; }; -inline QString NameEventContent::name() const +inline QString +NameEventContent::name() const { return name_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/PowerLevelsEventContent.h b/include/events/PowerLevelsEventContent.h index 7def9800..3a9d80d1 100644 --- a/include/events/PowerLevelsEventContent.h +++ b/include/events/PowerLevelsEventContent.h @@ -36,7 +36,9 @@ enum class PowerLevels { * Defines the power levels (privileges) of users in the room. */ -class PowerLevelsEventContent : public Deserializable, public Serializable +class PowerLevelsEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -68,39 +70,46 @@ private: QMap users_; }; -inline int PowerLevelsEventContent::banLevel() const +inline int +PowerLevelsEventContent::banLevel() const { return ban_; } -inline int PowerLevelsEventContent::inviteLevel() const +inline int +PowerLevelsEventContent::inviteLevel() const { return invite_; } -inline int PowerLevelsEventContent::kickLevel() const +inline int +PowerLevelsEventContent::kickLevel() const { return kick_; } -inline int PowerLevelsEventContent::redactLevel() const +inline int +PowerLevelsEventContent::redactLevel() const { return redact_; } -inline int PowerLevelsEventContent::eventsDefaultLevel() const +inline int +PowerLevelsEventContent::eventsDefaultLevel() const { return events_default_; } -inline int PowerLevelsEventContent::stateDefaultLevel() const +inline int +PowerLevelsEventContent::stateDefaultLevel() const { return state_default_; } -inline int PowerLevelsEventContent::usersDefaultLevel() const +inline int +PowerLevelsEventContent::usersDefaultLevel() const { return users_default_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/RoomEvent.h b/include/events/RoomEvent.h index 79fc4be2..b4bc78fe 100644 --- a/include/events/RoomEvent.h +++ b/include/events/RoomEvent.h @@ -26,7 +26,7 @@ namespace matrix { namespace events { -template +template class RoomEvent : public Event { public: @@ -46,32 +46,37 @@ private: uint64_t origin_server_ts_; }; -template -inline QString RoomEvent::eventId() const +template +inline QString +RoomEvent::eventId() const { return event_id_; } -template -inline QString RoomEvent::roomId() const +template +inline QString +RoomEvent::roomId() const { return room_id_; } -template -inline QString RoomEvent::sender() const +template +inline QString +RoomEvent::sender() const { return sender_; } -template -inline uint64_t RoomEvent::timestamp() const +template +inline uint64_t +RoomEvent::timestamp() const { return origin_server_ts_; } -template -void RoomEvent::deserialize(const QJsonValue &data) +template +void +RoomEvent::deserialize(const QJsonValue &data) { Event::deserialize(data); @@ -96,8 +101,9 @@ void RoomEvent::deserialize(const QJsonValue &data) origin_server_ts_ = object.value("origin_server_ts").toDouble(); } -template -QJsonObject RoomEvent::serialize() const +template +QJsonObject +RoomEvent::serialize() const { QJsonObject object = Event::serialize(); @@ -108,5 +114,5 @@ QJsonObject RoomEvent::serialize() const return object; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/StateEvent.h b/include/events/StateEvent.h index 26313048..e5cd4c10 100644 --- a/include/events/StateEvent.h +++ b/include/events/StateEvent.h @@ -25,7 +25,7 @@ namespace matrix { namespace events { -template +template class StateEvent : public RoomEvent { public: @@ -40,20 +40,23 @@ private: Content prev_content_; }; -template -inline QString StateEvent::stateKey() const +template +inline QString +StateEvent::stateKey() const { return state_key_; } -template -inline Content StateEvent::previousContent() const +template +inline Content +StateEvent::previousContent() const { return prev_content_; } -template -void StateEvent::deserialize(const QJsonValue &data) +template +void +StateEvent::deserialize(const QJsonValue &data) { RoomEvent::deserialize(data); @@ -68,8 +71,9 @@ void StateEvent::deserialize(const QJsonValue &data) prev_content_.deserialize(object.value("prev_content")); } -template -QJsonObject StateEvent::serialize() const +template +QJsonObject +StateEvent::serialize() const { QJsonObject object = RoomEvent::serialize(); @@ -82,5 +86,5 @@ QJsonObject StateEvent::serialize() const return object; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/TopicEventContent.h b/include/events/TopicEventContent.h index ff2fe3bb..e8f3d7a4 100644 --- a/include/events/TopicEventContent.h +++ b/include/events/TopicEventContent.h @@ -29,7 +29,9 @@ namespace events * A topic is a short message detailing what is currently being discussed in the room. */ -class TopicEventContent : public Deserializable, public Serializable +class TopicEventContent + : public Deserializable + , public Serializable { public: void deserialize(const QJsonValue &data) override; @@ -41,9 +43,10 @@ private: QString topic_; }; -inline QString TopicEventContent::topic() const +inline QString +TopicEventContent::topic() const { return topic_; } -} // namespace events -} // namespace matrix +} // namespace events +} // namespace matrix diff --git a/include/events/messages/Audio.h b/include/events/messages/Audio.h index 3eeb5fc4..1f289dbb 100644 --- a/include/events/messages/Audio.h +++ b/include/events/messages/Audio.h @@ -47,16 +47,18 @@ private: AudioInfo info_; }; -inline QString Audio::url() const +inline QString +Audio::url() const { return url_; } -inline AudioInfo Audio::info() const +inline AudioInfo +Audio::info() const { return info_; } -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/messages/Emote.h b/include/events/messages/Emote.h index 28118b1a..b3af8a5f 100644 --- a/include/events/messages/Emote.h +++ b/include/events/messages/Emote.h @@ -32,6 +32,6 @@ class Emote : public Deserializable public: void deserialize(const QJsonObject &obj) override; }; -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/messages/File.h b/include/events/messages/File.h index 59e0ec15..22cad8be 100644 --- a/include/events/messages/File.h +++ b/include/events/messages/File.h @@ -53,21 +53,24 @@ private: FileInfo info_; }; -inline QString File::filename() const +inline QString +File::filename() const { return filename_; } -inline QString File::url() const +inline QString +File::url() const { return url_; } -inline FileInfo File::info() const +inline FileInfo +File::info() const { return info_; } -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/messages/Image.h b/include/events/messages/Image.h index d73aa5c8..79360050 100644 --- a/include/events/messages/Image.h +++ b/include/events/messages/Image.h @@ -51,16 +51,18 @@ private: ImageInfo info_; }; -inline QString Image::url() const +inline QString +Image::url() const { return url_; } -inline ImageInfo Image::info() const +inline ImageInfo +Image::info() const { return info_; } -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/messages/Location.h b/include/events/messages/Location.h index c245112b..864c5111 100644 --- a/include/events/messages/Location.h +++ b/include/events/messages/Location.h @@ -47,16 +47,18 @@ private: LocationInfo info_; }; -inline QString Location::geoUri() const +inline QString +Location::geoUri() const { return geo_uri_; } -inline LocationInfo Location::info() const +inline LocationInfo +Location::info() const { return info_; } -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/messages/Notice.h b/include/events/messages/Notice.h index 4ea9b11f..0b2a92e3 100644 --- a/include/events/messages/Notice.h +++ b/include/events/messages/Notice.h @@ -32,6 +32,6 @@ class Notice : public Deserializable public: void deserialize(const QJsonObject &obj) override; }; -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/messages/Text.h b/include/events/messages/Text.h index e98a4c1b..8950e994 100644 --- a/include/events/messages/Text.h +++ b/include/events/messages/Text.h @@ -32,6 +32,6 @@ class Text : public Deserializable public: void deserialize(const QJsonObject &obj) override; }; -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/events/messages/Video.h b/include/events/messages/Video.h index 3a373928..2b160bea 100644 --- a/include/events/messages/Video.h +++ b/include/events/messages/Video.h @@ -52,16 +52,18 @@ private: VideoInfo info_; }; -inline QString Video::url() const +inline QString +Video::url() const { return url_; } -inline VideoInfo Video::info() const +inline VideoInfo +Video::info() const { return info_; } -} // namespace messages -} // namespace events -} // namespace matrix +} // namespace messages +} // namespace events +} // namespace matrix diff --git a/include/ui/CircularProgress.h b/include/ui/CircularProgress.h index 6a785ca2..5ed8994d 100644 --- a/include/ui/CircularProgress.h +++ b/include/ui/CircularProgress.h @@ -80,35 +80,41 @@ private: int angle_; }; -inline void CircularProgressDelegate::setDashOffset(qreal offset) +inline void +CircularProgressDelegate::setDashOffset(qreal offset) { dash_offset_ = offset; progress_->update(); } -inline void CircularProgressDelegate::setDashLength(qreal length) +inline void +CircularProgressDelegate::setDashLength(qreal length) { dash_length_ = length; progress_->update(); } -inline void CircularProgressDelegate::setAngle(int angle) +inline void +CircularProgressDelegate::setAngle(int angle) { angle_ = angle; progress_->update(); } -inline qreal CircularProgressDelegate::dashOffset() const +inline qreal +CircularProgressDelegate::dashOffset() const { return dash_offset_; } -inline qreal CircularProgressDelegate::dashLength() const +inline qreal +CircularProgressDelegate::dashLength() const { return dash_length_; } -inline int CircularProgressDelegate::angle() const +inline int +CircularProgressDelegate::angle() const { return angle_; } diff --git a/include/ui/DropShadow.h b/include/ui/DropShadow.h index 19d61c8d..3054d7dd 100644 --- a/include/ui/DropShadow.h +++ b/include/ui/DropShadow.h @@ -30,7 +30,8 @@ public: gradient.setStart(right0); gradient.setFinalStop(right1); painter.setBrush(QBrush(gradient)); - painter.drawRoundRect(QRectF(QPointF(width - margin * radius, margin), QPointF(width, height - margin)), 0.0, 0.0); + painter.drawRoundRect( + QRectF(QPointF(width - margin * radius, margin), QPointF(width, height - margin)), 0.0, 0.0); // Left QPointF left0(margin, height / 2); @@ -54,7 +55,8 @@ public: gradient.setStart(bottom0); gradient.setFinalStop(bottom1); painter.setBrush(QBrush(gradient)); - painter.drawRoundRect(QRectF(QPointF(margin, height - margin), QPointF(width - margin, height)), 0.0, 0.0); + painter.drawRoundRect( + QRectF(QPointF(margin, height - margin), QPointF(width - margin, height)), 0.0, 0.0); // BottomRight QPointF bottomright0(width - margin, height - margin); @@ -95,6 +97,7 @@ public: // Widget painter.setBrush(QBrush("#FFFFFF")); painter.setRenderHint(QPainter::Antialiasing); - painter.drawRoundRect(QRectF(QPointF(margin, margin), QPointF(width - margin, height - margin)), radius, radius); + painter.drawRoundRect( + QRectF(QPointF(margin, margin), QPointF(width - margin, height - margin)), radius, radius); } }; diff --git a/include/ui/FlatButton.h b/include/ui/FlatButton.h index 5efdb838..1c44d5d7 100644 --- a/include/ui/FlatButton.h +++ b/include/ui/FlatButton.h @@ -63,12 +63,14 @@ private: bool was_checked_; }; -inline qreal FlatButtonStateMachine::overlayOpacity() const +inline qreal +FlatButtonStateMachine::overlayOpacity() const { return overlay_opacity_; } -inline qreal FlatButtonStateMachine::checkedOverlayProgress() const +inline qreal +FlatButtonStateMachine::checkedOverlayProgress() const { return checked_overlay_progress_; } @@ -86,8 +88,13 @@ class FlatButton : public QPushButton public: explicit FlatButton(QWidget *parent = 0, ui::ButtonPreset preset = ui::ButtonPreset::FlatPreset); - explicit FlatButton(const QString &text, QWidget *parent = 0, ui::ButtonPreset preset = ui::ButtonPreset::FlatPreset); - FlatButton(const QString &text, ui::Role role, QWidget *parent = 0, ui::ButtonPreset preset = ui::ButtonPreset::FlatPreset); + explicit FlatButton(const QString &text, + QWidget *parent = 0, + ui::ButtonPreset preset = ui::ButtonPreset::FlatPreset); + FlatButton(const QString &text, + ui::Role role, + QWidget *parent = 0, + ui::ButtonPreset preset = ui::ButtonPreset::FlatPreset); ~FlatButton(); void applyPreset(ui::ButtonPreset preset); diff --git a/include/ui/Menu.h b/include/ui/Menu.h index 7794b2d2..0b4eb6d5 100644 --- a/include/ui/Menu.h +++ b/include/ui/Menu.h @@ -8,16 +8,16 @@ class Menu : public QMenu { public: Menu(QWidget *parent = nullptr) - : QMenu(parent) + : QMenu(parent) { QFont font; font.setPixelSize(conf::fontSize); setFont(font); - setStyleSheet( - "QMenu { color: black; background-color: white; margin: 0px;}" - "QMenu::item { color: black; padding: 7px 20px; border: 1px solid transparent; margin: 2px 0px; }" - "QMenu::item:selected { color: black; background: rgba(180, 180, 180, 100); }"); + setStyleSheet("QMenu { color: black; background-color: white; margin: 0px;}" + "QMenu::item { color: black; padding: 7px 20px; border: 1px solid transparent; margin: " + "2px 0px; }" + "QMenu::item:selected { color: black; background: rgba(180, 180, 180, 100); }"); }; protected: diff --git a/include/ui/OverlayModal.h b/include/ui/OverlayModal.h index d6efd29e..4dea6513 100644 --- a/include/ui/OverlayModal.h +++ b/include/ui/OverlayModal.h @@ -46,13 +46,15 @@ private: QPropertyAnimation *animation_; }; -inline void OverlayModal::setDuration(int duration) +inline void +OverlayModal::setDuration(int duration) { duration_ = duration; animation_->setDuration(duration_); } -inline void OverlayModal::setColor(QColor color) +inline void +OverlayModal::setColor(QColor color) { color_ = color; } diff --git a/include/ui/Ripple.h b/include/ui/Ripple.h index e04e7173..01e30698 100644 --- a/include/ui/Ripple.h +++ b/include/ui/Ripple.h @@ -66,67 +66,80 @@ private: QBrush brush_; }; -inline void Ripple::setOverlay(RippleOverlay *overlay) +inline void +Ripple::setOverlay(RippleOverlay *overlay) { overlay_ = overlay; } -inline qreal Ripple::radius() const +inline qreal +Ripple::radius() const { return radius_; } -inline qreal Ripple::opacity() const +inline qreal +Ripple::opacity() const { return opacity_; } -inline QColor Ripple::color() const +inline QColor +Ripple::color() const { return brush_.color(); } -inline QBrush Ripple::brush() const +inline QBrush +Ripple::brush() const { return brush_; } -inline QPoint Ripple::center() const +inline QPoint +Ripple::center() const { return center_; } -inline QPropertyAnimation *Ripple::radiusAnimation() const +inline QPropertyAnimation * +Ripple::radiusAnimation() const { return radius_anim_; } -inline QPropertyAnimation *Ripple::opacityAnimation() const +inline QPropertyAnimation * +Ripple::opacityAnimation() const { return opacity_anim_; } -inline void Ripple::setOpacityStartValue(qreal value) +inline void +Ripple::setOpacityStartValue(qreal value) { opacity_anim_->setStartValue(value); } -inline void Ripple::setOpacityEndValue(qreal value) +inline void +Ripple::setOpacityEndValue(qreal value) { opacity_anim_->setEndValue(value); } -inline void Ripple::setRadiusStartValue(qreal value) +inline void +Ripple::setRadiusStartValue(qreal value) { radius_anim_->setStartValue(value); } -inline void Ripple::setRadiusEndValue(qreal value) +inline void +Ripple::setRadiusEndValue(qreal value) { radius_anim_->setEndValue(value); } -inline void Ripple::setDuration(int msecs) +inline void +Ripple::setDuration(int msecs) { radius_anim_->setDuration(msecs); opacity_anim_->setDuration(msecs); diff --git a/include/ui/RippleOverlay.h b/include/ui/RippleOverlay.h index b3fb9a4c..cc6fd05e 100644 --- a/include/ui/RippleOverlay.h +++ b/include/ui/RippleOverlay.h @@ -37,18 +37,21 @@ private: bool use_clip_; }; -inline void RippleOverlay::setClipping(bool enable) +inline void +RippleOverlay::setClipping(bool enable) { use_clip_ = enable; update(); } -inline bool RippleOverlay::hasClipping() const +inline bool +RippleOverlay::hasClipping() const { return use_clip_; } -inline void RippleOverlay::setClipPath(const QPainterPath &path) +inline void +RippleOverlay::setClipPath(const QPainterPath &path) { clip_path_ = path; update(); diff --git a/include/ui/TextField.h b/include/ui/TextField.h index 11319f24..ec761483 100644 --- a/include/ui/TextField.h +++ b/include/ui/TextField.h @@ -92,34 +92,40 @@ private: qreal y_; }; -inline void TextFieldLabel::setColor(const QColor &color) +inline void +TextFieldLabel::setColor(const QColor &color) { color_ = color; update(); } -inline void TextFieldLabel::setOffset(const QPointF &pos) +inline void +TextFieldLabel::setOffset(const QPointF &pos) { x_ = pos.x(); y_ = pos.y(); update(); } -inline void TextFieldLabel::setScale(qreal scale) +inline void +TextFieldLabel::setScale(qreal scale) { scale_ = scale; update(); } -inline QPointF TextFieldLabel::offset() const +inline QPointF +TextFieldLabel::offset() const { return QPointF(x_, y_); } -inline qreal TextFieldLabel::scale() const +inline qreal +TextFieldLabel::scale() const { return scale_; } -inline QColor TextFieldLabel::color() const +inline QColor +TextFieldLabel::color() const { return color_; } @@ -155,13 +161,15 @@ private: qreal progress_; }; -inline void TextFieldStateMachine::setProgress(qreal progress) +inline void +TextFieldStateMachine::setProgress(qreal progress) { progress_ = progress; text_field_->update(); } -inline qreal TextFieldStateMachine::progress() const +inline qreal +TextFieldStateMachine::progress() const { return progress_; } diff --git a/include/ui/Theme.h b/include/ui/Theme.h index e63d8fc5..9806686c 100644 --- a/include/ui/Theme.h +++ b/include/ui/Theme.h @@ -6,11 +6,7 @@ namespace ui { -enum class AvatarType { - Icon, - Image, - Letter -}; +enum class AvatarType { Icon, Image, Letter }; namespace sidebar { @@ -23,38 +19,17 @@ const int FontSize = 16; // Default avatar size. Width and height. const int AvatarSize = 40; -enum class ButtonPreset { - FlatPreset, - CheckablePreset -}; +enum class ButtonPreset { FlatPreset, CheckablePreset }; -enum class RippleStyle { - CenteredRipple, - PositionedRipple, - NoRipple -}; +enum class RippleStyle { CenteredRipple, PositionedRipple, NoRipple }; -enum class OverlayStyle { - NoOverlay, - TintedOverlay, - GrayOverlay -}; +enum class OverlayStyle { NoOverlay, TintedOverlay, GrayOverlay }; -enum class Role { - Default, - Primary, - Secondary -}; +enum class Role { Default, Primary, Secondary }; -enum class ButtonIconPlacement { - LeftIcon, - RightIcon -}; +enum class ButtonIconPlacement { LeftIcon, RightIcon }; -enum class ProgressType { - DeterminateProgress, - IndeterminateProgress -}; +enum class ProgressType { DeterminateProgress, IndeterminateProgress }; enum class Color { Black, @@ -70,7 +45,7 @@ enum class Color { Transparent }; -} // namespace ui +} // namespace ui class Theme : public QObject { diff --git a/include/ui/ThemeManager.h b/include/ui/ThemeManager.h index 98ed8193..a6947bc9 100644 --- a/include/ui/ThemeManager.h +++ b/include/ui/ThemeManager.h @@ -23,7 +23,8 @@ private: Theme *theme_; }; -inline ThemeManager &ThemeManager::instance() +inline ThemeManager & +ThemeManager::instance() { static ThemeManager instance; return instance; diff --git a/src/AvatarProvider.cc b/src/AvatarProvider.cc index 7481b781..bf84295f 100644 --- a/src/AvatarProvider.cc +++ b/src/AvatarProvider.cc @@ -23,14 +23,16 @@ QMap AvatarProvider::userAvatars_; QMap AvatarProvider::avatarUrls_; QMap> AvatarProvider::toBeResolved_; -void AvatarProvider::init(QSharedPointer client) +void +AvatarProvider::init(QSharedPointer client) { client_ = client; connect(client_.data(), &MatrixClient::userAvatarRetrieved, &AvatarProvider::updateAvatar); } -void AvatarProvider::updateAvatar(const QString &uid, const QImage &img) +void +AvatarProvider::updateAvatar(const QString &uid, const QImage &img) { if (toBeResolved_.contains(uid)) { auto items = toBeResolved_[uid]; @@ -45,7 +47,8 @@ void AvatarProvider::updateAvatar(const QString &uid, const QImage &img) userAvatars_.insert(uid, img); } -void AvatarProvider::resolve(const QString &userId, TimelineItem *item) +void +AvatarProvider::resolve(const QString &userId, TimelineItem *item) { if (userAvatars_.contains(userId)) { auto img = userAvatars_[userId]; @@ -70,12 +73,14 @@ void AvatarProvider::resolve(const QString &userId, TimelineItem *item) } } -void AvatarProvider::setAvatarUrl(const QString &userId, const QUrl &url) +void +AvatarProvider::setAvatarUrl(const QString &userId, const QUrl &url) { avatarUrls_.insert(userId, url); } -void AvatarProvider::clear() +void +AvatarProvider::clear() { userAvatars_.clear(); avatarUrls_.clear(); diff --git a/src/Cache.cc b/src/Cache.cc index 0a6ab3fc..a9699276 100644 --- a/src/Cache.cc +++ b/src/Cache.cc @@ -31,11 +31,11 @@ static const lmdb::val NEXT_BATCH_KEY("next_batch"); static const lmdb::val transactionID("transaction_id"); Cache::Cache(const QString &userId) - : env_{nullptr} - , stateDb_{0} - , roomDb_{0} - , isMounted_{false} - , userId_{userId} + : env_{ nullptr } + , stateDb_{ 0 } + , roomDb_{ 0 } + , isMounted_{ false } + , userId_{ userId } { auto statePath = QString("%1/%2/state") .arg(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)) @@ -51,7 +51,8 @@ Cache::Cache(const QString &userId) qDebug() << "[cache] First time initializing LMDB"; if (!QDir().mkpath(statePath)) { - throw std::runtime_error(("Unable to create state directory:" + statePath).toStdString().c_str()); + throw std::runtime_error( + ("Unable to create state directory:" + statePath).toStdString().c_str()); } } @@ -83,7 +84,8 @@ Cache::Cache(const QString &userId) isMounted_ = true; } -void Cache::insertRoomState(const QString &roomid, const RoomState &state) +void +Cache::insertRoomState(const QString &roomid, const RoomState &state) { if (!isMounted_) return; @@ -93,11 +95,7 @@ void Cache::insertRoomState(const QString &roomid, const RoomState &state) auto stateEvents = QJsonDocument(state.serialize()).toBinaryData(); auto id = roomid.toUtf8(); - lmdb::dbi_put( - txn, - roomDb_, - lmdb::val(id.data(), id.size()), - lmdb::val(stateEvents.data(), stateEvents.size())); + lmdb::dbi_put(txn, roomDb_, lmdb::val(id.data(), id.size()), lmdb::val(stateEvents.data(), stateEvents.size())); for (const auto &membership : state.memberships) { lmdb::dbi membersDb = lmdb::dbi::open(txn, roomid.toStdString().c_str(), MDB_CREATE); @@ -111,21 +109,19 @@ void Cache::insertRoomState(const QString &roomid, const RoomState &state) // We add or update (e.g invite -> join) a new user to the membership list. case events::Membership::Invite: case events::Membership::Join: { - lmdb::dbi_put( - txn, - membersDb, - lmdb::val(key.data(), key.size()), - lmdb::val(memberEvent.data(), memberEvent.size())); + lmdb::dbi_put(txn, + membersDb, + lmdb::val(key.data(), key.size()), + lmdb::val(memberEvent.data(), memberEvent.size())); break; } // We remove the user from the membership list. case events::Membership::Leave: case events::Membership::Ban: { - lmdb::dbi_del( - txn, - membersDb, - lmdb::val(key.data(), key.size()), - lmdb::val(memberEvent.data(), memberEvent.size())); + lmdb::dbi_del(txn, + membersDb, + lmdb::val(key.data(), key.size()), + lmdb::val(memberEvent.data(), memberEvent.size())); break; } case events::Membership::Knock: { @@ -138,7 +134,8 @@ void Cache::insertRoomState(const QString &roomid, const RoomState &state) txn.commit(); } -QMap Cache::states() +QMap +Cache::states() { QMap states; @@ -166,7 +163,8 @@ QMap Cache::states() while (memberCursor.get(memberId, memberContent, MDB_NEXT)) { auto userid = QString::fromUtf8(memberId.data(), memberId.size()); - auto data = QJsonDocument::fromBinaryData(QByteArray(memberContent.data(), memberContent.size())); + auto data = + QJsonDocument::fromBinaryData(QByteArray(memberContent.data(), memberContent.size())); try { events::StateEvent member; @@ -194,7 +192,8 @@ QMap Cache::states() return states; } -void Cache::setNextBatchToken(const QString &token) +void +Cache::setNextBatchToken(const QString &token) { auto txn = lmdb::txn::begin(env_); auto value = token.toUtf8(); @@ -204,7 +203,8 @@ void Cache::setNextBatchToken(const QString &token) txn.commit(); } -bool Cache::isInitialized() +bool +Cache::isInitialized() { auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY); lmdb::val token; @@ -216,7 +216,8 @@ bool Cache::isInitialized() return res; } -QString Cache::nextBatchToken() +QString +Cache::nextBatchToken() { auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY); lmdb::val token; diff --git a/src/ChatPage.cc b/src/ChatPage.cc index 55933d25..1ebbcf91 100644 --- a/src/ChatPage.cc +++ b/src/ChatPage.cc @@ -43,9 +43,9 @@ namespace events = matrix::events; ChatPage::ChatPage(QSharedPointer client, QWidget *parent) - : QWidget(parent) - , sync_interval_(2000) - , client_(client) + : QWidget(parent) + , sync_interval_(2000) + , client_(client) { setStyleSheet("background-color: #f8fbfe;"); @@ -168,23 +168,18 @@ ChatPage::ChatPage(QSharedPointer client, QWidget *parent) SIGNAL(syncCompleted(const SyncResponse &)), this, SLOT(syncCompleted(const SyncResponse &))); - connect(client_.data(), - SIGNAL(syncFailed(const QString &)), - this, - SLOT(syncFailed(const QString &))); + connect(client_.data(), SIGNAL(syncFailed(const QString &)), this, SLOT(syncFailed(const QString &))); connect(client_.data(), SIGNAL(getOwnProfileResponse(const QUrl &, const QString &)), this, SLOT(updateOwnProfileInfo(const QUrl &, const QString &))); - connect(client_.data(), - SIGNAL(ownAvatarRetrieved(const QPixmap &)), - this, - SLOT(setOwnAvatar(const QPixmap &))); + connect(client_.data(), SIGNAL(ownAvatarRetrieved(const QPixmap &)), this, SLOT(setOwnAvatar(const QPixmap &))); AvatarProvider::init(client); } -void ChatPage::logout() +void +ChatPage::logout() { sync_timer_->stop(); @@ -217,7 +212,8 @@ void ChatPage::logout() emit close(); } -void ChatPage::bootstrap(QString userid, QString homeserver, QString token) +void +ChatPage::bootstrap(QString userid, QString homeserver, QString token) { client_->setServer(homeserver); client_->setAccessToken(token); @@ -235,24 +231,28 @@ void ChatPage::bootstrap(QString userid, QString homeserver, QString token) client_->initialSync(); } -void ChatPage::startSync() +void +ChatPage::startSync() { client_->sync(); } -void ChatPage::setOwnAvatar(const QPixmap &img) +void +ChatPage::setOwnAvatar(const QPixmap &img) { user_info_widget_->setAvatar(img.toImage()); } -void ChatPage::syncFailed(const QString &msg) +void +ChatPage::syncFailed(const QString &msg) { qWarning() << "Sync error:" << msg; sync_timer_->start(sync_interval_ * 5); } // TODO: Should be moved in another class that manages this global list. -void ChatPage::updateDisplayNames(const RoomState &state) +void +ChatPage::updateDisplayNames(const RoomState &state) { for (const auto member : state.memberships) { auto displayName = member.content().displayName(); @@ -262,7 +262,8 @@ void ChatPage::updateDisplayNames(const RoomState &state) } } -void ChatPage::syncCompleted(const SyncResponse &response) +void +ChatPage::syncCompleted(const SyncResponse &response) { // TODO: Catch exception cache_->setNextBatchToken(response.nextBatch()); @@ -309,7 +310,8 @@ void ChatPage::syncCompleted(const SyncResponse &response) sync_timer_->start(sync_interval_); } -void ChatPage::initialSyncCompleted(const SyncResponse &response) +void +ChatPage::initialSyncCompleted(const SyncResponse &response) { if (!response.nextBatch().isEmpty()) client_->setNextBatchToken(response.nextBatch()); @@ -367,7 +369,8 @@ void ChatPage::initialSyncCompleted(const SyncResponse &response) emit contentLoaded(); } -void ChatPage::updateTopBarAvatar(const QString &roomid, const QPixmap &img) +void +ChatPage::updateTopBarAvatar(const QString &roomid, const QPixmap &img) { room_avatars_.insert(roomid, img); @@ -377,7 +380,8 @@ void ChatPage::updateTopBarAvatar(const QString &roomid, const QPixmap &img) top_bar_->updateRoomAvatar(img.toImage()); } -void ChatPage::updateOwnProfileInfo(const QUrl &avatar_url, const QString &display_name) +void +ChatPage::updateOwnProfileInfo(const QUrl &avatar_url, const QString &display_name) { QSettings settings; auto userid = settings.value("auth/user_id").toString(); @@ -389,7 +393,8 @@ void ChatPage::updateOwnProfileInfo(const QUrl &avatar_url, const QString &displ client_->fetchOwnAvatar(avatar_url); } -void ChatPage::changeTopRoomInfo(const QString &room_id) +void +ChatPage::changeTopRoomInfo(const QString &room_id) { if (!state_manager_.contains(room_id)) return; @@ -408,7 +413,8 @@ void ChatPage::changeTopRoomInfo(const QString &room_id) current_room_ = room_id; } -void ChatPage::showUnreadMessageNotification(int count) +void +ChatPage::showUnreadMessageNotification(int count) { emit unreadMessages(count); @@ -419,7 +425,8 @@ void ChatPage::showUnreadMessageNotification(int count) emit changeWindowTitle(QString("nheko (%1)").arg(count)); } -void ChatPage::updateRoomState(RoomState &room_state, const QJsonArray &events) +void +ChatPage::updateRoomState(RoomState &room_state, const QJsonArray &events) { events::EventType ty; @@ -509,7 +516,8 @@ void ChatPage::updateRoomState(RoomState &room_state, const QJsonArray &events) } } -void ChatPage::loadStateFromCache() +void +ChatPage::loadStateFromCache() { qDebug() << "Restoring state from cache"; @@ -564,7 +572,8 @@ void ChatPage::loadStateFromCache() sync_timer_->start(sync_interval_); } -void ChatPage::keyPressEvent(QKeyEvent *event) +void +ChatPage::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_K) { if (event->modifiers() == Qt::ControlModifier) @@ -572,7 +581,8 @@ void ChatPage::keyPressEvent(QKeyEvent *event) } } -void ChatPage::showQuickSwitcher() +void +ChatPage::showQuickSwitcher() { if (quickSwitcher_ == nullptr) { quickSwitcher_ = new QuickSwitcher(this); diff --git a/src/Deserializable.cc b/src/Deserializable.cc index 09d0184d..331beeba 100644 --- a/src/Deserializable.cc +++ b/src/Deserializable.cc @@ -22,11 +22,12 @@ #include "Deserializable.h" DeserializationException::DeserializationException(const std::string &msg) - : msg_(msg) + : msg_(msg) { } -const char *DeserializationException::what() const noexcept +const char * +DeserializationException::what() const noexcept { return msg_.c_str(); } diff --git a/src/EmojiCategory.cc b/src/EmojiCategory.cc index f633e5eb..66394de1 100644 --- a/src/EmojiCategory.cc +++ b/src/EmojiCategory.cc @@ -22,7 +22,7 @@ #include "EmojiCategory.h" EmojiCategory::EmojiCategory(QString category, QList emoji, QWidget *parent) - : QWidget(parent) + : QWidget(parent) { mainLayout_ = new QVBoxLayout(this); mainLayout_->setMargin(0); diff --git a/src/EmojiItemDelegate.cc b/src/EmojiItemDelegate.cc index b17a7315..763aabd2 100644 --- a/src/EmojiItemDelegate.cc +++ b/src/EmojiItemDelegate.cc @@ -21,7 +21,7 @@ #include "EmojiItemDelegate.h" EmojiItemDelegate::EmojiItemDelegate(QObject *parent) - : QStyledItemDelegate(parent) + : QStyledItemDelegate(parent) { data_ = new Emoji; } @@ -31,7 +31,8 @@ EmojiItemDelegate::~EmojiItemDelegate() delete data_; } -void EmojiItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +void +EmojiItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { Q_UNUSED(index); diff --git a/src/EmojiPanel.cc b/src/EmojiPanel.cc index 14db6bb3..f75bc1fc 100644 --- a/src/EmojiPanel.cc +++ b/src/EmojiPanel.cc @@ -27,19 +27,18 @@ #include "FlatButton.h" EmojiPanel::EmojiPanel(QWidget *parent) - : QWidget(parent) - , shadowMargin_{2} - , width_{370} - , height_{350} - , animationDuration_{100} - , categoryIconSize_{20} + : QWidget(parent) + , shadowMargin_{ 2 } + , width_{ 370 } + , height_{ 350 } + , animationDuration_{ 100 } + , categoryIconSize_{ 20 } { - setStyleSheet( - "QWidget {background: #f8fbfe; color: #e8e8e8; border: none;}" - "QScrollBar:vertical { background-color: #f8fbfe; width: 8px; margin: 0px 2px 0 2px; }" - "QScrollBar::handle:vertical { background-color: #d6dde3; min-height: 20px; }" - "QScrollBar::add-line:vertical { border: none; background: none; }" - "QScrollBar::sub-line:vertical { border: none; background: none; }"); + setStyleSheet("QWidget {background: #f8fbfe; color: #e8e8e8; border: none;}" + "QScrollBar:vertical { background-color: #f8fbfe; width: 8px; margin: 0px 2px 0 2px; }" + "QScrollBar::handle:vertical { background-color: #d6dde3; min-height: 20px; }" + "QScrollBar::add-line:vertical { border: none; background: none; }" + "QScrollBar::sub-line:vertical { border: none; background: none; }"); setAttribute(Qt::WA_TranslucentBackground, true); setAttribute(Qt::WA_ShowWithoutActivating, true); @@ -160,9 +159,7 @@ EmojiPanel::EmojiPanel(QWidget *parent) animation_->setEndValue(0); connect(peopleEmoji, &EmojiCategory::emojiSelected, this, &EmojiPanel::emojiSelected); - connect(peopleCategory, &QPushButton::clicked, [this, peopleEmoji]() { - this->showEmojiCategory(peopleEmoji); - }); + connect(peopleCategory, &QPushButton::clicked, [this, peopleEmoji]() { this->showEmojiCategory(peopleEmoji); }); connect(natureEmoji, &EmojiCategory::emojiSelected, this, &EmojiPanel::emojiSelected); connect(natureCategory_, &QPushButton::clicked, [this, natureEmoji]() { @@ -170,9 +167,7 @@ EmojiPanel::EmojiPanel(QWidget *parent) }); connect(foodEmoji, &EmojiCategory::emojiSelected, this, &EmojiPanel::emojiSelected); - connect(foodCategory_, &QPushButton::clicked, [this, foodEmoji]() { - this->showEmojiCategory(foodEmoji); - }); + connect(foodCategory_, &QPushButton::clicked, [this, foodEmoji]() { this->showEmojiCategory(foodEmoji); }); connect(activityEmoji, &EmojiCategory::emojiSelected, this, &EmojiPanel::emojiSelected); connect(activityCategory, &QPushButton::clicked, [this, activityEmoji]() { @@ -180,9 +175,7 @@ EmojiPanel::EmojiPanel(QWidget *parent) }); connect(travelEmoji, &EmojiCategory::emojiSelected, this, &EmojiPanel::emojiSelected); - connect(travelCategory, &QPushButton::clicked, [this, travelEmoji]() { - this->showEmojiCategory(travelEmoji); - }); + connect(travelCategory, &QPushButton::clicked, [this, travelEmoji]() { this->showEmojiCategory(travelEmoji); }); connect(objectsEmoji, &EmojiCategory::emojiSelected, this, &EmojiPanel::emojiSelected); connect(objectsCategory, &QPushButton::clicked, [this, objectsEmoji]() { @@ -195,9 +188,7 @@ EmojiPanel::EmojiPanel(QWidget *parent) }); connect(flagsEmoji, &EmojiCategory::emojiSelected, this, &EmojiPanel::emojiSelected); - connect(flagsCategory, &QPushButton::clicked, [this, flagsEmoji]() { - this->showEmojiCategory(flagsEmoji); - }); + connect(flagsCategory, &QPushButton::clicked, [this, flagsEmoji]() { this->showEmojiCategory(flagsEmoji); }); connect(animation_, &QAbstractAnimation::finished, [this]() { if (animation_->direction() == QAbstractAnimation::Forward) @@ -205,7 +196,8 @@ EmojiPanel::EmojiPanel(QWidget *parent) }); } -void EmojiPanel::showEmojiCategory(const EmojiCategory *category) +void +EmojiPanel::showEmojiCategory(const EmojiCategory *category) { auto posToGo = category->mapToParent(QPoint()).y(); auto current = scrollArea_->verticalScrollBar()->value(); @@ -225,14 +217,16 @@ void EmojiPanel::showEmojiCategory(const EmojiCategory *category) this->scrollArea_->ensureVisible(0, posToGo, 0, 0); } -void EmojiPanel::leaveEvent(QEvent *event) +void +EmojiPanel::leaveEvent(QEvent *event) { Q_UNUSED(event); fadeOut(); } -void EmojiPanel::paintEvent(QPaintEvent *event) +void +EmojiPanel::paintEvent(QPaintEvent *event) { QPainter p(this); DropShadow::draw(p, @@ -249,13 +243,15 @@ void EmojiPanel::paintEvent(QPaintEvent *event) QWidget::paintEvent(event); } -void EmojiPanel::fadeOut() +void +EmojiPanel::fadeOut() { animation_->setDirection(QAbstractAnimation::Forward); animation_->start(); } -void EmojiPanel::fadeIn() +void +EmojiPanel::fadeIn() { animation_->setDirection(QAbstractAnimation::Backward); animation_->start(); diff --git a/src/EmojiPickButton.cc b/src/EmojiPickButton.cc index d8391257..820c96a7 100644 --- a/src/EmojiPickButton.cc +++ b/src/EmojiPickButton.cc @@ -20,12 +20,13 @@ #include "EmojiPickButton.h" EmojiPickButton::EmojiPickButton(QWidget *parent) - : FlatButton(parent) - , panel_{nullptr} + : FlatButton(parent) + , panel_{ nullptr } { } -void EmojiPickButton::enterEvent(QEvent *e) +void +EmojiPickButton::enterEvent(QEvent *e) { Q_UNUSED(e); @@ -47,7 +48,8 @@ void EmojiPickButton::enterEvent(QEvent *e) panel_->show(); } -void EmojiPickButton::leaveEvent(QEvent *e) +void +EmojiPickButton::leaveEvent(QEvent *e) { Q_UNUSED(e); diff --git a/src/EmojiProvider.cc b/src/EmojiProvider.cc index e10d4222..55f30c07 100644 --- a/src/EmojiProvider.cc +++ b/src/EmojiProvider.cc @@ -25,1446 +25,1446 @@ #include "EmojiProvider.h" const QList EmojiProvider::people = { - Emoji{QString::fromUtf8("\xf0\x9f\x98\x80"), ":grinning:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x81"), ":grin:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x82"), ":joy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa3"), ":rofl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x83"), ":smiley:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x84"), ":smile:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x85"), ":sweat_smile:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x86"), ":laughing:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x89"), ":wink:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x8a"), ":blush:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x8b"), ":yum:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x8e"), ":sunglasses:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x8d"), ":heart_eyes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x98"), ":kissing_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x97"), ":kissing:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x99"), ":kissing_smiling_eyes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x9a"), ":kissing_closed_eyes:"}, - Emoji{QString::fromUtf8("\xe2\x98\xba"), ":relaxed:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x82"), ":slight_smile:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x97"), ":hugging:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x94"), ":thinking:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x90"), ":neutral_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x91"), ":expressionless:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb6"), ":no_mouth:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x84"), ":rolling_eyes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x8f"), ":smirk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa3"), ":persevere:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa5"), ":disappointed_relieved:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xae"), ":open_mouth:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x90"), ":zipper_mouth:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xaf"), ":hushed:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xaa"), ":sleepy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xab"), ":tired_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb4"), ":sleeping:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x8c"), ":relieved:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x93"), ":nerd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x9b"), ":stuck_out_tongue:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x9c"), ":stuck_out_tongue_winking_eye:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x9d"), ":stuck_out_tongue_closed_eyes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa4"), ":drooling_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x92"), ":unamused:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x93"), ":sweat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x94"), ":pensive:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x95"), ":confused:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x83"), ":upside_down:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x91"), ":money_mouth:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb2"), ":astonished:"}, - Emoji{QString::fromUtf8("\xe2\x98\xb9"), ":frowning2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x81"), ":slight_frown:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x96"), ":confounded:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x9e"), ":disappointed:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x9f"), ":worried:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa4"), ":triumph:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa2"), ":cry:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xad"), ":sob:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa6"), ":frowning:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa7"), ":anguished:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa8"), ":fearful:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa9"), ":weary:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xac"), ":grimacing:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb0"), ":cold_sweat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb1"), ":scream:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb3"), ":flushed:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb5"), ":dizzy_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa1"), ":rage:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xa0"), ":angry:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x87"), ":innocent:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa0"), ":cowboy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa1"), ":clown:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa5"), ":lying_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb7"), ":mask:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x92"), ":thermometer_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x95"), ":head_bandage:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa2"), ":nauseated_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa7"), ":sneezing_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\x88"), ":smiling_imp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xbf"), ":imp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb9"), ":japanese_ogre:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xba"), ":japanese_goblin:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x80"), ":skull:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xbb"), ":ghost:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xbd"), ":alien:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x96"), ":robot:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa9"), ":poop:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xba"), ":smiley_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb8"), ":smile_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xb9"), ":joy_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xbb"), ":heart_eyes_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xbc"), ":smirk_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xbd"), ":kissing_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x80"), ":scream_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xbf"), ":crying_cat_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x98\xbe"), ":pouting_cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa6"), ":boy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa7"), ":girl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa8"), ":man:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa9"), ":woman:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb4"), ":older_man:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb5"), ":older_woman:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb6"), ":baby:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xbc"), ":angel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xae"), ":cop:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb5"), ":spy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x82"), ":guardsman:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb7"), ":construction_worker:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb3"), ":man_with_turban:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb1"), ":person_with_blond_hair:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x85"), ":santa:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb6"), ":mrs_claus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb8"), ":princess:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb4"), ":prince:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb0"), ":bride_with_veil:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb5"), ":man_in_tuxedo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb0"), ":pregnant_woman:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xb2"), ":man_with_gua_pi_mao:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x8d"), ":person_frowning:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x8e"), ":person_with_pouting_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x85"), ":no_good:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x86"), ":ok_woman:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x81"), ":information_desk_person:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x8b"), ":raising_hand:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x87"), ":bow:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xa6"), ":face_palm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb7"), ":shrug:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x86"), ":massage:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x87"), ":haircut:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb6"), ":walking:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x83"), ":runner:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x83"), ":dancer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xba"), ":man_dancing:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xaf"), ":dancers:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xa3"), ":speaking_head:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa4"), ":bust_in_silhouette:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa5"), ":busts_in_silhouette:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xab"), ":couple:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xac"), ":two_men_holding_hands:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xad"), ":two_women_holding_hands:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x8f"), ":couplekiss:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x91"), ":couple_with_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xaa"), ":family:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xaa"), ":muscle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb3"), ":selfie:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x88"), ":point_left:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x89"), ":point_right:"}, - Emoji{QString::fromUtf8("\xe2\x98\x9d"), ":point_up:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x86"), ":point_up_2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x95"), ":middle_finger:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x87"), ":point_down:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x8c"), ":v:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9e"), ":fingers_crossed:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x96"), ":vulcan:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x98"), ":metal:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x99"), ":call_me:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x90"), ":hand_splayed:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x8b"), ":raised_hand:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x8c"), ":ok_hand:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x8d"), ":thumbsup:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x8e"), ":thumbsdown:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x8a"), ":fist:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x8a"), ":punch:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9b"), ":left_facing_fist:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9c"), ":right_facing_fist:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9a"), ":raised_back_of_hand:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x8b"), ":wave:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x8f"), ":clap:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x8d"), ":writing_hand:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x90"), ":open_hands:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x8c"), ":raised_hands:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x8f"), ":pray:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\x9d"), ":handshake:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x85"), ":nail_care:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x82"), ":ear:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x83"), ":nose:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa3"), ":footprints:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x80"), ":eyes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x81"), ":eye:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x85"), ":tongue:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x84"), ":lips:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x8b"), ":kiss:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa4"), ":zzz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x93"), ":eyeglasses:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb6"), ":dark_sunglasses:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x94"), ":necktie:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x95"), ":shirt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x96"), ":jeans:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x97"), ":dress:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x98"), ":kimono:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x99"), ":bikini:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9a"), ":womans_clothes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9b"), ":purse:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9c"), ":handbag:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9d"), ":pouch:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x92"), ":school_satchel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9e"), ":mans_shoe:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x9f"), ":athletic_shoe:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa0"), ":high_heel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa1"), ":sandal:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\xa2"), ":boot:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x91"), ":crown:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x91\x92"), ":womans_hat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa9"), ":tophat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x93"), ":mortar_board:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x91"), ":helmet_with_cross:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x84"), ":lipstick:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x8d"), ":ring:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x82"), ":closed_umbrella:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xbc"), ":briefcase:"}, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x80"), ":grinning:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x81"), ":grin:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x82"), ":joy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa3"), ":rofl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x83"), ":smiley:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x84"), ":smile:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x85"), ":sweat_smile:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x86"), ":laughing:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x89"), ":wink:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x8a"), ":blush:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x8b"), ":yum:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x8e"), ":sunglasses:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x8d"), ":heart_eyes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x98"), ":kissing_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x97"), ":kissing:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x99"), ":kissing_smiling_eyes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x9a"), ":kissing_closed_eyes:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xba"), ":relaxed:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x82"), ":slight_smile:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x97"), ":hugging:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x94"), ":thinking:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x90"), ":neutral_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x91"), ":expressionless:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb6"), ":no_mouth:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x84"), ":rolling_eyes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x8f"), ":smirk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa3"), ":persevere:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa5"), ":disappointed_relieved:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xae"), ":open_mouth:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x90"), ":zipper_mouth:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xaf"), ":hushed:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xaa"), ":sleepy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xab"), ":tired_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb4"), ":sleeping:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x8c"), ":relieved:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x93"), ":nerd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x9b"), ":stuck_out_tongue:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x9c"), ":stuck_out_tongue_winking_eye:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x9d"), ":stuck_out_tongue_closed_eyes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa4"), ":drooling_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x92"), ":unamused:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x93"), ":sweat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x94"), ":pensive:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x95"), ":confused:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x83"), ":upside_down:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x91"), ":money_mouth:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb2"), ":astonished:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xb9"), ":frowning2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x81"), ":slight_frown:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x96"), ":confounded:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x9e"), ":disappointed:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x9f"), ":worried:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa4"), ":triumph:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa2"), ":cry:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xad"), ":sob:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa6"), ":frowning:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa7"), ":anguished:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa8"), ":fearful:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa9"), ":weary:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xac"), ":grimacing:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb0"), ":cold_sweat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb1"), ":scream:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb3"), ":flushed:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb5"), ":dizzy_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa1"), ":rage:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xa0"), ":angry:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x87"), ":innocent:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa0"), ":cowboy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa1"), ":clown:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa5"), ":lying_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb7"), ":mask:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x92"), ":thermometer_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x95"), ":head_bandage:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa2"), ":nauseated_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa7"), ":sneezing_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\x88"), ":smiling_imp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xbf"), ":imp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb9"), ":japanese_ogre:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xba"), ":japanese_goblin:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x80"), ":skull:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xbb"), ":ghost:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xbd"), ":alien:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x96"), ":robot:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa9"), ":poop:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xba"), ":smiley_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb8"), ":smile_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xb9"), ":joy_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xbb"), ":heart_eyes_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xbc"), ":smirk_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xbd"), ":kissing_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x80"), ":scream_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xbf"), ":crying_cat_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x98\xbe"), ":pouting_cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa6"), ":boy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa7"), ":girl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa8"), ":man:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa9"), ":woman:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb4"), ":older_man:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb5"), ":older_woman:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb6"), ":baby:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xbc"), ":angel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xae"), ":cop:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb5"), ":spy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x82"), ":guardsman:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb7"), ":construction_worker:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb3"), ":man_with_turban:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb1"), ":person_with_blond_hair:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x85"), ":santa:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb6"), ":mrs_claus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb8"), ":princess:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb4"), ":prince:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb0"), ":bride_with_veil:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb5"), ":man_in_tuxedo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb0"), ":pregnant_woman:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xb2"), ":man_with_gua_pi_mao:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x8d"), ":person_frowning:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x8e"), ":person_with_pouting_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x85"), ":no_good:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x86"), ":ok_woman:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x81"), ":information_desk_person:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x8b"), ":raising_hand:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x87"), ":bow:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xa6"), ":face_palm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb7"), ":shrug:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x86"), ":massage:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x87"), ":haircut:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb6"), ":walking:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x83"), ":runner:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x83"), ":dancer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xba"), ":man_dancing:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xaf"), ":dancers:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xa3"), ":speaking_head:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa4"), ":bust_in_silhouette:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa5"), ":busts_in_silhouette:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xab"), ":couple:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xac"), ":two_men_holding_hands:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xad"), ":two_women_holding_hands:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x8f"), ":couplekiss:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x91"), ":couple_with_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xaa"), ":family:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xaa"), ":muscle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb3"), ":selfie:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x88"), ":point_left:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x89"), ":point_right:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x9d"), ":point_up:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x86"), ":point_up_2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x95"), ":middle_finger:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x87"), ":point_down:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x8c"), ":v:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x9e"), ":fingers_crossed:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x96"), ":vulcan:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x98"), ":metal:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x99"), ":call_me:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x90"), ":hand_splayed:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x8b"), ":raised_hand:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x8c"), ":ok_hand:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x8d"), ":thumbsup:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x8e"), ":thumbsdown:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x8a"), ":fist:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x8a"), ":punch:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x9b"), ":left_facing_fist:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x9c"), ":right_facing_fist:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x9a"), ":raised_back_of_hand:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x8b"), ":wave:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x8f"), ":clap:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x8d"), ":writing_hand:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x90"), ":open_hands:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x8c"), ":raised_hands:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x8f"), ":pray:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\x9d"), ":handshake:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x85"), ":nail_care:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x82"), ":ear:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x83"), ":nose:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa3"), ":footprints:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x80"), ":eyes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x81"), ":eye:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x85"), ":tongue:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x84"), ":lips:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x8b"), ":kiss:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa4"), ":zzz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x93"), ":eyeglasses:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb6"), ":dark_sunglasses:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x94"), ":necktie:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x95"), ":shirt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x96"), ":jeans:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x97"), ":dress:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x98"), ":kimono:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x99"), ":bikini:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x9a"), ":womans_clothes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x9b"), ":purse:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x9c"), ":handbag:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x9d"), ":pouch:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x92"), ":school_satchel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x9e"), ":mans_shoe:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x9f"), ":athletic_shoe:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa0"), ":high_heel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa1"), ":sandal:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xa2"), ":boot:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x91"), ":crown:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x92"), ":womans_hat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa9"), ":tophat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x93"), ":mortar_board:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x91"), ":helmet_with_cross:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x84"), ":lipstick:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x8d"), ":ring:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x82"), ":closed_umbrella:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xbc"), ":briefcase:" }, }; const QList EmojiProvider::nature = { - Emoji{QString::fromUtf8("\xf0\x9f\x99\x88"), ":see_no_evil:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x89"), ":hear_no_evil:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x99\x8a"), ":speak_no_evil:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa6"), ":sweat_drops:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa8"), ":dash:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb5"), ":monkey_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x92"), ":monkey:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x8d"), ":gorilla:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb6"), ":dog:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x95"), ":dog2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa9"), ":poodle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xba"), ":wolf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x8a"), ":fox:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb1"), ":cat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x88"), ":cat2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x81"), ":lion_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xaf"), ":tiger:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x85"), ":tiger2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x86"), ":leopard:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb4"), ":horse:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x8e"), ":racehorse:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x8c"), ":deer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x84"), ":unicorn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xae"), ":cow:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x82"), ":ox:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x83"), ":water_buffalo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x84"), ":cow2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb7"), ":pig:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x96"), ":pig2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x97"), ":boar:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xbd"), ":pig_nose:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x8f"), ":ram:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x91"), ":sheep:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x90"), ":goat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xaa"), ":dromedary_camel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xab"), ":camel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x98"), ":elephant:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x8f"), ":rhino:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xad"), ":mouse:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x81"), ":mouse2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x80"), ":rat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb9"), ":hamster:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb0"), ":rabbit:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x87"), ":rabbit2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xbf"), ":chipmunk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x87"), ":bat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xbb"), ":bear:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa8"), ":koala:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xbc"), ":panda_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xbe"), ":feet:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x83"), ":turkey:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x94"), ":chicken:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x93"), ":rooster:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa3"), ":hatching_chick:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa4"), ":baby_chick:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa5"), ":hatched_chick:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa6"), ":bird:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa7"), ":penguin:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x8a"), ":dove:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x85"), ":eagle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x86"), ":duck:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x89"), ":owl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb8"), ":frog:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x8a"), ":crocodile:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa2"), ":turtle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x8e"), ":lizard:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x8d"), ":snake:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb2"), ":dragon_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x89"), ":dragon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xb3"), ":whale:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x8b"), ":whale2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xac"), ":dolphin:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x9f"), ":fish:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa0"), ":tropical_fish:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\xa1"), ":blowfish:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x88"), ":shark:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x99"), ":octopus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x9a"), ":shell:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x80"), ":crab:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x90"), ":shrimp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x91"), ":squid:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x8b"), ":butterfly:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x8c"), ":snail:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x9b"), ":bug:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x9c"), ":ant:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x9d"), ":bee:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x90\x9e"), ":beetle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb7"), ":spider:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb8"), ":spider_web:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa6\x82"), ":scorpion:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x90"), ":bouquet:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb8"), ":cherry_blossom:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb5"), ":rosette:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb9"), ":rose:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x80"), ":wilted_rose:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xba"), ":hibiscus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xbb"), ":sunflower:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xbc"), ":blossom:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb7"), ":tulip:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb1"), ":seedling:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb2"), ":evergreen_tree:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb3"), ":deciduous_tree:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb4"), ":palm_tree:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb5"), ":cactus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xbe"), ":ear_of_rice:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xbf"), ":herb:"}, - Emoji{QString::fromUtf8("\xe2\x98\x98"), ":shamrock:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x80"), ":four_leaf_clover:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x81"), ":maple_leaf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x82"), ":fallen_leaf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x83"), ":leaves:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x84"), ":mushroom:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb0"), ":chestnut:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x8d"), ":earth_africa:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x8e"), ":earth_americas:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x8f"), ":earth_asia:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x91"), ":new_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x92"), ":waxing_crescent_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x93"), ":first_quarter_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x94"), ":waxing_gibbous_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x95"), ":full_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x96"), ":waning_gibbous_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x97"), ":last_quarter_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x98"), ":waning_crescent_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x99"), ":crescent_moon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x9a"), ":new_moon_with_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x9b"), ":first_quarter_moon_with_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x9c"), ":last_quarter_moon_with_face:"}, - Emoji{QString::fromUtf8("\xe2\x98\x80"), ":sunny:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x9d"), ":full_moon_with_face:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x9e"), ":sun_with_face:"}, - Emoji{QString::fromUtf8("\xe2\xad\x90"), ":star:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x9f"), ":star2:"}, - Emoji{QString::fromUtf8("\xe2\x98\x81"), ":cloud:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x85"), ":partly_sunny:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x88"), ":thunder_cloud_rain:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa4"), ":white_sun_small_cloud:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa5"), ":white_sun_cloud:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa6"), ":white_sun_rain_cloud:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa7"), ":cloud_rain:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa8"), ":cloud_snow:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa9"), ":cloud_lightning:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xaa"), ":cloud_tornado:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xab"), ":fog:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xac"), ":wind_blowing_face:"}, - Emoji{QString::fromUtf8("\xe2\x98\x82"), ":umbrella2:"}, - Emoji{QString::fromUtf8("\xe2\x98\x94"), ":umbrella:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xa1"), ":zap:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x84"), ":snowflake:"}, - Emoji{QString::fromUtf8("\xe2\x98\x83"), ":snowman2:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x84"), ":snowman:"}, - Emoji{QString::fromUtf8("\xe2\x98\x84"), ":comet:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa5"), ":fire:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa7"), ":droplet:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x8a"), ":ocean:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x83"), ":jack_o_lantern:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x84"), ":christmas_tree:"}, - Emoji{QString::fromUtf8("\xe2\x9c\xa8"), ":sparkles:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x8b"), ":tanabata_tree:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x8d"), ":bamboo:"}, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x88"), ":see_no_evil:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x89"), ":hear_no_evil:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x99\x8a"), ":speak_no_evil:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa6"), ":sweat_drops:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa8"), ":dash:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb5"), ":monkey_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x92"), ":monkey:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x8d"), ":gorilla:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb6"), ":dog:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x95"), ":dog2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa9"), ":poodle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xba"), ":wolf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x8a"), ":fox:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb1"), ":cat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x88"), ":cat2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x81"), ":lion_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xaf"), ":tiger:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x85"), ":tiger2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x86"), ":leopard:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb4"), ":horse:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x8e"), ":racehorse:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x8c"), ":deer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x84"), ":unicorn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xae"), ":cow:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x82"), ":ox:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x83"), ":water_buffalo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x84"), ":cow2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb7"), ":pig:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x96"), ":pig2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x97"), ":boar:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xbd"), ":pig_nose:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x8f"), ":ram:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x91"), ":sheep:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x90"), ":goat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xaa"), ":dromedary_camel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xab"), ":camel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x98"), ":elephant:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x8f"), ":rhino:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xad"), ":mouse:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x81"), ":mouse2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x80"), ":rat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb9"), ":hamster:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb0"), ":rabbit:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x87"), ":rabbit2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xbf"), ":chipmunk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x87"), ":bat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xbb"), ":bear:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa8"), ":koala:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xbc"), ":panda_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xbe"), ":feet:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x83"), ":turkey:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x94"), ":chicken:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x93"), ":rooster:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa3"), ":hatching_chick:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa4"), ":baby_chick:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa5"), ":hatched_chick:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa6"), ":bird:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa7"), ":penguin:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x8a"), ":dove:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x85"), ":eagle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x86"), ":duck:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x89"), ":owl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb8"), ":frog:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x8a"), ":crocodile:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa2"), ":turtle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x8e"), ":lizard:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x8d"), ":snake:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb2"), ":dragon_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x89"), ":dragon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xb3"), ":whale:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x8b"), ":whale2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xac"), ":dolphin:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x9f"), ":fish:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa0"), ":tropical_fish:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\xa1"), ":blowfish:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x88"), ":shark:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x99"), ":octopus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x9a"), ":shell:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x80"), ":crab:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x90"), ":shrimp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x91"), ":squid:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x8b"), ":butterfly:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x8c"), ":snail:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x9b"), ":bug:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x9c"), ":ant:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x9d"), ":bee:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x90\x9e"), ":beetle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb7"), ":spider:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb8"), ":spider_web:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa6\x82"), ":scorpion:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x90"), ":bouquet:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb8"), ":cherry_blossom:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb5"), ":rosette:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb9"), ":rose:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x80"), ":wilted_rose:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xba"), ":hibiscus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xbb"), ":sunflower:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xbc"), ":blossom:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb7"), ":tulip:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb1"), ":seedling:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb2"), ":evergreen_tree:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb3"), ":deciduous_tree:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb4"), ":palm_tree:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb5"), ":cactus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xbe"), ":ear_of_rice:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xbf"), ":herb:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x98"), ":shamrock:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x80"), ":four_leaf_clover:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x81"), ":maple_leaf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x82"), ":fallen_leaf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x83"), ":leaves:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x84"), ":mushroom:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb0"), ":chestnut:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x8d"), ":earth_africa:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x8e"), ":earth_americas:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x8f"), ":earth_asia:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x91"), ":new_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x92"), ":waxing_crescent_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x93"), ":first_quarter_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x94"), ":waxing_gibbous_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x95"), ":full_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x96"), ":waning_gibbous_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x97"), ":last_quarter_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x98"), ":waning_crescent_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x99"), ":crescent_moon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x9a"), ":new_moon_with_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x9b"), ":first_quarter_moon_with_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x9c"), ":last_quarter_moon_with_face:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x80"), ":sunny:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x9d"), ":full_moon_with_face:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x9e"), ":sun_with_face:" }, + Emoji{ QString::fromUtf8("\xe2\xad\x90"), ":star:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x9f"), ":star2:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x81"), ":cloud:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x85"), ":partly_sunny:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x88"), ":thunder_cloud_rain:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa4"), ":white_sun_small_cloud:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa5"), ":white_sun_cloud:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa6"), ":white_sun_rain_cloud:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa7"), ":cloud_rain:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa8"), ":cloud_snow:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa9"), ":cloud_lightning:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xaa"), ":cloud_tornado:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xab"), ":fog:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xac"), ":wind_blowing_face:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x82"), ":umbrella2:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x94"), ":umbrella:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xa1"), ":zap:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x84"), ":snowflake:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x83"), ":snowman2:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x84"), ":snowman:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x84"), ":comet:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa5"), ":fire:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa7"), ":droplet:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x8a"), ":ocean:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x83"), ":jack_o_lantern:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x84"), ":christmas_tree:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\xa8"), ":sparkles:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x8b"), ":tanabata_tree:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x8d"), ":bamboo:" }, }; const QList EmojiProvider::food = { - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x87"), ":grapes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x88"), ":melon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x89"), ":watermelon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x8a"), ":tangerine:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x8b"), ":lemon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x8c"), ":banana:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x8d"), ":pineapple:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x8e"), ":apple:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x8f"), ":green_apple:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x90"), ":pear:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x91"), ":peach:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x92"), ":cherries:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x93"), ":strawberry:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x9d"), ":kiwi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x85"), ":tomato:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x91"), ":avocado:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x86"), ":eggplant:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x94"), ":potato:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x95"), ":carrot:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xbd"), ":corn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xb6"), ":hot_pepper:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x92"), ":cucumber:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x9c"), ":peanuts:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x9e"), ":bread:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x90"), ":croissant:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x96"), ":french_bread:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x9e"), ":pancakes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa7\x80"), ":cheese:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x96"), ":meat_on_bone:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x97"), ":poultry_leg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x93"), ":bacon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x94"), ":hamburger:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x9f"), ":fries:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x95"), ":pizza:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xad"), ":hotdog:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xae"), ":taco:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xaf"), ":burrito:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x99"), ":stuffed_flatbread:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x9a"), ":egg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb3"), ":cooking:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x98"), ":shallow_pan_of_food:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb2"), ":stew:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x97"), ":salad:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xbf"), ":popcorn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb1"), ":bento:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x98"), ":rice_cracker:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x99"), ":rice_ball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x9a"), ":rice:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x9b"), ":curry:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x9c"), ":ramen:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\x9d"), ":spaghetti:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa0"), ":sweet_potato:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa2"), ":oden:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa3"), ":sushi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa4"), ":fried_shrimp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa5"), ":fish_cake:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa1"), ":dango:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa6"), ":icecream:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa7"), ":shaved_ice:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa8"), ":ice_cream:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xa9"), ":doughnut:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xaa"), ":cookie:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x82"), ":birthday:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb0"), ":cake:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xab"), ":chocolate_bar:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xac"), ":candy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xad"), ":lollipop:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xae"), ":custard:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xaf"), ":honey_pot:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xbc"), ":baby_bottle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x9b"), ":milk:"}, - Emoji{QString::fromUtf8("\xe2\x98\x95"), ":coffee:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb5"), ":tea:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb6"), ":sake:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xbe"), ":champagne:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb7"), ":wine_glass:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb8"), ":cocktail:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb9"), ":tropical_drink:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xba"), ":beer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xbb"), ":beers:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x82"), ":champagne_glass:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x83"), ":tumbler_glass:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xbd"), ":fork_knife_plate:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8d\xb4"), ":fork_and_knife:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x84"), ":spoon:"}, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x87"), ":grapes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x88"), ":melon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x89"), ":watermelon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x8a"), ":tangerine:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x8b"), ":lemon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x8c"), ":banana:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x8d"), ":pineapple:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x8e"), ":apple:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x8f"), ":green_apple:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x90"), ":pear:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x91"), ":peach:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x92"), ":cherries:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x93"), ":strawberry:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x9d"), ":kiwi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x85"), ":tomato:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x91"), ":avocado:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x86"), ":eggplant:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x94"), ":potato:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x95"), ":carrot:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xbd"), ":corn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xb6"), ":hot_pepper:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x92"), ":cucumber:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x9c"), ":peanuts:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x9e"), ":bread:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x90"), ":croissant:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x96"), ":french_bread:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x9e"), ":pancakes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa7\x80"), ":cheese:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x96"), ":meat_on_bone:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x97"), ":poultry_leg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x93"), ":bacon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x94"), ":hamburger:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x9f"), ":fries:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x95"), ":pizza:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xad"), ":hotdog:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xae"), ":taco:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xaf"), ":burrito:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x99"), ":stuffed_flatbread:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x9a"), ":egg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb3"), ":cooking:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x98"), ":shallow_pan_of_food:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb2"), ":stew:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x97"), ":salad:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xbf"), ":popcorn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb1"), ":bento:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x98"), ":rice_cracker:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x99"), ":rice_ball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x9a"), ":rice:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x9b"), ":curry:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x9c"), ":ramen:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\x9d"), ":spaghetti:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa0"), ":sweet_potato:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa2"), ":oden:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa3"), ":sushi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa4"), ":fried_shrimp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa5"), ":fish_cake:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa1"), ":dango:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa6"), ":icecream:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa7"), ":shaved_ice:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa8"), ":ice_cream:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xa9"), ":doughnut:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xaa"), ":cookie:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x82"), ":birthday:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb0"), ":cake:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xab"), ":chocolate_bar:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xac"), ":candy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xad"), ":lollipop:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xae"), ":custard:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xaf"), ":honey_pot:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xbc"), ":baby_bottle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x9b"), ":milk:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x95"), ":coffee:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb5"), ":tea:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb6"), ":sake:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xbe"), ":champagne:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb7"), ":wine_glass:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb8"), ":cocktail:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb9"), ":tropical_drink:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xba"), ":beer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xbb"), ":beers:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x82"), ":champagne_glass:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x83"), ":tumbler_glass:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xbd"), ":fork_knife_plate:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8d\xb4"), ":fork_and_knife:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x84"), ":spoon:" }, }; const QList EmojiProvider::activity = { - Emoji{QString::fromUtf8("\xf0\x9f\x91\xbe"), ":space_invader:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb4"), ":levitate:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xba"), ":fencer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x87"), ":horse_racing:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbb"), ":horse_racing_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbc"), ":horse_racing_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbd"), ":horse_racing_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbe"), ":horse_racing_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbf"), ":horse_racing_tone5:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb7"), ":skier:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x82"), ":snowboarder:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8c"), ":golfer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x84"), ":surfer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbb"), ":surfer_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbc"), ":surfer_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbd"), ":surfer_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbe"), ":surfer_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbf"), ":surfer_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa3"), ":rowboat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbb"), ":rowboat_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbc"), ":rowboat_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbd"), ":rowboat_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbe"), ":rowboat_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbf"), ":rowboat_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8a"), ":swimmer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbb"), ":swimmer_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbc"), ":swimmer_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbd"), ":swimmer_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbe"), ":swimmer_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbf"), ":swimmer_tone5:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb9"), ":basketball_player:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbb"), ":basketball_player_tone1:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbc"), ":basketball_player_tone2:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbd"), ":basketball_player_tone3:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbe"), ":basketball_player_tone4:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbf"), ":basketball_player_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8b"), ":lifter:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbb"), ":lifter_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbc"), ":lifter_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbd"), ":lifter_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbe"), ":lifter_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbf"), ":lifter_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb4"), ":bicyclist:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbb"), ":bicyclist_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbc"), ":bicyclist_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbd"), ":bicyclist_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbe"), ":bicyclist_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbf"), ":bicyclist_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb5"), ":mountain_bicyclist:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbb"), ":mountain_bicyclist_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbc"), ":mountain_bicyclist_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbd"), ":mountain_bicyclist_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbe"), ":mountain_bicyclist_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbf"), ":mountain_bicyclist_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb8"), ":cartwheel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbb"), ":cartwheel_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbc"), ":cartwheel_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbd"), ":cartwheel_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbe"), ":cartwheel_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbf"), ":cartwheel_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbc"), ":wrestlers:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbb"), ":wrestlers_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbc"), ":wrestlers_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbd"), ":wrestlers_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbe"), ":wrestlers_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbf"), ":wrestlers_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbd"), ":water_polo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbb"), ":water_polo_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbc"), ":water_polo_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbd"), ":water_polo_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbe"), ":water_polo_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbf"), ":water_polo_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbe"), ":handball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbb"), ":handball_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbc"), ":handball_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbd"), ":handball_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbe"), ":handball_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbf"), ":handball_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb9"), ":juggling:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbb"), ":juggling_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbc"), ":juggling_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbd"), ":juggling_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbe"), ":juggling_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbf"), ":juggling_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xaa"), ":circus_tent:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xad"), ":performing_arts:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa8"), ":art:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb0"), ":slot_machine:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x80"), ":bath:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbb"), ":bath_tone1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbc"), ":bath_tone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbd"), ":bath_tone3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbe"), ":bath_tone4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbf"), ":bath_tone5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x97"), ":reminder_ribbon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x9f"), ":tickets:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xab"), ":ticket:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x96"), ":military_medal:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x86"), ":trophy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x85"), ":medal:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x87"), ":first_place:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x88"), ":second_place:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x89"), ":third_place:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xbd"), ":soccer:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xbe"), ":baseball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x80"), ":basketball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x90"), ":volleyball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x88"), ":football:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x89"), ":rugby_football:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xbe"), ":tennis:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb1"), ":8ball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb3"), ":bowling:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8f"), ":cricket:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x91"), ":field_hockey:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x92"), ":hockey:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x93"), ":ping_pong:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb8"), ":badminton:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x8a"), ":boxing_glove:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x8b"), ":martial_arts_uniform:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x85"), ":goal:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xaf"), ":dart:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb3"), ":golf:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb8"), ":ice_skate:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa3"), ":fishing_pole_and_fish:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xbd"), ":running_shirt_with_sash:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xbf"), ":ski:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xae"), ":video_game:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb2"), ":game_die:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xbc"), ":musical_score:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa4"), ":microphone:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa7"), ":headphones:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb7"), ":saxophone:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb8"), ":guitar:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb9"), ":musical_keyboard:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xba"), ":trumpet:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xbb"), ":violin:"}, - Emoji{QString::fromUtf8("\xf0\x9f\xa5\x81"), ":drum:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xac"), ":clapper:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb9"), ":bow_and_arrow:"}, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\xbe"), ":space_invader:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb4"), ":levitate:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xba"), ":fencer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x87"), ":horse_racing:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbb"), ":horse_racing_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbc"), ":horse_racing_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbd"), ":horse_racing_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbe"), ":horse_racing_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x87\xf0\x9f\x8f\xbf"), ":horse_racing_tone5:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb7"), ":skier:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x82"), ":snowboarder:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8c"), ":golfer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x84"), ":surfer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbb"), ":surfer_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbc"), ":surfer_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbd"), ":surfer_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbe"), ":surfer_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x84\xf0\x9f\x8f\xbf"), ":surfer_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa3"), ":rowboat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbb"), ":rowboat_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbc"), ":rowboat_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbd"), ":rowboat_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbe"), ":rowboat_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa3\xf0\x9f\x8f\xbf"), ":rowboat_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8a"), ":swimmer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbb"), ":swimmer_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbc"), ":swimmer_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbd"), ":swimmer_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbe"), ":swimmer_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8a\xf0\x9f\x8f\xbf"), ":swimmer_tone5:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb9"), ":basketball_player:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbb"), ":basketball_player_tone1:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbc"), ":basketball_player_tone2:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbd"), ":basketball_player_tone3:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbe"), ":basketball_player_tone4:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb9\xf0\x9f\x8f\xbf"), ":basketball_player_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8b"), ":lifter:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbb"), ":lifter_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbc"), ":lifter_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbd"), ":lifter_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbe"), ":lifter_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8b\xf0\x9f\x8f\xbf"), ":lifter_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb4"), ":bicyclist:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbb"), ":bicyclist_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbc"), ":bicyclist_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbd"), ":bicyclist_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbe"), ":bicyclist_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb4\xf0\x9f\x8f\xbf"), ":bicyclist_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb5"), ":mountain_bicyclist:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbb"), ":mountain_bicyclist_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbc"), ":mountain_bicyclist_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbd"), ":mountain_bicyclist_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbe"), ":mountain_bicyclist_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb5\xf0\x9f\x8f\xbf"), ":mountain_bicyclist_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb8"), ":cartwheel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbb"), ":cartwheel_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbc"), ":cartwheel_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbd"), ":cartwheel_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbe"), ":cartwheel_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb8\xf0\x9f\x8f\xbf"), ":cartwheel_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbc"), ":wrestlers:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbb"), ":wrestlers_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbc"), ":wrestlers_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbd"), ":wrestlers_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbe"), ":wrestlers_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbc\xf0\x9f\x8f\xbf"), ":wrestlers_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbd"), ":water_polo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbb"), ":water_polo_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbc"), ":water_polo_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbd"), ":water_polo_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbe"), ":water_polo_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbd\xf0\x9f\x8f\xbf"), ":water_polo_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbe"), ":handball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbb"), ":handball_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbc"), ":handball_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbd"), ":handball_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbe"), ":handball_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xbe\xf0\x9f\x8f\xbf"), ":handball_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb9"), ":juggling:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbb"), ":juggling_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbc"), ":juggling_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbd"), ":juggling_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbe"), ":juggling_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa4\xb9\xf0\x9f\x8f\xbf"), ":juggling_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xaa"), ":circus_tent:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xad"), ":performing_arts:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa8"), ":art:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb0"), ":slot_machine:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x80"), ":bath:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbb"), ":bath_tone1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbc"), ":bath_tone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbd"), ":bath_tone3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbe"), ":bath_tone4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x80\xf0\x9f\x8f\xbf"), ":bath_tone5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x97"), ":reminder_ribbon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x9f"), ":tickets:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xab"), ":ticket:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x96"), ":military_medal:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x86"), ":trophy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x85"), ":medal:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x87"), ":first_place:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x88"), ":second_place:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x89"), ":third_place:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xbd"), ":soccer:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xbe"), ":baseball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x80"), ":basketball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x90"), ":volleyball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x88"), ":football:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x89"), ":rugby_football:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xbe"), ":tennis:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb1"), ":8ball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb3"), ":bowling:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8f"), ":cricket:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x91"), ":field_hockey:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x92"), ":hockey:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x93"), ":ping_pong:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb8"), ":badminton:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x8a"), ":boxing_glove:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x8b"), ":martial_arts_uniform:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x85"), ":goal:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xaf"), ":dart:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb3"), ":golf:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb8"), ":ice_skate:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa3"), ":fishing_pole_and_fish:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xbd"), ":running_shirt_with_sash:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xbf"), ":ski:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xae"), ":video_game:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb2"), ":game_die:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xbc"), ":musical_score:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa4"), ":microphone:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa7"), ":headphones:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb7"), ":saxophone:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb8"), ":guitar:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb9"), ":musical_keyboard:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xba"), ":trumpet:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xbb"), ":violin:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\xa5\x81"), ":drum:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xac"), ":clapper:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb9"), ":bow_and_arrow:" }, }; const QList EmojiProvider::travel = { - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8e"), ":race_car:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x8d"), ":motorcycle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xbe"), ":japan:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x94"), ":mountain_snow:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb0"), ":mountain:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x8b"), ":volcano:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xbb"), ":mount_fuji:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x95"), ":camping:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x96"), ":beach:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x9c"), ":desert:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x9d"), ":island:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x9e"), ":park:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x9f"), ":stadium:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x9b"), ":classical_building:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x97"), ":construction_site:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x98"), ":homes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x99"), ":cityscape:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x9a"), ":house_abandoned:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa0"), ":house:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa1"), ":house_with_garden:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa2"), ":office:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa3"), ":post_office:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa4"), ":european_post_office:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa5"), ":hospital:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa6"), ":bank:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa8"), ":hotel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa9"), ":love_hotel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xaa"), ":convenience_store:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xab"), ":school:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xac"), ":department_store:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xad"), ":factory:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xaf"), ":japanese_castle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb0"), ":european_castle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x92"), ":wedding:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xbc"), ":tokyo_tower:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xbd"), ":statue_of_liberty:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xaa"), ":church:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x8c"), ":mosque:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x8d"), ":synagogue:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xa9"), ":shinto_shrine:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x8b"), ":kaaba:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb2"), ":fountain:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xba"), ":tent:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x81"), ":foggy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x83"), ":night_with_stars:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x84"), ":sunrise_over_mountains:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x85"), ":sunrise:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x86"), ":city_dusk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x87"), ":city_sunset:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x89"), ":bridge_at_night:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x8c"), ":milky_way:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa0"), ":carousel_horse:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa1"), ":ferris_wheel:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa2"), ":roller_coaster:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x82"), ":steam_locomotive:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x83"), ":railway_car:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x84"), ":bullettrain_side:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x85"), ":bullettrain_front:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x86"), ":train2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x87"), ":metro:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x88"), ":light_rail:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x89"), ":station:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x8a"), ":tram:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x9d"), ":monorail:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x9e"), ":mountain_railway:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x8b"), ":train:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x8c"), ":bus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x8d"), ":oncoming_bus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x8e"), ":trolleybus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x90"), ":minibus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x91"), ":ambulance:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x92"), ":fire_engine:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x93"), ":police_car:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x94"), ":oncoming_police_car:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x95"), ":taxi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x96"), ":oncoming_taxi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x97"), ":red_car:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x98"), ":oncoming_automobile:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x99"), ":blue_car:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x9a"), ":truck:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x9b"), ":articulated_lorry:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x9c"), ":tractor:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb2"), ":bike:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xb4"), ":scooter:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xb5"), ":motor_scooter:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x8f"), ":busstop:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa3"), ":motorway:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa4"), ":railway_track:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xbd"), ":fuelpump:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa8"), ":rotating_light:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa5"), ":traffic_light:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa6"), ":vertical_traffic_light:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa7"), ":construction:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x93"), ":anchor:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb5"), ":sailboat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xb6"), ":canoe:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa4"), ":speedboat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xb3"), ":cruise_ship:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb4"), ":ferry:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa5"), ":motorboat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa2"), ":ship:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x88"), ":airplane:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa9"), ":airplane_small:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xab"), ":airplane_departure:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xac"), ":airplane_arriving:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xba"), ":seat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x81"), ":helicopter:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x9f"), ":suspension_railway:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa0"), ":mountain_cableway:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa1"), ":aerial_tramway:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\x80"), ":rocket:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xb0"), ":satellite_orbital:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa0"), ":stars:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x88"), ":rainbow:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x86"), ":fireworks:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x87"), ":sparkler:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x91"), ":rice_scene:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\x81"), ":checkered_flag:"}, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8e"), ":race_car:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x8d"), ":motorcycle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xbe"), ":japan:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x94"), ":mountain_snow:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb0"), ":mountain:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x8b"), ":volcano:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xbb"), ":mount_fuji:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x95"), ":camping:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x96"), ":beach:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x9c"), ":desert:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x9d"), ":island:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x9e"), ":park:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x9f"), ":stadium:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x9b"), ":classical_building:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x97"), ":construction_site:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x98"), ":homes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x99"), ":cityscape:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x9a"), ":house_abandoned:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa0"), ":house:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa1"), ":house_with_garden:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa2"), ":office:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa3"), ":post_office:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa4"), ":european_post_office:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa5"), ":hospital:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa6"), ":bank:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa8"), ":hotel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa9"), ":love_hotel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xaa"), ":convenience_store:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xab"), ":school:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xac"), ":department_store:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xad"), ":factory:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xaf"), ":japanese_castle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb0"), ":european_castle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x92"), ":wedding:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xbc"), ":tokyo_tower:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xbd"), ":statue_of_liberty:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xaa"), ":church:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x8c"), ":mosque:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x8d"), ":synagogue:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xa9"), ":shinto_shrine:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x8b"), ":kaaba:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb2"), ":fountain:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xba"), ":tent:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x81"), ":foggy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x83"), ":night_with_stars:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x84"), ":sunrise_over_mountains:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x85"), ":sunrise:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x86"), ":city_dusk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x87"), ":city_sunset:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x89"), ":bridge_at_night:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x8c"), ":milky_way:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa0"), ":carousel_horse:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa1"), ":ferris_wheel:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa2"), ":roller_coaster:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x82"), ":steam_locomotive:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x83"), ":railway_car:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x84"), ":bullettrain_side:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x85"), ":bullettrain_front:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x86"), ":train2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x87"), ":metro:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x88"), ":light_rail:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x89"), ":station:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x8a"), ":tram:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x9d"), ":monorail:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x9e"), ":mountain_railway:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x8b"), ":train:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x8c"), ":bus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x8d"), ":oncoming_bus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x8e"), ":trolleybus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x90"), ":minibus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x91"), ":ambulance:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x92"), ":fire_engine:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x93"), ":police_car:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x94"), ":oncoming_police_car:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x95"), ":taxi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x96"), ":oncoming_taxi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x97"), ":red_car:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x98"), ":oncoming_automobile:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x99"), ":blue_car:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x9a"), ":truck:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x9b"), ":articulated_lorry:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x9c"), ":tractor:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb2"), ":bike:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xb4"), ":scooter:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xb5"), ":motor_scooter:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x8f"), ":busstop:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xa3"), ":motorway:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xa4"), ":railway_track:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xbd"), ":fuelpump:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa8"), ":rotating_light:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa5"), ":traffic_light:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa6"), ":vertical_traffic_light:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa7"), ":construction:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x93"), ":anchor:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb5"), ":sailboat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xb6"), ":canoe:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa4"), ":speedboat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xb3"), ":cruise_ship:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb4"), ":ferry:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xa5"), ":motorboat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa2"), ":ship:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x88"), ":airplane:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xa9"), ":airplane_small:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xab"), ":airplane_departure:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xac"), ":airplane_arriving:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xba"), ":seat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x81"), ":helicopter:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x9f"), ":suspension_railway:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa0"), ":mountain_cableway:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa1"), ":aerial_tramway:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\x80"), ":rocket:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xb0"), ":satellite_orbital:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa0"), ":stars:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x88"), ":rainbow:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x86"), ":fireworks:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x87"), ":sparkler:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x91"), ":rice_scene:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\x81"), ":checkered_flag:" }, }; const QList EmojiProvider::objects = { - Emoji{QString::fromUtf8("\xe2\x98\xa0"), ":skull_crossbones:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x8c"), ":love_letter:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa3"), ":bomb:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb3"), ":hole:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x8d"), ":shopping_bags:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xbf"), ":prayer_beads:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x8e"), ":gem:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xaa"), ":knife:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xba"), ":amphora:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xba"), ":map:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x88"), ":barber:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\xbc"), ":frame_photo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x8e"), ":bellhop:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xaa"), ":door:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x8c"), ":sleeping_accommodation:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x8f"), ":bed:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x8b"), ":couch:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbd"), ":toilet:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbf"), ":shower:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x81"), ":bathtub:"}, - Emoji{QString::fromUtf8("\xe2\x8c\x9b"), ":hourglass:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xb3"), ":hourglass_flowing_sand:"}, - Emoji{QString::fromUtf8("\xe2\x8c\x9a"), ":watch:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xb0"), ":alarm_clock:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xb1"), ":stopwatch:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xb2"), ":timer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb0"), ":clock:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\xa1"), ":thermometer:"}, - Emoji{QString::fromUtf8("\xe2\x9b\xb1"), ":beach_umbrella:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x88"), ":balloon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x89"), ":tada:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x8a"), ":confetti_ball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x8e"), ":dolls:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x8f"), ":flags:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x90"), ":wind_chime:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x80"), ":ribbon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x81"), ":gift:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xb9"), ":joystick:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xaf"), ":postal_horn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x99"), ":microphone2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x9a"), ":level_slider:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x9b"), ":control_knobs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xbb"), ":radio:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb1"), ":iphone:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb2"), ":calling:"}, - Emoji{QString::fromUtf8("\xe2\x98\x8e"), ":telephone:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x9e"), ":telephone_receiver:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x9f"), ":pager:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa0"), ":fax:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x8b"), ":battery:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x8c"), ":electric_plug:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xbb"), ":computer:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\xa5"), ":desktop:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\xa8"), ":printer:"}, - Emoji{QString::fromUtf8("\xe2\x8c\xa8"), ":keyboard:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\xb1"), ":mouse_three_button:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\xb2"), ":trackball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xbd"), ":minidisc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xbe"), ":floppy_disk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xbf"), ":cd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x80"), ":dvd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa5"), ":movie_camera:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x9e"), ":film_frames:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xbd"), ":projector:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xba"), ":tv:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb7"), ":camera:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb8"), ":camera_with_flash:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb9"), ":video_camera:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xbc"), ":vhs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x8d"), ":mag:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x8e"), ":mag_right:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xac"), ":microscope:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xad"), ":telescope:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa1"), ":satellite:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xaf"), ":candle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa1"), ":bulb:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa6"), ":flashlight:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xae"), ":izakaya_lantern:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x94"), ":notebook_with_decorative_cover:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x95"), ":closed_book:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x96"), ":book:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x97"), ":green_book:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x98"), ":blue_book:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x99"), ":orange_book:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x9a"), ":books:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x93"), ":notebook:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x92"), ":ledger:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x83"), ":page_with_curl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x9c"), ":scroll:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x84"), ":page_facing_up:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb0"), ":newspaper:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x9e"), ":newspaper2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x91"), ":bookmark_tabs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x96"), ":bookmark:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb7"), ":label:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb0"), ":moneybag:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb4"), ":yen:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb5"), ":dollar:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb6"), ":euro:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb7"), ":pound:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb8"), ":money_with_wings:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb3"), ":credit_card:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x89"), ":envelope:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa7"), ":e-mail:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa8"), ":incoming_envelope:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa9"), ":envelope_with_arrow:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa4"), ":outbox_tray:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa5"), ":inbox_tray:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa6"), ":package:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xab"), ":mailbox:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xaa"), ":mailbox_closed:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xac"), ":mailbox_with_mail:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xad"), ":mailbox_with_no_mail:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xae"), ":postbox:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xb3"), ":ballot_box:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x8f"), ":pencil2:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x92"), ":black_nib:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x8b"), ":pen_fountain:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x8a"), ":pen_ballpoint:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x8c"), ":paintbrush:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x8d"), ":crayon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x9d"), ":pencil:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x81"), ":file_folder:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x82"), ":open_file_folder:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x82"), ":dividers:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x85"), ":date:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x86"), ":calendar:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x92"), ":notepad_spiral:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x93"), ":calendar_spiral:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x87"), ":card_index:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x88"), ":chart_with_upwards_trend:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x89"), ":chart_with_downwards_trend:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x8a"), ":bar_chart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x8b"), ":clipboard:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x8c"), ":pushpin:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x8d"), ":round_pushpin:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x8e"), ":paperclip:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\x87"), ":paperclips:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x8f"), ":straight_ruler:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x90"), ":triangular_ruler:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x82"), ":scissors:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x83"), ":card_box:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x84"), ":file_cabinet:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x91"), ":wastebasket:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x92"), ":lock:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x93"), ":unlock:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x8f"), ":lock_with_ink_pen:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x90"), ":closed_lock_with_key:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x91"), ":key:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x9d"), ":key2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa8"), ":hammer:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x8f"), ":pick:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x92"), ":hammer_pick:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa0"), ":tools:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xa1"), ":dagger:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x94"), ":crossed_swords:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xab"), ":gun:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa1"), ":shield:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa7"), ":wrench:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa9"), ":nut_and_bolt:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x99"), ":gear:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\x9c"), ":compression:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x97"), ":alembic:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x96"), ":scales:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x97"), ":link:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x93"), ":chains:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x89"), ":syringe:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x8a"), ":pill:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xac"), ":smoking:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xb0"), ":coffin:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xb1"), ":urn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xbf"), ":moyai:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\xa2"), ":oil:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xae"), ":crystal_ball:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x92"), ":shopping_cart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xa9"), ":triangular_flag_on_post:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\x8c"), ":crossed_flags:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb4"), ":flag_black:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb3"), ":flag_white:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xb3\xf0\x9f\x8c\x88"), ":rainbow_flag:"}, + Emoji{ QString::fromUtf8("\xe2\x98\xa0"), ":skull_crossbones:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x8c"), ":love_letter:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa3"), ":bomb:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb3"), ":hole:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x8d"), ":shopping_bags:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xbf"), ":prayer_beads:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x8e"), ":gem:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xaa"), ":knife:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xba"), ":amphora:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xba"), ":map:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x88"), ":barber:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\xbc"), ":frame_photo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x8e"), ":bellhop:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xaa"), ":door:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x8c"), ":sleeping_accommodation:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x8f"), ":bed:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x8b"), ":couch:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xbd"), ":toilet:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xbf"), ":shower:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x81"), ":bathtub:" }, + Emoji{ QString::fromUtf8("\xe2\x8c\x9b"), ":hourglass:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xb3"), ":hourglass_flowing_sand:" }, + Emoji{ QString::fromUtf8("\xe2\x8c\x9a"), ":watch:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xb0"), ":alarm_clock:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xb1"), ":stopwatch:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xb2"), ":timer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb0"), ":clock:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\xa1"), ":thermometer:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\xb1"), ":beach_umbrella:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x88"), ":balloon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x89"), ":tada:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x8a"), ":confetti_ball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x8e"), ":dolls:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x8f"), ":flags:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x90"), ":wind_chime:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x80"), ":ribbon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x81"), ":gift:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xb9"), ":joystick:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xaf"), ":postal_horn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x99"), ":microphone2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x9a"), ":level_slider:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x9b"), ":control_knobs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xbb"), ":radio:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb1"), ":iphone:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb2"), ":calling:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x8e"), ":telephone:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x9e"), ":telephone_receiver:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x9f"), ":pager:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa0"), ":fax:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x8b"), ":battery:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x8c"), ":electric_plug:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xbb"), ":computer:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\xa5"), ":desktop:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\xa8"), ":printer:" }, + Emoji{ QString::fromUtf8("\xe2\x8c\xa8"), ":keyboard:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\xb1"), ":mouse_three_button:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\xb2"), ":trackball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xbd"), ":minidisc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xbe"), ":floppy_disk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xbf"), ":cd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x80"), ":dvd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa5"), ":movie_camera:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x9e"), ":film_frames:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xbd"), ":projector:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xba"), ":tv:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb7"), ":camera:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb8"), ":camera_with_flash:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb9"), ":video_camera:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xbc"), ":vhs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x8d"), ":mag:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x8e"), ":mag_right:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xac"), ":microscope:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xad"), ":telescope:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa1"), ":satellite:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xaf"), ":candle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa1"), ":bulb:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa6"), ":flashlight:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xae"), ":izakaya_lantern:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x94"), ":notebook_with_decorative_cover:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x95"), ":closed_book:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x96"), ":book:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x97"), ":green_book:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x98"), ":blue_book:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x99"), ":orange_book:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x9a"), ":books:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x93"), ":notebook:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x92"), ":ledger:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x83"), ":page_with_curl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x9c"), ":scroll:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x84"), ":page_facing_up:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb0"), ":newspaper:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x9e"), ":newspaper2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x91"), ":bookmark_tabs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x96"), ":bookmark:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb7"), ":label:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb0"), ":moneybag:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb4"), ":yen:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb5"), ":dollar:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb6"), ":euro:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb7"), ":pound:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb8"), ":money_with_wings:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb3"), ":credit_card:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x89"), ":envelope:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa7"), ":e-mail:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa8"), ":incoming_envelope:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa9"), ":envelope_with_arrow:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa4"), ":outbox_tray:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa5"), ":inbox_tray:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa6"), ":package:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xab"), ":mailbox:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xaa"), ":mailbox_closed:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xac"), ":mailbox_with_mail:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xad"), ":mailbox_with_no_mail:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xae"), ":postbox:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xb3"), ":ballot_box:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x8f"), ":pencil2:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x92"), ":black_nib:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x8b"), ":pen_fountain:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x8a"), ":pen_ballpoint:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x8c"), ":paintbrush:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x8d"), ":crayon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x9d"), ":pencil:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x81"), ":file_folder:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x82"), ":open_file_folder:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x82"), ":dividers:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x85"), ":date:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x86"), ":calendar:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x92"), ":notepad_spiral:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x93"), ":calendar_spiral:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x87"), ":card_index:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x88"), ":chart_with_upwards_trend:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x89"), ":chart_with_downwards_trend:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x8a"), ":bar_chart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x8b"), ":clipboard:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x8c"), ":pushpin:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x8d"), ":round_pushpin:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x8e"), ":paperclip:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\x87"), ":paperclips:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x8f"), ":straight_ruler:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x90"), ":triangular_ruler:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x82"), ":scissors:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x83"), ":card_box:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x84"), ":file_cabinet:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x91"), ":wastebasket:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x92"), ":lock:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x93"), ":unlock:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x8f"), ":lock_with_ink_pen:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x90"), ":closed_lock_with_key:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x91"), ":key:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x9d"), ":key2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa8"), ":hammer:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x8f"), ":pick:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x92"), ":hammer_pick:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xa0"), ":tools:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xa1"), ":dagger:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x94"), ":crossed_swords:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xab"), ":gun:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xa1"), ":shield:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa7"), ":wrench:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa9"), ":nut_and_bolt:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x99"), ":gear:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\x9c"), ":compression:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x97"), ":alembic:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x96"), ":scales:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x97"), ":link:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x93"), ":chains:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x89"), ":syringe:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x8a"), ":pill:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xac"), ":smoking:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xb0"), ":coffin:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xb1"), ":urn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xbf"), ":moyai:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\xa2"), ":oil:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xae"), ":crystal_ball:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x92"), ":shopping_cart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xa9"), ":triangular_flag_on_post:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\x8c"), ":crossed_flags:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb4"), ":flag_black:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb3"), ":flag_white:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xb3\xf0\x9f\x8c\x88"), ":rainbow_flag:" }, }; const QList EmojiProvider::symbols = { - Emoji{QString::fromUtf8("\xf0\x9f\x91\x81\xf0\x9f\x97\xa8"), ":eye_in_speech_bubble:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x98"), ":cupid:"}, - Emoji{QString::fromUtf8("\xe2\x9d\xa4"), ":heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x93"), ":heartbeat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x94"), ":broken_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x95"), ":two_hearts:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x96"), ":sparkling_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x97"), ":heartpulse:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x99"), ":blue_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x9a"), ":green_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x9b"), ":yellow_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x9c"), ":purple_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x96\xa4"), ":black_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x9d"), ":gift_heart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x9e"), ":revolving_hearts:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\x9f"), ":heart_decoration:"}, - Emoji{QString::fromUtf8("\xe2\x9d\xa3"), ":heart_exclamation:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa2"), ":anger:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa5"), ":boom:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xab"), ":dizzy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xac"), ":speech_balloon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xa8"), ":speech_left:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x97\xaf"), ":anger_right:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xad"), ":thought_balloon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xae"), ":white_flower:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x90"), ":globe_with_meridians:"}, - Emoji{QString::fromUtf8("\xe2\x99\xa8"), ":hotsprings:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x91"), ":octagonal_sign:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9b"), ":clock12:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa7"), ":clock1230:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x90"), ":clock1:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9c"), ":clock130:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x91"), ":clock2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9d"), ":clock230:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x92"), ":clock3:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9e"), ":clock330:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x93"), ":clock4:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9f"), ":clock430:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x94"), ":clock5:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa0"), ":clock530:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x95"), ":clock6:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa1"), ":clock630:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x96"), ":clock7:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa2"), ":clock730:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x97"), ":clock8:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa3"), ":clock830:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x98"), ":clock9:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa4"), ":clock930:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x99"), ":clock10:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa5"), ":clock1030:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x9a"), ":clock11:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\xa6"), ":clock1130:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8c\x80"), ":cyclone:"}, - Emoji{QString::fromUtf8("\xe2\x99\xa0"), ":spades:"}, - Emoji{QString::fromUtf8("\xe2\x99\xa5"), ":hearts:"}, - Emoji{QString::fromUtf8("\xe2\x99\xa6"), ":diamonds:"}, - Emoji{QString::fromUtf8("\xe2\x99\xa3"), ":clubs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x83\x8f"), ":black_joker:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x80\x84"), ":mahjong:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb4"), ":flower_playing_cards:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x87"), ":mute:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x88"), ":speaker:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x89"), ":sound:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x8a"), ":loud_sound:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa2"), ":loudspeaker:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xa3"), ":mega:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x94"), ":bell:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x95"), ":no_bell:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb5"), ":musical_note:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xb6"), ":notes:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb9"), ":chart:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb1"), ":currency_exchange:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xb2"), ":heavy_dollar_sign:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8f\xa7"), ":atm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xae"), ":put_litter_in_its_place:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb0"), ":potable_water:"}, - Emoji{QString::fromUtf8("\xe2\x99\xbf"), ":wheelchair:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb9"), ":mens:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xba"), ":womens:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbb"), ":restroom:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbc"), ":baby_symbol:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xbe"), ":wc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x82"), ":passport_control:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x83"), ":customs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x84"), ":baggage_claim:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x85"), ":left_luggage:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xa0"), ":warning:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb8"), ":children_crossing:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x94"), ":no_entry:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xab"), ":no_entry_sign:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb3"), ":no_bicycles:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xad"), ":no_smoking:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xaf"), ":do_not_litter:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb1"), ":non-potable_water:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9a\xb7"), ":no_pedestrians:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb5"), ":no_mobile_phones:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x9e"), ":underage:"}, - Emoji{QString::fromUtf8("\xe2\x98\xa2"), ":radioactive:"}, - Emoji{QString::fromUtf8("\xe2\x98\xa3"), ":biohazard:"}, - Emoji{QString::fromUtf8("\xe2\xac\x86"), ":arrow_up:"}, - Emoji{QString::fromUtf8("\xe2\x86\x97"), ":arrow_upper_right:"}, - Emoji{QString::fromUtf8("\xe2\x9e\xa1"), ":arrow_right:"}, - Emoji{QString::fromUtf8("\xe2\x86\x98"), ":arrow_lower_right:"}, - Emoji{QString::fromUtf8("\xe2\xac\x87"), ":arrow_down:"}, - Emoji{QString::fromUtf8("\xe2\x86\x99"), ":arrow_lower_left:"}, - Emoji{QString::fromUtf8("\xe2\xac\x85"), ":arrow_left:"}, - Emoji{QString::fromUtf8("\xe2\x86\x96"), ":arrow_upper_left:"}, - Emoji{QString::fromUtf8("\xe2\x86\x95"), ":arrow_up_down:"}, - Emoji{QString::fromUtf8("\xe2\x86\x94"), ":left_right_arrow:"}, - Emoji{QString::fromUtf8("\xe2\x86\xa9"), ":leftwards_arrow_with_hook:"}, - Emoji{QString::fromUtf8("\xe2\x86\xaa"), ":arrow_right_hook:"}, - Emoji{QString::fromUtf8("\xe2\xa4\xb4"), ":arrow_heading_up:"}, - Emoji{QString::fromUtf8("\xe2\xa4\xb5"), ":arrow_heading_down:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x83"), ":arrows_clockwise:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x84"), ":arrows_counterclockwise:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x99"), ":back:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x9a"), ":end:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x9b"), ":on:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x9c"), ":soon:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x9d"), ":top:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x9b\x90"), ":place_of_worship:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x9b"), ":atom:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x89"), ":om_symbol:"}, - Emoji{QString::fromUtf8("\xe2\x9c\xa1"), ":star_of_david:"}, - Emoji{QString::fromUtf8("\xe2\x98\xb8"), ":wheel_of_dharma:"}, - Emoji{QString::fromUtf8("\xe2\x98\xaf"), ":yin_yang:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x9d"), ":cross:"}, - Emoji{QString::fromUtf8("\xe2\x98\xa6"), ":orthodox_cross:"}, - Emoji{QString::fromUtf8("\xe2\x98\xaa"), ":star_and_crescent:"}, - Emoji{QString::fromUtf8("\xe2\x98\xae"), ":peace:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x95\x8e"), ":menorah:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xaf"), ":six_pointed_star:"}, - Emoji{QString::fromUtf8("\xe2\x99\x88"), ":aries:"}, - Emoji{QString::fromUtf8("\xe2\x99\x89"), ":taurus:"}, - Emoji{QString::fromUtf8("\xe2\x99\x8a"), ":gemini:"}, - Emoji{QString::fromUtf8("\xe2\x99\x8b"), ":cancer:"}, - Emoji{QString::fromUtf8("\xe2\x99\x8c"), ":leo:"}, - Emoji{QString::fromUtf8("\xe2\x99\x8d"), ":virgo:"}, - Emoji{QString::fromUtf8("\xe2\x99\x8e"), ":libra:"}, - Emoji{QString::fromUtf8("\xe2\x99\x8f"), ":scorpius:"}, - Emoji{QString::fromUtf8("\xe2\x99\x90"), ":sagittarius:"}, - Emoji{QString::fromUtf8("\xe2\x99\x91"), ":capricorn:"}, - Emoji{QString::fromUtf8("\xe2\x99\x92"), ":aquarius:"}, - Emoji{QString::fromUtf8("\xe2\x99\x93"), ":pisces:"}, - Emoji{QString::fromUtf8("\xe2\x9b\x8e"), ":ophiuchus:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x80"), ":twisted_rightwards_arrows:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x81"), ":repeat:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x82"), ":repeat_one:"}, - Emoji{QString::fromUtf8("\xe2\x96\xb6"), ":arrow_forward:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xa9"), ":fast_forward:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xad"), ":track_next:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xaf"), ":play_pause:"}, - Emoji{QString::fromUtf8("\xe2\x97\x80"), ":arrow_backward:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xaa"), ":rewind:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xae"), ":track_previous:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xbc"), ":arrow_up_small:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xab"), ":arrow_double_up:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xbd"), ":arrow_down_small:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xac"), ":arrow_double_down:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xb8"), ":pause_button:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xb9"), ":stop_button:"}, - Emoji{QString::fromUtf8("\xe2\x8f\xba"), ":record_button:"}, - Emoji{QString::fromUtf8("\xe2\x8f\x8f"), ":eject:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x8e\xa6"), ":cinema:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x85"), ":low_brightness:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x86"), ":high_brightness:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb6"), ":signal_strength:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb3"), ":vibration_mode:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\xb4"), ":mobile_phone_off:"}, - Emoji{QString::fromUtf8("\xe2\x99\xbb"), ":recycle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x93\x9b"), ":name_badge:"}, - Emoji{QString::fromUtf8("\xe2\x9a\x9c"), ":fleur-de-lis:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb0"), ":beginner:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb1"), ":trident:"}, - Emoji{QString::fromUtf8("\xe2\xad\x95"), ":o:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x85"), ":white_check_mark:"}, - Emoji{QString::fromUtf8("\xe2\x98\x91"), ":ballot_box_with_check:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x94"), ":heavy_check_mark:"}, - Emoji{QString::fromUtf8("\xe2\x9c\x96"), ":heavy_multiplication_x:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x8c"), ":x:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x8e"), ":negative_squared_cross_mark:"}, - Emoji{QString::fromUtf8("\xe2\x9e\x95"), ":heavy_plus_sign:"}, - Emoji{QString::fromUtf8("\xe2\x9e\x96"), ":heavy_minus_sign:"}, - Emoji{QString::fromUtf8("\xe2\x9e\x97"), ":heavy_division_sign:"}, - Emoji{QString::fromUtf8("\xe2\x9e\xb0"), ":curly_loop:"}, - Emoji{QString::fromUtf8("\xe2\x9e\xbf"), ":loop:"}, - Emoji{QString::fromUtf8("\xe3\x80\xbd"), ":part_alternation_mark:"}, - Emoji{QString::fromUtf8("\xe2\x9c\xb3"), ":eight_spoked_asterisk:"}, - Emoji{QString::fromUtf8("\xe2\x9c\xb4"), ":eight_pointed_black_star:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x87"), ":sparkle:"}, - Emoji{QString::fromUtf8("\xe2\x80\xbc"), ":bangbang:"}, - Emoji{QString::fromUtf8("\xe2\x81\x89"), ":interrobang:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x93"), ":question:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x94"), ":grey_question:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x95"), ":grey_exclamation:"}, - Emoji{QString::fromUtf8("\xe2\x9d\x97"), ":exclamation:"}, - Emoji{QString::fromUtf8("\xe3\x80\xb0"), ":wavy_dash:"}, - Emoji{QString::fromUtf8("\xc2\xa9"), ":copyright:"}, - Emoji{QString::fromUtf8("\xc2\xae"), ":registered:"}, - Emoji{QString::fromUtf8("\xe2\x84\xa2"), ":tm:"}, - Emoji{QString::fromUtf8("#\xe2\x83\xa3"), ":hash:"}, - Emoji{QString::fromUtf8("*\xe2\x83\xa3"), ":asterisk:"}, - Emoji{QString::fromUtf8("0\xe2\x83\xa3"), ":zero:"}, - Emoji{QString::fromUtf8("1\xe2\x83\xa3"), ":one:"}, - Emoji{QString::fromUtf8("2\xe2\x83\xa3"), ":two:"}, - Emoji{QString::fromUtf8("3\xe2\x83\xa3"), ":three:"}, - Emoji{QString::fromUtf8("4\xe2\x83\xa3"), ":four:"}, - Emoji{QString::fromUtf8("5\xe2\x83\xa3"), ":five:"}, - Emoji{QString::fromUtf8("6\xe2\x83\xa3"), ":six:"}, - Emoji{QString::fromUtf8("7\xe2\x83\xa3"), ":seven:"}, - Emoji{QString::fromUtf8("8\xe2\x83\xa3"), ":eight:"}, - Emoji{QString::fromUtf8("9\xe2\x83\xa3"), ":nine:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x9f"), ":keycap_ten:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xaf"), ":100:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa0"), ":capital_abcd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa1"), ":abcd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa2"), ":1234:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa3"), ":symbols:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xa4"), ":abc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x85\xb0"), ":a:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x8e"), ":ab:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x85\xb1"), ":b:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x91"), ":cl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x92"), ":cool:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x93"), ":free:"}, - Emoji{QString::fromUtf8("\xe2\x84\xb9"), ":information_source:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x94"), ":id:"}, - Emoji{QString::fromUtf8("\xe2\x93\x82"), ":m:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x95"), ":new:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x96"), ":ng:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x85\xbe"), ":o2:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x97"), ":ok:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x85\xbf"), ":parking:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x98"), ":sos:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x99"), ":up:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x86\x9a"), ":vs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\x81"), ":koko:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\x82"), ":sa:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb7"), ":u6708:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb6"), ":u6709:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xaf"), ":u6307:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x89\x90"), ":ideograph_advantage:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb9"), ":u5272:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\x9a"), ":u7121:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb2"), ":u7981:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x89\x91"), ":accept:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb8"), ":u7533:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb4"), ":u5408:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb3"), ":u7a7a:"}, - Emoji{QString::fromUtf8("\xe3\x8a\x97"), ":congratulations:"}, - Emoji{QString::fromUtf8("\xe3\x8a\x99"), ":secret:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xba"), ":u55b6:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x88\xb5"), ":u6e80:"}, - Emoji{QString::fromUtf8("\xe2\x96\xaa"), ":black_small_square:"}, - Emoji{QString::fromUtf8("\xe2\x96\xab"), ":white_small_square:"}, - Emoji{QString::fromUtf8("\xe2\x97\xbb"), ":white_medium_square:"}, - Emoji{QString::fromUtf8("\xe2\x97\xbc"), ":black_medium_square:"}, - Emoji{QString::fromUtf8("\xe2\x97\xbd"), ":white_medium_small_square:"}, - Emoji{QString::fromUtf8("\xe2\x97\xbe"), ":black_medium_small_square:"}, - Emoji{QString::fromUtf8("\xe2\xac\x9b"), ":black_large_square:"}, - Emoji{QString::fromUtf8("\xe2\xac\x9c"), ":white_large_square:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb6"), ":large_orange_diamond:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb7"), ":large_blue_diamond:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb8"), ":small_orange_diamond:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb9"), ":small_blue_diamond:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xba"), ":small_red_triangle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xbb"), ":small_red_triangle_down:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x92\xa0"), ":diamond_shape_with_a_dot_inside:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\x98"), ":radio_button:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb2"), ":black_square_button:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb3"), ":white_square_button:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xaa"), ":white_circle:"}, - Emoji{QString::fromUtf8("\xe2\x9a\xab"), ":black_circle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb4"), ":red_circle:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x94\xb5"), ":blue_circle:"}, + Emoji{ QString::fromUtf8("\xf0\x9f\x91\x81\xf0\x9f\x97\xa8"), ":eye_in_speech_bubble:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x98"), ":cupid:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\xa4"), ":heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x93"), ":heartbeat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x94"), ":broken_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x95"), ":two_hearts:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x96"), ":sparkling_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x97"), ":heartpulse:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x99"), ":blue_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x9a"), ":green_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x9b"), ":yellow_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x9c"), ":purple_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x96\xa4"), ":black_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x9d"), ":gift_heart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x9e"), ":revolving_hearts:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\x9f"), ":heart_decoration:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\xa3"), ":heart_exclamation:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa2"), ":anger:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa5"), ":boom:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xab"), ":dizzy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xac"), ":speech_balloon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xa8"), ":speech_left:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x97\xaf"), ":anger_right:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xad"), ":thought_balloon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xae"), ":white_flower:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x90"), ":globe_with_meridians:" }, + Emoji{ QString::fromUtf8("\xe2\x99\xa8"), ":hotsprings:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x91"), ":octagonal_sign:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x9b"), ":clock12:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa7"), ":clock1230:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x90"), ":clock1:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x9c"), ":clock130:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x91"), ":clock2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x9d"), ":clock230:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x92"), ":clock3:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x9e"), ":clock330:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x93"), ":clock4:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x9f"), ":clock430:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x94"), ":clock5:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa0"), ":clock530:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x95"), ":clock6:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa1"), ":clock630:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x96"), ":clock7:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa2"), ":clock730:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x97"), ":clock8:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa3"), ":clock830:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x98"), ":clock9:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa4"), ":clock930:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x99"), ":clock10:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa5"), ":clock1030:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x9a"), ":clock11:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\xa6"), ":clock1130:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8c\x80"), ":cyclone:" }, + Emoji{ QString::fromUtf8("\xe2\x99\xa0"), ":spades:" }, + Emoji{ QString::fromUtf8("\xe2\x99\xa5"), ":hearts:" }, + Emoji{ QString::fromUtf8("\xe2\x99\xa6"), ":diamonds:" }, + Emoji{ QString::fromUtf8("\xe2\x99\xa3"), ":clubs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x83\x8f"), ":black_joker:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x80\x84"), ":mahjong:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb4"), ":flower_playing_cards:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x87"), ":mute:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x88"), ":speaker:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x89"), ":sound:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x8a"), ":loud_sound:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa2"), ":loudspeaker:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xa3"), ":mega:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x94"), ":bell:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x95"), ":no_bell:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb5"), ":musical_note:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xb6"), ":notes:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb9"), ":chart:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb1"), ":currency_exchange:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xb2"), ":heavy_dollar_sign:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8f\xa7"), ":atm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xae"), ":put_litter_in_its_place:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb0"), ":potable_water:" }, + Emoji{ QString::fromUtf8("\xe2\x99\xbf"), ":wheelchair:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb9"), ":mens:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xba"), ":womens:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xbb"), ":restroom:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xbc"), ":baby_symbol:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xbe"), ":wc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x82"), ":passport_control:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x83"), ":customs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x84"), ":baggage_claim:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x85"), ":left_luggage:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xa0"), ":warning:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb8"), ":children_crossing:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x94"), ":no_entry:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xab"), ":no_entry_sign:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb3"), ":no_bicycles:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xad"), ":no_smoking:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xaf"), ":do_not_litter:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb1"), ":non-potable_water:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9a\xb7"), ":no_pedestrians:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb5"), ":no_mobile_phones:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x9e"), ":underage:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xa2"), ":radioactive:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xa3"), ":biohazard:" }, + Emoji{ QString::fromUtf8("\xe2\xac\x86"), ":arrow_up:" }, + Emoji{ QString::fromUtf8("\xe2\x86\x97"), ":arrow_upper_right:" }, + Emoji{ QString::fromUtf8("\xe2\x9e\xa1"), ":arrow_right:" }, + Emoji{ QString::fromUtf8("\xe2\x86\x98"), ":arrow_lower_right:" }, + Emoji{ QString::fromUtf8("\xe2\xac\x87"), ":arrow_down:" }, + Emoji{ QString::fromUtf8("\xe2\x86\x99"), ":arrow_lower_left:" }, + Emoji{ QString::fromUtf8("\xe2\xac\x85"), ":arrow_left:" }, + Emoji{ QString::fromUtf8("\xe2\x86\x96"), ":arrow_upper_left:" }, + Emoji{ QString::fromUtf8("\xe2\x86\x95"), ":arrow_up_down:" }, + Emoji{ QString::fromUtf8("\xe2\x86\x94"), ":left_right_arrow:" }, + Emoji{ QString::fromUtf8("\xe2\x86\xa9"), ":leftwards_arrow_with_hook:" }, + Emoji{ QString::fromUtf8("\xe2\x86\xaa"), ":arrow_right_hook:" }, + Emoji{ QString::fromUtf8("\xe2\xa4\xb4"), ":arrow_heading_up:" }, + Emoji{ QString::fromUtf8("\xe2\xa4\xb5"), ":arrow_heading_down:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x83"), ":arrows_clockwise:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x84"), ":arrows_counterclockwise:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x99"), ":back:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x9a"), ":end:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x9b"), ":on:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x9c"), ":soon:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x9d"), ":top:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x9b\x90"), ":place_of_worship:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x9b"), ":atom:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x89"), ":om_symbol:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\xa1"), ":star_of_david:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xb8"), ":wheel_of_dharma:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xaf"), ":yin_yang:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x9d"), ":cross:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xa6"), ":orthodox_cross:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xaa"), ":star_and_crescent:" }, + Emoji{ QString::fromUtf8("\xe2\x98\xae"), ":peace:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x95\x8e"), ":menorah:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xaf"), ":six_pointed_star:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x88"), ":aries:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x89"), ":taurus:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x8a"), ":gemini:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x8b"), ":cancer:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x8c"), ":leo:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x8d"), ":virgo:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x8e"), ":libra:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x8f"), ":scorpius:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x90"), ":sagittarius:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x91"), ":capricorn:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x92"), ":aquarius:" }, + Emoji{ QString::fromUtf8("\xe2\x99\x93"), ":pisces:" }, + Emoji{ QString::fromUtf8("\xe2\x9b\x8e"), ":ophiuchus:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x80"), ":twisted_rightwards_arrows:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x81"), ":repeat:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x82"), ":repeat_one:" }, + Emoji{ QString::fromUtf8("\xe2\x96\xb6"), ":arrow_forward:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xa9"), ":fast_forward:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xad"), ":track_next:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xaf"), ":play_pause:" }, + Emoji{ QString::fromUtf8("\xe2\x97\x80"), ":arrow_backward:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xaa"), ":rewind:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xae"), ":track_previous:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xbc"), ":arrow_up_small:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xab"), ":arrow_double_up:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xbd"), ":arrow_down_small:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xac"), ":arrow_double_down:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xb8"), ":pause_button:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xb9"), ":stop_button:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\xba"), ":record_button:" }, + Emoji{ QString::fromUtf8("\xe2\x8f\x8f"), ":eject:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x8e\xa6"), ":cinema:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x85"), ":low_brightness:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x86"), ":high_brightness:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb6"), ":signal_strength:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb3"), ":vibration_mode:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\xb4"), ":mobile_phone_off:" }, + Emoji{ QString::fromUtf8("\xe2\x99\xbb"), ":recycle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x93\x9b"), ":name_badge:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\x9c"), ":fleur-de-lis:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb0"), ":beginner:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb1"), ":trident:" }, + Emoji{ QString::fromUtf8("\xe2\xad\x95"), ":o:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x85"), ":white_check_mark:" }, + Emoji{ QString::fromUtf8("\xe2\x98\x91"), ":ballot_box_with_check:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x94"), ":heavy_check_mark:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\x96"), ":heavy_multiplication_x:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x8c"), ":x:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x8e"), ":negative_squared_cross_mark:" }, + Emoji{ QString::fromUtf8("\xe2\x9e\x95"), ":heavy_plus_sign:" }, + Emoji{ QString::fromUtf8("\xe2\x9e\x96"), ":heavy_minus_sign:" }, + Emoji{ QString::fromUtf8("\xe2\x9e\x97"), ":heavy_division_sign:" }, + Emoji{ QString::fromUtf8("\xe2\x9e\xb0"), ":curly_loop:" }, + Emoji{ QString::fromUtf8("\xe2\x9e\xbf"), ":loop:" }, + Emoji{ QString::fromUtf8("\xe3\x80\xbd"), ":part_alternation_mark:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\xb3"), ":eight_spoked_asterisk:" }, + Emoji{ QString::fromUtf8("\xe2\x9c\xb4"), ":eight_pointed_black_star:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x87"), ":sparkle:" }, + Emoji{ QString::fromUtf8("\xe2\x80\xbc"), ":bangbang:" }, + Emoji{ QString::fromUtf8("\xe2\x81\x89"), ":interrobang:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x93"), ":question:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x94"), ":grey_question:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x95"), ":grey_exclamation:" }, + Emoji{ QString::fromUtf8("\xe2\x9d\x97"), ":exclamation:" }, + Emoji{ QString::fromUtf8("\xe3\x80\xb0"), ":wavy_dash:" }, + Emoji{ QString::fromUtf8("\xc2\xa9"), ":copyright:" }, + Emoji{ QString::fromUtf8("\xc2\xae"), ":registered:" }, + Emoji{ QString::fromUtf8("\xe2\x84\xa2"), ":tm:" }, + Emoji{ QString::fromUtf8("#\xe2\x83\xa3"), ":hash:" }, + Emoji{ QString::fromUtf8("*\xe2\x83\xa3"), ":asterisk:" }, + Emoji{ QString::fromUtf8("0\xe2\x83\xa3"), ":zero:" }, + Emoji{ QString::fromUtf8("1\xe2\x83\xa3"), ":one:" }, + Emoji{ QString::fromUtf8("2\xe2\x83\xa3"), ":two:" }, + Emoji{ QString::fromUtf8("3\xe2\x83\xa3"), ":three:" }, + Emoji{ QString::fromUtf8("4\xe2\x83\xa3"), ":four:" }, + Emoji{ QString::fromUtf8("5\xe2\x83\xa3"), ":five:" }, + Emoji{ QString::fromUtf8("6\xe2\x83\xa3"), ":six:" }, + Emoji{ QString::fromUtf8("7\xe2\x83\xa3"), ":seven:" }, + Emoji{ QString::fromUtf8("8\xe2\x83\xa3"), ":eight:" }, + Emoji{ QString::fromUtf8("9\xe2\x83\xa3"), ":nine:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x9f"), ":keycap_ten:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xaf"), ":100:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa0"), ":capital_abcd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa1"), ":abcd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa2"), ":1234:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa3"), ":symbols:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xa4"), ":abc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x85\xb0"), ":a:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x8e"), ":ab:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x85\xb1"), ":b:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x91"), ":cl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x92"), ":cool:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x93"), ":free:" }, + Emoji{ QString::fromUtf8("\xe2\x84\xb9"), ":information_source:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x94"), ":id:" }, + Emoji{ QString::fromUtf8("\xe2\x93\x82"), ":m:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x95"), ":new:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x96"), ":ng:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x85\xbe"), ":o2:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x97"), ":ok:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x85\xbf"), ":parking:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x98"), ":sos:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x99"), ":up:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x86\x9a"), ":vs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\x81"), ":koko:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\x82"), ":sa:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb7"), ":u6708:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb6"), ":u6709:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xaf"), ":u6307:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x89\x90"), ":ideograph_advantage:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb9"), ":u5272:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\x9a"), ":u7121:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb2"), ":u7981:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x89\x91"), ":accept:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb8"), ":u7533:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb4"), ":u5408:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb3"), ":u7a7a:" }, + Emoji{ QString::fromUtf8("\xe3\x8a\x97"), ":congratulations:" }, + Emoji{ QString::fromUtf8("\xe3\x8a\x99"), ":secret:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xba"), ":u55b6:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x88\xb5"), ":u6e80:" }, + Emoji{ QString::fromUtf8("\xe2\x96\xaa"), ":black_small_square:" }, + Emoji{ QString::fromUtf8("\xe2\x96\xab"), ":white_small_square:" }, + Emoji{ QString::fromUtf8("\xe2\x97\xbb"), ":white_medium_square:" }, + Emoji{ QString::fromUtf8("\xe2\x97\xbc"), ":black_medium_square:" }, + Emoji{ QString::fromUtf8("\xe2\x97\xbd"), ":white_medium_small_square:" }, + Emoji{ QString::fromUtf8("\xe2\x97\xbe"), ":black_medium_small_square:" }, + Emoji{ QString::fromUtf8("\xe2\xac\x9b"), ":black_large_square:" }, + Emoji{ QString::fromUtf8("\xe2\xac\x9c"), ":white_large_square:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb6"), ":large_orange_diamond:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb7"), ":large_blue_diamond:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb8"), ":small_orange_diamond:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb9"), ":small_blue_diamond:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xba"), ":small_red_triangle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xbb"), ":small_red_triangle_down:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x92\xa0"), ":diamond_shape_with_a_dot_inside:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\x98"), ":radio_button:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb2"), ":black_square_button:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb3"), ":white_square_button:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xaa"), ":white_circle:" }, + Emoji{ QString::fromUtf8("\xe2\x9a\xab"), ":black_circle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb4"), ":red_circle:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x94\xb5"), ":blue_circle:" }, }; const QList EmojiProvider::flags = { - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xa8"), ":flag_ac:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xa9"), ":flag_ad:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xaa"), ":flag_ae:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xab"), ":flag_af:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xac"), ":flag_ag:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xae"), ":flag_ai:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb1"), ":flag_al:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb2"), ":flag_am:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb4"), ":flag_ao:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb6"), ":flag_aq:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb7"), ":flag_ar:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb8"), ":flag_as:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb9"), ":flag_at:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xba"), ":flag_au:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbc"), ":flag_aw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbd"), ":flag_ax:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbf"), ":flag_az:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa6"), ":flag_ba:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa7"), ":flag_bb:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa9"), ":flag_bd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xaa"), ":flag_be:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xab"), ":flag_bf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xac"), ":flag_bg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xad"), ":flag_bh:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xae"), ":flag_bi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xaf"), ":flag_bj:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb1"), ":flag_bl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb2"), ":flag_bm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb3"), ":flag_bn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb4"), ":flag_bo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb6"), ":flag_bq:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb7"), ":flag_br:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb8"), ":flag_bs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb9"), ":flag_bt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbb"), ":flag_bv:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbc"), ":flag_bw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbe"), ":flag_by:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbf"), ":flag_bz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa6"), ":flag_ca:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa8"), ":flag_cc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa9"), ":flag_cd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xab"), ":flag_cf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xac"), ":flag_cg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xad"), ":flag_ch:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xae"), ":flag_ci:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb0"), ":flag_ck:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb1"), ":flag_cl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb2"), ":flag_cm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb3"), ":flag_cn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb4"), ":flag_co:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb5"), ":flag_cp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb7"), ":flag_cr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xba"), ":flag_cu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbb"), ":flag_cv:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbc"), ":flag_cw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbd"), ":flag_cx:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbe"), ":flag_cy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbf"), ":flag_cz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xaa"), ":flag_de:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xac"), ":flag_dg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xaf"), ":flag_dj:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb0"), ":flag_dk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb2"), ":flag_dm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb4"), ":flag_do:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xbf"), ":flag_dz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xa6"), ":flag_ea:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xa8"), ":flag_ec:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xaa"), ":flag_ee:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xac"), ":flag_eg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xad"), ":flag_eh:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb7"), ":flag_er:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb8"), ":flag_es:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb9"), ":flag_et:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xba"), ":flag_eu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xae"), ":flag_fi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xaf"), ":flag_fj:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb0"), ":flag_fk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb2"), ":flag_fm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb4"), ":flag_fo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb7"), ":flag_fr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa6"), ":flag_ga:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa7"), ":flag_gb:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa9"), ":flag_gd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xaa"), ":flag_ge:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xab"), ":flag_gf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xac"), ":flag_gg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xad"), ":flag_gh:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xae"), ":flag_gi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb1"), ":flag_gl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb2"), ":flag_gm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb3"), ":flag_gn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb5"), ":flag_gp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb6"), ":flag_gq:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb7"), ":flag_gr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb8"), ":flag_gs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb9"), ":flag_gt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xba"), ":flag_gu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xbc"), ":flag_gw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xbe"), ":flag_gy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb0"), ":flag_hk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb2"), ":flag_hm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb3"), ":flag_hn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb7"), ":flag_hr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb9"), ":flag_ht:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xba"), ":flag_hu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xa8"), ":flag_ic:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xa9"), ":flag_id:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xaa"), ":flag_ie:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb1"), ":flag_il:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb2"), ":flag_im:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb3"), ":flag_in:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb4"), ":flag_io:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb6"), ":flag_iq:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb7"), ":flag_ir:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb8"), ":flag_is:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb9"), ":flag_it:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xaa"), ":flag_je:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb2"), ":flag_jm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb4"), ":flag_jo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb5"), ":flag_jp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xaa"), ":flag_ke:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xac"), ":flag_kg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xad"), ":flag_kh:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xae"), ":flag_ki:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb2"), ":flag_km:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb3"), ":flag_kn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb5"), ":flag_kp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb7"), ":flag_kr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbc"), ":flag_kw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbe"), ":flag_ky:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbf"), ":flag_kz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa6"), ":flag_la:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa7"), ":flag_lb:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa8"), ":flag_lc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xae"), ":flag_li:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb0"), ":flag_lk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb7"), ":flag_lr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb8"), ":flag_ls:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb9"), ":flag_lt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xba"), ":flag_lu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xbb"), ":flag_lv:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xbe"), ":flag_ly:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa6"), ":flag_ma:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa8"), ":flag_mc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa9"), ":flag_md:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xaa"), ":flag_me:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xab"), ":flag_mf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xac"), ":flag_mg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xad"), ":flag_mh:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb0"), ":flag_mk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb1"), ":flag_ml:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb2"), ":flag_mm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb3"), ":flag_mn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb4"), ":flag_mo:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb5"), ":flag_mp:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb6"), ":flag_mq:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb7"), ":flag_mr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb8"), ":flag_ms:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb9"), ":flag_mt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xba"), ":flag_mu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbb"), ":flag_mv:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbc"), ":flag_mw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbd"), ":flag_mx:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbe"), ":flag_my:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbf"), ":flag_mz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xa6"), ":flag_na:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xa8"), ":flag_nc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xaa"), ":flag_ne:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xab"), ":flag_nf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xac"), ":flag_ng:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xae"), ":flag_ni:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb1"), ":flag_nl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb4"), ":flag_no:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb5"), ":flag_np:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb7"), ":flag_nr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xba"), ":flag_nu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xbf"), ":flag_nz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb4\xf0\x9f\x87\xb2"), ":flag_om:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xa6"), ":flag_pa:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xaa"), ":flag_pe:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xab"), ":flag_pf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xac"), ":flag_pg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xad"), ":flag_ph:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb0"), ":flag_pk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb1"), ":flag_pl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb2"), ":flag_pm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb3"), ":flag_pn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb7"), ":flag_pr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb8"), ":flag_ps:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb9"), ":flag_pt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xbc"), ":flag_pw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xbe"), ":flag_py:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb6\xf0\x9f\x87\xa6"), ":flag_qa:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xaa"), ":flag_re:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xb4"), ":flag_ro:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xb8"), ":flag_rs:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xba"), ":flag_ru:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xbc"), ":flag_rw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa6"), ":flag_sa:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa7"), ":flag_sb:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa8"), ":flag_sc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa9"), ":flag_sd:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xaa"), ":flag_se:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xac"), ":flag_sg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xad"), ":flag_sh:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xae"), ":flag_si:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xaf"), ":flag_sj:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb0"), ":flag_sk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb1"), ":flag_sl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb2"), ":flag_sm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb3"), ":flag_sn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb4"), ":flag_so:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb7"), ":flag_sr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb8"), ":flag_ss:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb9"), ":flag_st:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbb"), ":flag_sv:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbd"), ":flag_sx:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbe"), ":flag_sy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbf"), ":flag_sz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa6"), ":flag_ta:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa8"), ":flag_tc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa9"), ":flag_td:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xab"), ":flag_tf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xac"), ":flag_tg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xad"), ":flag_th:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xaf"), ":flag_tj:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb0"), ":flag_tk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb1"), ":flag_tl:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb2"), ":flag_tm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb3"), ":flag_tn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb4"), ":flag_to:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb7"), ":flag_tr:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb9"), ":flag_tt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbb"), ":flag_tv:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbc"), ":flag_tw:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbf"), ":flag_tz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xa6"), ":flag_ua:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xac"), ":flag_ug:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xb2"), ":flag_um:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xb8"), ":flag_us:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xbe"), ":flag_uy:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xbf"), ":flag_uz:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xa6"), ":flag_va:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xa8"), ":flag_vc:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xaa"), ":flag_ve:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xac"), ":flag_vg:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xae"), ":flag_vi:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xb3"), ":flag_vn:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xba"), ":flag_vu:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbc\xf0\x9f\x87\xab"), ":flag_wf:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbc\xf0\x9f\x87\xb8"), ":flag_ws:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbd\xf0\x9f\x87\xb0"), ":flag_xk:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbe\xf0\x9f\x87\xaa"), ":flag_ye:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbe\xf0\x9f\x87\xb9"), ":flag_yt:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xa6"), ":flag_za:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xb2"), ":flag_zm:"}, - Emoji{QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xbc"), ":flag_zw:"}, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xa8"), ":flag_ac:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xa9"), ":flag_ad:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xaa"), ":flag_ae:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xab"), ":flag_af:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xac"), ":flag_ag:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xae"), ":flag_ai:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb1"), ":flag_al:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb2"), ":flag_am:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb4"), ":flag_ao:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb6"), ":flag_aq:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb7"), ":flag_ar:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb8"), ":flag_as:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xb9"), ":flag_at:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xba"), ":flag_au:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbc"), ":flag_aw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbd"), ":flag_ax:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa6\xf0\x9f\x87\xbf"), ":flag_az:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa6"), ":flag_ba:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa7"), ":flag_bb:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xa9"), ":flag_bd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xaa"), ":flag_be:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xab"), ":flag_bf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xac"), ":flag_bg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xad"), ":flag_bh:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xae"), ":flag_bi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xaf"), ":flag_bj:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb1"), ":flag_bl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb2"), ":flag_bm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb3"), ":flag_bn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb4"), ":flag_bo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb6"), ":flag_bq:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb7"), ":flag_br:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb8"), ":flag_bs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xb9"), ":flag_bt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbb"), ":flag_bv:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbc"), ":flag_bw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbe"), ":flag_by:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa7\xf0\x9f\x87\xbf"), ":flag_bz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa6"), ":flag_ca:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa8"), ":flag_cc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xa9"), ":flag_cd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xab"), ":flag_cf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xac"), ":flag_cg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xad"), ":flag_ch:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xae"), ":flag_ci:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb0"), ":flag_ck:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb1"), ":flag_cl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb2"), ":flag_cm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb3"), ":flag_cn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb4"), ":flag_co:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb5"), ":flag_cp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xb7"), ":flag_cr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xba"), ":flag_cu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbb"), ":flag_cv:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbc"), ":flag_cw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbd"), ":flag_cx:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbe"), ":flag_cy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa8\xf0\x9f\x87\xbf"), ":flag_cz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xaa"), ":flag_de:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xac"), ":flag_dg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xaf"), ":flag_dj:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb0"), ":flag_dk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb2"), ":flag_dm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xb4"), ":flag_do:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xa9\xf0\x9f\x87\xbf"), ":flag_dz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xa6"), ":flag_ea:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xa8"), ":flag_ec:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xaa"), ":flag_ee:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xac"), ":flag_eg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xad"), ":flag_eh:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb7"), ":flag_er:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb8"), ":flag_es:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xb9"), ":flag_et:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaa\xf0\x9f\x87\xba"), ":flag_eu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xae"), ":flag_fi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xaf"), ":flag_fj:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb0"), ":flag_fk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb2"), ":flag_fm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb4"), ":flag_fo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xab\xf0\x9f\x87\xb7"), ":flag_fr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa6"), ":flag_ga:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa7"), ":flag_gb:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xa9"), ":flag_gd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xaa"), ":flag_ge:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xab"), ":flag_gf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xac"), ":flag_gg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xad"), ":flag_gh:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xae"), ":flag_gi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb1"), ":flag_gl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb2"), ":flag_gm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb3"), ":flag_gn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb5"), ":flag_gp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb6"), ":flag_gq:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb7"), ":flag_gr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb8"), ":flag_gs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xb9"), ":flag_gt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xba"), ":flag_gu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xbc"), ":flag_gw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xac\xf0\x9f\x87\xbe"), ":flag_gy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb0"), ":flag_hk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb2"), ":flag_hm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb3"), ":flag_hn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb7"), ":flag_hr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xb9"), ":flag_ht:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xad\xf0\x9f\x87\xba"), ":flag_hu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xa8"), ":flag_ic:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xa9"), ":flag_id:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xaa"), ":flag_ie:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb1"), ":flag_il:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb2"), ":flag_im:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb3"), ":flag_in:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb4"), ":flag_io:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb6"), ":flag_iq:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb7"), ":flag_ir:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb8"), ":flag_is:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xae\xf0\x9f\x87\xb9"), ":flag_it:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xaa"), ":flag_je:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb2"), ":flag_jm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb4"), ":flag_jo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xaf\xf0\x9f\x87\xb5"), ":flag_jp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xaa"), ":flag_ke:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xac"), ":flag_kg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xad"), ":flag_kh:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xae"), ":flag_ki:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb2"), ":flag_km:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb3"), ":flag_kn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb5"), ":flag_kp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xb7"), ":flag_kr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbc"), ":flag_kw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbe"), ":flag_ky:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb0\xf0\x9f\x87\xbf"), ":flag_kz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa6"), ":flag_la:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa7"), ":flag_lb:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xa8"), ":flag_lc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xae"), ":flag_li:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb0"), ":flag_lk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb7"), ":flag_lr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb8"), ":flag_ls:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xb9"), ":flag_lt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xba"), ":flag_lu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xbb"), ":flag_lv:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb1\xf0\x9f\x87\xbe"), ":flag_ly:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa6"), ":flag_ma:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa8"), ":flag_mc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xa9"), ":flag_md:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xaa"), ":flag_me:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xab"), ":flag_mf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xac"), ":flag_mg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xad"), ":flag_mh:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb0"), ":flag_mk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb1"), ":flag_ml:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb2"), ":flag_mm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb3"), ":flag_mn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb4"), ":flag_mo:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb5"), ":flag_mp:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb6"), ":flag_mq:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb7"), ":flag_mr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb8"), ":flag_ms:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xb9"), ":flag_mt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xba"), ":flag_mu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbb"), ":flag_mv:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbc"), ":flag_mw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbd"), ":flag_mx:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbe"), ":flag_my:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb2\xf0\x9f\x87\xbf"), ":flag_mz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xa6"), ":flag_na:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xa8"), ":flag_nc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xaa"), ":flag_ne:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xab"), ":flag_nf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xac"), ":flag_ng:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xae"), ":flag_ni:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb1"), ":flag_nl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb4"), ":flag_no:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb5"), ":flag_np:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xb7"), ":flag_nr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xba"), ":flag_nu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb3\xf0\x9f\x87\xbf"), ":flag_nz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb4\xf0\x9f\x87\xb2"), ":flag_om:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xa6"), ":flag_pa:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xaa"), ":flag_pe:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xab"), ":flag_pf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xac"), ":flag_pg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xad"), ":flag_ph:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb0"), ":flag_pk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb1"), ":flag_pl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb2"), ":flag_pm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb3"), ":flag_pn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb7"), ":flag_pr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb8"), ":flag_ps:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xb9"), ":flag_pt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xbc"), ":flag_pw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb5\xf0\x9f\x87\xbe"), ":flag_py:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb6\xf0\x9f\x87\xa6"), ":flag_qa:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xaa"), ":flag_re:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xb4"), ":flag_ro:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xb8"), ":flag_rs:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xba"), ":flag_ru:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb7\xf0\x9f\x87\xbc"), ":flag_rw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa6"), ":flag_sa:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa7"), ":flag_sb:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa8"), ":flag_sc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xa9"), ":flag_sd:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xaa"), ":flag_se:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xac"), ":flag_sg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xad"), ":flag_sh:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xae"), ":flag_si:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xaf"), ":flag_sj:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb0"), ":flag_sk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb1"), ":flag_sl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb2"), ":flag_sm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb3"), ":flag_sn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb4"), ":flag_so:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb7"), ":flag_sr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb8"), ":flag_ss:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xb9"), ":flag_st:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbb"), ":flag_sv:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbd"), ":flag_sx:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbe"), ":flag_sy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb8\xf0\x9f\x87\xbf"), ":flag_sz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa6"), ":flag_ta:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa8"), ":flag_tc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xa9"), ":flag_td:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xab"), ":flag_tf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xac"), ":flag_tg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xad"), ":flag_th:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xaf"), ":flag_tj:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb0"), ":flag_tk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb1"), ":flag_tl:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb2"), ":flag_tm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb3"), ":flag_tn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb4"), ":flag_to:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb7"), ":flag_tr:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xb9"), ":flag_tt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbb"), ":flag_tv:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbc"), ":flag_tw:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xb9\xf0\x9f\x87\xbf"), ":flag_tz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xa6"), ":flag_ua:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xac"), ":flag_ug:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xb2"), ":flag_um:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xb8"), ":flag_us:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xbe"), ":flag_uy:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xba\xf0\x9f\x87\xbf"), ":flag_uz:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xa6"), ":flag_va:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xa8"), ":flag_vc:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xaa"), ":flag_ve:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xac"), ":flag_vg:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xae"), ":flag_vi:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xb3"), ":flag_vn:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbb\xf0\x9f\x87\xba"), ":flag_vu:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbc\xf0\x9f\x87\xab"), ":flag_wf:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbc\xf0\x9f\x87\xb8"), ":flag_ws:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbd\xf0\x9f\x87\xb0"), ":flag_xk:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbe\xf0\x9f\x87\xaa"), ":flag_ye:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbe\xf0\x9f\x87\xb9"), ":flag_yt:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xa6"), ":flag_za:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xb2"), ":flag_zm:" }, + Emoji{ QString::fromUtf8("\xf0\x9f\x87\xbf\xf0\x9f\x87\xbc"), ":flag_zw:" }, }; diff --git a/src/ImageItem.cc b/src/ImageItem.cc index 667d84cf..77523465 100644 --- a/src/ImageItem.cc +++ b/src/ImageItem.cc @@ -28,10 +28,12 @@ namespace events = matrix::events; namespace msgs = matrix::events::messages; -ImageItem::ImageItem(QSharedPointer client, const events::MessageEvent &event, QWidget *parent) - : QWidget(parent) - , event_{event} - , client_{client} +ImageItem::ImageItem(QSharedPointer client, + const events::MessageEvent &event, + QWidget *parent) + : QWidget(parent) + , event_{ event } + , client_{ client } { setMouseTracking(true); setCursor(Qt::PointingHandCursor); @@ -58,7 +60,8 @@ ImageItem::ImageItem(QSharedPointer client, const events::MessageE SLOT(imageDownloaded(const QString &, const QPixmap &))); } -void ImageItem::imageDownloaded(const QString &event_id, const QPixmap &img) +void +ImageItem::imageDownloaded(const QString &event_id, const QPixmap &img) { if (event_id != event_.eventId()) return; @@ -66,7 +69,8 @@ void ImageItem::imageDownloaded(const QString &event_id, const QPixmap &img) setImage(img); } -void ImageItem::openUrl() +void +ImageItem::openUrl() { if (url_.toString().isEmpty()) return; @@ -75,7 +79,8 @@ void ImageItem::openUrl() qWarning() << "Could not open url" << url_.toString(); } -void ImageItem::scaleImage() +void +ImageItem::scaleImage() { if (image_.isNull()) return; @@ -97,7 +102,8 @@ void ImageItem::scaleImage() scaled_image_ = image_.scaled(width_, height_, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); } -QSize ImageItem::sizeHint() const +QSize +ImageItem::sizeHint() const { if (image_.isNull()) return QSize(max_width_, bottom_height_); @@ -105,14 +111,16 @@ QSize ImageItem::sizeHint() const return QSize(width_, height_); } -void ImageItem::setImage(const QPixmap &image) +void +ImageItem::setImage(const QPixmap &image) { image_ = image; scaleImage(); update(); } -void ImageItem::mousePressEvent(QMouseEvent *event) +void +ImageItem::mousePressEvent(QMouseEvent *event) { if (event->button() != Qt::LeftButton) return; @@ -133,14 +141,16 @@ void ImageItem::mousePressEvent(QMouseEvent *event) } } -void ImageItem::resizeEvent(QResizeEvent *event) +void +ImageItem::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); scaleImage(); } -void ImageItem::paintEvent(QPaintEvent *event) +void +ImageItem::paintEvent(QPaintEvent *event) { Q_UNUSED(event); diff --git a/src/ImageOverlayDialog.cc b/src/ImageOverlayDialog.cc index 786b011c..edb49a0a 100644 --- a/src/ImageOverlayDialog.cc +++ b/src/ImageOverlayDialog.cc @@ -25,8 +25,8 @@ #include "ImageOverlayDialog.h" ImageOverlayDialog::ImageOverlayDialog(QPixmap image, QWidget *parent) - : QWidget{parent} - , originalImage_{image} + : QWidget{ parent } + , originalImage_{ image } { setMouseTracking(true); setParent(0); @@ -49,7 +49,8 @@ ImageOverlayDialog::ImageOverlayDialog(QPixmap image, QWidget *parent) } // TODO: Move this into Utils -void ImageOverlayDialog::scaleImage(int max_width, int max_height) +void +ImageOverlayDialog::scaleImage(int max_width, int max_height) { if (originalImage_.isNull()) return; @@ -73,7 +74,8 @@ void ImageOverlayDialog::scaleImage(int max_width, int max_height) image_ = originalImage_.scaled(final_width, final_height, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); } -void ImageOverlayDialog::paintEvent(QPaintEvent *event) +void +ImageOverlayDialog::paintEvent(QPaintEvent *event) { Q_UNUSED(event); @@ -115,7 +117,8 @@ void ImageOverlayDialog::paintEvent(QPaintEvent *event) painter.drawLine(center + QPointF(15, -15), center - QPointF(15, -15)); } -void ImageOverlayDialog::mousePressEvent(QMouseEvent *event) +void +ImageOverlayDialog::mousePressEvent(QMouseEvent *event) { if (event->button() != Qt::LeftButton) return; diff --git a/src/Login.cc b/src/Login.cc index 9c584685..87be1003 100644 --- a/src/Login.cc +++ b/src/Login.cc @@ -27,12 +27,13 @@ LoginRequest::LoginRequest() } LoginRequest::LoginRequest(QString username, QString password) - : user_(username) - , password_(password) + : user_(username) + , password_(password) { } -QByteArray LoginRequest::serialize() noexcept +QByteArray +LoginRequest::serialize() noexcept { #if defined(Q_OS_MAC) QString initialDeviceName("nheko on Mac OS"); @@ -45,16 +46,17 @@ QByteArray LoginRequest::serialize() noexcept #endif QJsonObject body{ - {"type", "m.login.password"}, - {"user", user_}, - {"password", password_}, - {"initial_device_display_name", initialDeviceName}, + { "type", "m.login.password" }, + { "user", user_ }, + { "password", password_ }, + { "initial_device_display_name", initialDeviceName }, }; return QJsonDocument(body).toJson(QJsonDocument::Compact); } -void LoginResponse::deserialize(const QJsonDocument &data) +void +LoginResponse::deserialize(const QJsonDocument &data) { if (!data.isObject()) throw DeserializationException("Login response is not a JSON object"); diff --git a/src/LoginPage.cc b/src/LoginPage.cc index 329cdebc..402206fc 100644 --- a/src/LoginPage.cc +++ b/src/LoginPage.cc @@ -22,9 +22,9 @@ #include "LoginPage.h" LoginPage::LoginPage(QSharedPointer client, QWidget *parent) - : QWidget(parent) - , inferredServerAddress_() - , client_{client} + : QWidget(parent) + , inferredServerAddress_() + , client_{ client } { setStyleSheet("background-color: #f9f9f9"); @@ -159,12 +159,14 @@ LoginPage::LoginPage(QSharedPointer client, QWidget *parent) matrixid_input_->setValidator(&InputValidator::Id); } -void LoginPage::loginError(QString error) +void +LoginPage::loginError(QString error) { error_label_->setText(error); } -void LoginPage::onMatrixIdEntered() +void +LoginPage::onMatrixIdEntered() { error_label_->setText(""); @@ -197,7 +199,8 @@ void LoginPage::onMatrixIdEntered() } } -void LoginPage::onServerAddressEntered() +void +LoginPage::onServerAddressEntered() { error_label_->setText(""); client_->setServer(serverInput_->text()); @@ -209,10 +212,12 @@ void LoginPage::onServerAddressEntered() spinner_->show(); } -void LoginPage::versionError(QString error) +void +LoginPage::versionError(QString error) { // Matrix homeservers are often kept on a subdomain called 'matrix' - // so let's try that next, unless the address was set explicitly or the domain part of the username already points to this subdomain + // so let's try that next, unless the address was set explicitly or the domain part of the username already + // points to this subdomain QUrl currentServer = client_->getHomeServer(); QString mxidAddress = matrixid_input_->text().split(":").at(1); if (currentServer.host() == inferredServerAddress_ && !currentServer.host().startsWith("matrix")) { @@ -234,7 +239,8 @@ void LoginPage::versionError(QString error) matrixidLayout_->removeWidget(spinner_); } -void LoginPage::versionSuccess() +void +LoginPage::versionSuccess() { serverLayout_->removeWidget(spinner_); matrixidLayout_->removeWidget(spinner_); @@ -244,7 +250,8 @@ void LoginPage::versionSuccess() serverInput_->hide(); } -void LoginPage::onLoginButtonClicked() +void +LoginPage::onLoginButtonClicked() { error_label_->setText(""); @@ -260,7 +267,8 @@ void LoginPage::onLoginButtonClicked() } } -void LoginPage::reset() +void +LoginPage::reset() { matrixid_input_->clear(); password_input_->clear(); @@ -275,7 +283,8 @@ void LoginPage::reset() inferredServerAddress_.clear(); } -void LoginPage::onBackButtonClicked() +void +LoginPage::onBackButtonClicked() { emit backButtonClicked(); } diff --git a/src/LogoutDialog.cc b/src/LogoutDialog.cc index db3ab343..76002ad7 100644 --- a/src/LogoutDialog.cc +++ b/src/LogoutDialog.cc @@ -23,7 +23,7 @@ #include "Theme.h" LogoutDialog::LogoutDialog(QWidget *parent) - : QFrame(parent) + : QFrame(parent) { setMaximumSize(400, 400); setStyleSheet("background-color: #f9f9f9"); diff --git a/src/MainWindow.cc b/src/MainWindow.cc index d7e2a3c0..1567e8ba 100644 --- a/src/MainWindow.cc +++ b/src/MainWindow.cc @@ -15,8 +15,8 @@ * along with this program. If not, see . */ -#include "Config.h" #include "MainWindow.h" +#include "Config.h" #include #include @@ -26,9 +26,9 @@ MainWindow *MainWindow::instance_ = nullptr; MainWindow::MainWindow(QWidget *parent) - : QMainWindow(parent) - , progress_modal_{nullptr} - , spinner_{nullptr} + : QMainWindow(parent) + , progress_modal_{ nullptr } + , spinner_{ nullptr } { QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); setSizePolicy(sizePolicy); @@ -94,7 +94,8 @@ MainWindow::MainWindow(QWidget *parent) } } -void MainWindow::restoreWindowSize() +void +MainWindow::restoreWindowSize() { QSettings settings; int savedWidth = settings.value("window/width").toInt(); @@ -106,7 +107,8 @@ void MainWindow::restoreWindowSize() resize(savedWidth, savedheight); } -void MainWindow::saveCurrentWindowSize() +void +MainWindow::saveCurrentWindowSize() { QSettings settings; QSize current = size(); @@ -115,7 +117,8 @@ void MainWindow::saveCurrentWindowSize() settings.setValue("window/height", current.height()); } -void MainWindow::removeOverlayProgressBar() +void +MainWindow::removeOverlayProgressBar() { QTimer *timer = new QTimer(this); timer->setSingleShot(true); @@ -138,7 +141,8 @@ void MainWindow::removeOverlayProgressBar() timer->start(500); } -void MainWindow::showChatPage(QString userid, QString homeserver, QString token) +void +MainWindow::showChatPage(QString userid, QString homeserver, QString token) { QSettings settings; settings.setValue("auth/access_token", token); @@ -174,7 +178,8 @@ void MainWindow::showChatPage(QString userid, QString homeserver, QString token) instance_ = this; } -void MainWindow::showWelcomePage() +void +MainWindow::showWelcomePage() { int index = sliding_stack_->getWidgetIndex(welcome_page_); @@ -184,19 +189,22 @@ void MainWindow::showWelcomePage() sliding_stack_->slideInIndex(index, SlidingStackWidget::AnimationDirection::LEFT_TO_RIGHT); } -void MainWindow::showLoginPage() +void +MainWindow::showLoginPage() { int index = sliding_stack_->getWidgetIndex(login_page_); sliding_stack_->slideInIndex(index, SlidingStackWidget::AnimationDirection::LEFT_TO_RIGHT); } -void MainWindow::showRegisterPage() +void +MainWindow::showRegisterPage() { int index = sliding_stack_->getWidgetIndex(register_page_); sliding_stack_->slideInIndex(index, SlidingStackWidget::AnimationDirection::RIGHT_TO_LEFT); } -void MainWindow::closeEvent(QCloseEvent *event) +void +MainWindow::closeEvent(QCloseEvent *event) { if (isVisible()) { event->ignore(); @@ -204,7 +212,8 @@ void MainWindow::closeEvent(QCloseEvent *event) } } -void MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason) +void +MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason) { switch (reason) { case QSystemTrayIcon::Trigger: @@ -219,16 +228,17 @@ void MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason) } } -bool MainWindow::hasActiveUser() +bool +MainWindow::hasActiveUser() { QSettings settings; - return settings.contains("auth/access_token") && - settings.contains("auth/home_server") && + return settings.contains("auth/access_token") && settings.contains("auth/home_server") && settings.contains("auth/user_id"); } -MainWindow *MainWindow::instance() +MainWindow * +MainWindow::instance() { return instance_; } diff --git a/src/MatrixClient.cc b/src/MatrixClient.cc index 11ac61c7..430bacf9 100644 --- a/src/MatrixClient.cc +++ b/src/MatrixClient.cc @@ -33,7 +33,7 @@ #include "Versions.h" MatrixClient::MatrixClient(QString server, QObject *parent) - : QNetworkAccessManager(parent) + : QNetworkAccessManager(parent) { server_ = "https://" + server; api_url_ = "/_matrix/client/r0"; @@ -45,7 +45,8 @@ MatrixClient::MatrixClient(QString server, QObject *parent) connect(this, SIGNAL(finished(QNetworkReply *)), this, SLOT(onResponse(QNetworkReply *))); } -void MatrixClient::reset() noexcept +void +MatrixClient::reset() noexcept { next_batch_ = ""; server_ = ""; @@ -54,7 +55,8 @@ void MatrixClient::reset() noexcept txn_id_ = 0; } -void MatrixClient::onVersionsResponse(QNetworkReply *reply) +void +MatrixClient::onVersionsResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -88,7 +90,8 @@ void MatrixClient::onVersionsResponse(QNetworkReply *reply) } } -void MatrixClient::onLoginResponse(QNetworkReply *reply) +void +MatrixClient::onLoginResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -124,7 +127,8 @@ void MatrixClient::onLoginResponse(QNetworkReply *reply) } } -void MatrixClient::onLogoutResponse(QNetworkReply *reply) +void +MatrixClient::onLogoutResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -138,7 +142,8 @@ void MatrixClient::onLogoutResponse(QNetworkReply *reply) emit loggedOut(); } -void MatrixClient::onRegisterResponse(QNetworkReply *reply) +void +MatrixClient::onRegisterResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -160,16 +165,15 @@ void MatrixClient::onRegisterResponse(QNetworkReply *reply) try { response.deserialize(json); - emit registerSuccess(response.getUserId(), - response.getHomeServer(), - response.getAccessToken()); + emit registerSuccess(response.getUserId(), response.getHomeServer(), response.getAccessToken()); } catch (DeserializationException &e) { qWarning() << "Register" << e.what(); emit registerError("Received malformed response."); } } -void MatrixClient::onGetOwnProfileResponse(QNetworkReply *reply) +void +MatrixClient::onGetOwnProfileResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -193,7 +197,8 @@ void MatrixClient::onGetOwnProfileResponse(QNetworkReply *reply) } } -void MatrixClient::onInitialSyncResponse(QNetworkReply *reply) +void +MatrixClient::onInitialSyncResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -223,7 +228,8 @@ void MatrixClient::onInitialSyncResponse(QNetworkReply *reply) emit initialSyncCompleted(response); } -void MatrixClient::onSyncResponse(QNetworkReply *reply) +void +MatrixClient::onSyncResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -251,7 +257,8 @@ void MatrixClient::onSyncResponse(QNetworkReply *reply) } } -void MatrixClient::onSendTextMessageResponse(QNetworkReply *reply) +void +MatrixClient::onSendTextMessageResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -286,7 +293,8 @@ void MatrixClient::onSendTextMessageResponse(QNetworkReply *reply) reply->property("txn_id").toInt()); } -void MatrixClient::onRoomAvatarResponse(QNetworkReply *reply) +void +MatrixClient::onRoomAvatarResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -310,7 +318,8 @@ void MatrixClient::onRoomAvatarResponse(QNetworkReply *reply) emit roomAvatarRetrieved(roomid, pixmap); } -void MatrixClient::onUserAvatarResponse(QNetworkReply *reply) +void +MatrixClient::onUserAvatarResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -333,7 +342,8 @@ void MatrixClient::onUserAvatarResponse(QNetworkReply *reply) emit userAvatarRetrieved(roomid, img); } -void MatrixClient::onGetOwnAvatarResponse(QNetworkReply *reply) +void +MatrixClient::onGetOwnAvatarResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -355,7 +365,8 @@ void MatrixClient::onGetOwnAvatarResponse(QNetworkReply *reply) emit ownAvatarRetrieved(pixmap); } -void MatrixClient::onImageResponse(QNetworkReply *reply) +void +MatrixClient::onImageResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -379,7 +390,8 @@ void MatrixClient::onImageResponse(QNetworkReply *reply) emit imageDownloaded(event_id, pixmap); } -void MatrixClient::onMessagesResponse(QNetworkReply *reply) +void +MatrixClient::onMessagesResponse(QNetworkReply *reply) { reply->deleteLater(); @@ -405,7 +417,8 @@ void MatrixClient::onMessagesResponse(QNetworkReply *reply) emit messagesRetrieved(room_id, msgs); } -void MatrixClient::onResponse(QNetworkReply *reply) +void +MatrixClient::onResponse(QNetworkReply *reply) { switch (static_cast(reply->property("endpoint").toInt())) { case Endpoint::Versions: @@ -452,7 +465,8 @@ void MatrixClient::onResponse(QNetworkReply *reply) } } -void MatrixClient::login(const QString &username, const QString &password) noexcept +void +MatrixClient::login(const QString &username, const QString &password) noexcept { QUrl endpoint(server_); endpoint.setPath(api_url_ + "/login"); @@ -466,7 +480,8 @@ void MatrixClient::login(const QString &username, const QString &password) noexc reply->setProperty("endpoint", static_cast(Endpoint::Login)); } -void MatrixClient::logout() noexcept +void +MatrixClient::logout() noexcept { QUrlQuery query; query.addQueryItem("access_token", token_); @@ -483,7 +498,8 @@ void MatrixClient::logout() noexcept reply->setProperty("endpoint", static_cast(Endpoint::Logout)); } -void MatrixClient::registerUser(const QString &user, const QString &pass, const QString &server) noexcept +void +MatrixClient::registerUser(const QString &user, const QString &pass, const QString &server) noexcept { setServer(server); @@ -503,11 +519,11 @@ void MatrixClient::registerUser(const QString &user, const QString &pass, const reply->setProperty("endpoint", static_cast(Endpoint::Register)); } -void MatrixClient::sync() noexcept +void +MatrixClient::sync() noexcept { - QJsonObject filter{{"room", - QJsonObject{{"ephemeral", QJsonObject{{"limit", 0}}}}}, - {"presence", QJsonObject{{"limit", 0}}}}; + QJsonObject filter{ { "room", QJsonObject{ { "ephemeral", QJsonObject{ { "limit", 0 } } } } }, + { "presence", QJsonObject{ { "limit", 0 } } } }; QUrlQuery query; query.addQueryItem("set_presence", "online"); @@ -532,7 +548,8 @@ void MatrixClient::sync() noexcept reply->setProperty("endpoint", static_cast(Endpoint::Sync)); } -void MatrixClient::sendTextMessage(const QString &roomid, const QString &msg) noexcept +void +MatrixClient::sendTextMessage(const QString &roomid, const QString &msg) noexcept { QUrlQuery query; query.addQueryItem("access_token", token_); @@ -541,9 +558,7 @@ void MatrixClient::sendTextMessage(const QString &roomid, const QString &msg) no endpoint.setPath(api_url_ + QString("/rooms/%1/send/m.room.message/%2").arg(roomid).arg(txn_id_)); endpoint.setQuery(query); - QJsonObject body{ - {"msgtype", "m.text"}, - {"body", msg}}; + QJsonObject body{ { "msgtype", "m.text" }, { "body", msg } }; QNetworkRequest request(QString(endpoint.toEncoded())); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); @@ -557,16 +572,17 @@ void MatrixClient::sendTextMessage(const QString &roomid, const QString &msg) no incrementTransactionId(); } -void MatrixClient::initialSync() noexcept +void +MatrixClient::initialSync() noexcept { QJsonArray excluded_presence = { QString("m.presence"), }; - QJsonObject filter{{"room", - QJsonObject{{"timeline", QJsonObject{{"limit", 20}}}, - {"ephemeral", QJsonObject{{"limit", 0}}}}}, - {"presence", QJsonObject{{"not_types", excluded_presence}}}}; + QJsonObject filter{ { "room", + QJsonObject{ { "timeline", QJsonObject{ { "limit", 20 } } }, + { "ephemeral", QJsonObject{ { "limit", 0 } } } } }, + { "presence", QJsonObject{ { "not_types", excluded_presence } } } }; QUrlQuery query; query.addQueryItem("full_state", "true"); @@ -584,7 +600,8 @@ void MatrixClient::initialSync() noexcept reply->setProperty("endpoint", static_cast(Endpoint::InitialSync)); } -void MatrixClient::versions() noexcept +void +MatrixClient::versions() noexcept { QUrl endpoint(server_); endpoint.setPath("/_matrix/client/versions"); @@ -595,7 +612,8 @@ void MatrixClient::versions() noexcept reply->setProperty("endpoint", static_cast(Endpoint::Versions)); } -void MatrixClient::getOwnProfile() noexcept +void +MatrixClient::getOwnProfile() noexcept { // FIXME: Remove settings from the matrix client. The class should store the user's matrix ID. QSettings settings; @@ -614,7 +632,8 @@ void MatrixClient::getOwnProfile() noexcept reply->setProperty("endpoint", static_cast(Endpoint::GetOwnProfile)); } -void MatrixClient::fetchRoomAvatar(const QString &roomid, const QUrl &avatar_url) +void +MatrixClient::fetchRoomAvatar(const QString &roomid, const QUrl &avatar_url) { QList url_parts = avatar_url.toString().split("mxc://"); @@ -640,7 +659,8 @@ void MatrixClient::fetchRoomAvatar(const QString &roomid, const QUrl &avatar_url reply->setProperty("endpoint", static_cast(Endpoint::RoomAvatar)); } -void MatrixClient::fetchUserAvatar(const QString &userId, const QUrl &avatarUrl) +void +MatrixClient::fetchUserAvatar(const QString &userId, const QUrl &avatarUrl) { QList url_parts = avatarUrl.toString().split("mxc://"); @@ -666,7 +686,8 @@ void MatrixClient::fetchUserAvatar(const QString &userId, const QUrl &avatarUrl) reply->setProperty("endpoint", static_cast(Endpoint::UserAvatar)); } -void MatrixClient::downloadImage(const QString &event_id, const QUrl &url) +void +MatrixClient::downloadImage(const QString &event_id, const QUrl &url) { QNetworkRequest image_request(url); @@ -675,7 +696,8 @@ void MatrixClient::downloadImage(const QString &event_id, const QUrl &url) reply->setProperty("endpoint", static_cast(Endpoint::Image)); } -void MatrixClient::fetchOwnAvatar(const QUrl &avatar_url) +void +MatrixClient::fetchOwnAvatar(const QUrl &avatar_url) { QList url_parts = avatar_url.toString().split("mxc://"); @@ -700,7 +722,8 @@ void MatrixClient::fetchOwnAvatar(const QUrl &avatar_url) reply->setProperty("endpoint", static_cast(Endpoint::GetOwnAvatar)); } -void MatrixClient::messages(const QString &room_id, const QString &from_token, int limit) noexcept +void +MatrixClient::messages(const QString &room_id, const QString &from_token, int limit) noexcept { QUrlQuery query; query.addQueryItem("access_token", token_); diff --git a/src/Profile.cc b/src/Profile.cc index 37def4c7..12430196 100644 --- a/src/Profile.cc +++ b/src/Profile.cc @@ -22,7 +22,8 @@ #include "Deserializable.h" #include "Profile.h" -void ProfileResponse::deserialize(const QJsonDocument &data) +void +ProfileResponse::deserialize(const QJsonDocument &data) { if (!data.isObject()) throw DeserializationException("Response is not a JSON object"); diff --git a/src/QuickSwitcher.cc b/src/QuickSwitcher.cc index 3bdd26ea..76506a5e 100644 --- a/src/QuickSwitcher.cc +++ b/src/QuickSwitcher.cc @@ -23,19 +23,21 @@ #include "QuickSwitcher.h" -RoomSearchInput::RoomSearchInput(QWidget* parent) - : TextField(parent) +RoomSearchInput::RoomSearchInput(QWidget *parent) + : TextField(parent) { } -bool RoomSearchInput::focusNextPrevChild(bool next) +bool +RoomSearchInput::focusNextPrevChild(bool next) { Q_UNUSED(next); return false; } -void RoomSearchInput::keyPressEvent(QKeyEvent* event) +void +RoomSearchInput::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Tab) { auto completer = this->completer(); @@ -55,8 +57,8 @@ void RoomSearchInput::keyPressEvent(QKeyEvent* event) TextField::keyPressEvent(event); } -QuickSwitcher::QuickSwitcher(QWidget* parent) - : QFrame(parent) +QuickSwitcher::QuickSwitcher(QWidget *parent) + : QFrame(parent) { setMaximumWidth(400); setStyleSheet("background-color: #f9f9f9"); @@ -69,7 +71,7 @@ QuickSwitcher::QuickSwitcher(QWidget* parent) roomSearch_->setPlaceholderText(tr("Find a room...")); QStringList wordList; - QCompleter* completer = new QCompleter(wordList, this); + QCompleter *completer = new QCompleter(wordList, this); completer->setCaseSensitivity(Qt::CaseInsensitive); roomSearch_->setCompleter(completer); @@ -87,7 +89,8 @@ QuickSwitcher::QuickSwitcher(QWidget* parent) }); } -void QuickSwitcher::setRoomList(const QMap& rooms) +void +QuickSwitcher::setRoomList(const QMap &rooms) { rooms_ = rooms; @@ -99,12 +102,14 @@ void QuickSwitcher::setRoomList(const QMap& rooms) roomSearch_->completer()->setModel(new QStringListModel(search_items)); } -void QuickSwitcher::showEvent(QShowEvent*) +void +QuickSwitcher::showEvent(QShowEvent *) { roomSearch_->setFocus(); } -void QuickSwitcher::keyPressEvent(QKeyEvent* event) +void +QuickSwitcher::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Escape) { roomSearch_->clear(); diff --git a/src/Register.cc b/src/Register.cc index 6100555c..616625f5 100644 --- a/src/Register.cc +++ b/src/Register.cc @@ -23,21 +23,21 @@ #include "Register.h" RegisterRequest::RegisterRequest(const QString &username, const QString &password) - : user_(username) - , password_(password) + : user_(username) + , password_(password) { } -QByteArray RegisterRequest::serialize() noexcept +QByteArray +RegisterRequest::serialize() noexcept { - QJsonObject body{ - {"username", user_}, - {"password", password_}}; + QJsonObject body{ { "username", user_ }, { "password", password_ } }; return QJsonDocument(body).toJson(QJsonDocument::Compact); } -void RegisterResponse::deserialize(const QJsonDocument &data) +void +RegisterResponse::deserialize(const QJsonDocument &data) { if (!data.isObject()) throw DeserializationException("Response is not a JSON object"); diff --git a/src/RegisterPage.cc b/src/RegisterPage.cc index d6120c38..8ac51da5 100644 --- a/src/RegisterPage.cc +++ b/src/RegisterPage.cc @@ -23,8 +23,8 @@ #include "RegisterPage.h" RegisterPage::RegisterPage(QSharedPointer client, QWidget *parent) - : QWidget(parent) - , client_(client) + : QWidget(parent) + , client_(client) { setStyleSheet("background-color: #f9f9f9"); @@ -144,17 +144,20 @@ RegisterPage::RegisterPage(QSharedPointer client, QWidget *parent) setLayout(top_layout_); } -void RegisterPage::onBackButtonClicked() +void +RegisterPage::onBackButtonClicked() { emit backButtonClicked(); } -void RegisterPage::registerError(const QString &msg) +void +RegisterPage::registerError(const QString &msg) { error_label_->setText(msg); } -void RegisterPage::onRegisterButtonClicked() +void +RegisterPage::onRegisterButtonClicked() { error_label_->setText(""); diff --git a/src/RoomInfoListItem.cc b/src/RoomInfoListItem.cc index 103bbd53..b4ea37f8 100644 --- a/src/RoomInfoListItem.cc +++ b/src/RoomInfoListItem.cc @@ -29,13 +29,13 @@ RoomInfoListItem::RoomInfoListItem(QSharedPointer settings, RoomState state, QString room_id, QWidget *parent) - : QWidget(parent) - , state_(state) - , roomId_(room_id) - , roomSettings_{settings} - , isPressed_(false) - , maxHeight_(IconSize + 2 * Padding) - , unreadMsgCount_(0) + : QWidget(parent) + , state_(state) + , roomId_(room_id) + , roomSettings_{ settings } + , isPressed_(false) + , maxHeight_(IconSize + 2 * Padding) + , unreadMsgCount_(0) { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); setMouseTracking(true); @@ -54,14 +54,13 @@ RoomInfoListItem::RoomInfoListItem(QSharedPointer settings, toggleNotifications_ = new QAction(notificationText(), this); - connect(toggleNotifications_, &QAction::triggered, this, [=]() { - roomSettings_->toggleNotifications(); - }); + connect(toggleNotifications_, &QAction::triggered, this, [=]() { roomSettings_->toggleNotifications(); }); menu_->addAction(toggleNotifications_); } -QString RoomInfoListItem::notificationText() +QString +RoomInfoListItem::notificationText() { if (roomSettings_.isNull() || roomSettings_->isNotificationsEnabled()) return QString(tr("Disable notifications")); @@ -69,7 +68,8 @@ QString RoomInfoListItem::notificationText() return tr("Enable notifications"); } -void RoomInfoListItem::resizeEvent(QResizeEvent *) +void +RoomInfoListItem::resizeEvent(QResizeEvent *) { // Update ripple's clipping path. QPainterPath path; @@ -79,7 +79,8 @@ void RoomInfoListItem::resizeEvent(QResizeEvent *) ripple_overlay_->setClipping(true); } -void RoomInfoListItem::paintEvent(QPaintEvent *event) +void +RoomInfoListItem::paintEvent(QPaintEvent *event) { Q_UNUSED(event); @@ -119,7 +120,8 @@ void RoomInfoListItem::paintEvent(QPaintEvent *event) QFontMetrics fontNameMetrics(font); int top_y = 2 * Padding + fontNameMetrics.ascent() / 2; - auto name = metrics.elidedText(state_.getName(), Qt::ElideRight, (width() - IconSize - 2 * Padding) * 0.8); + auto name = + metrics.elidedText(state_.getName(), Qt::ElideRight, (width() - IconSize - 2 * Padding) * 0.8); p.drawText(QPoint(2 * Padding + IconSize, top_y), name); if (!isPressed_) { @@ -226,19 +228,22 @@ void RoomInfoListItem::paintEvent(QPaintEvent *event) } } -void RoomInfoListItem::updateUnreadMessageCount(int count) +void +RoomInfoListItem::updateUnreadMessageCount(int count) { unreadMsgCount_ += count; update(); } -void RoomInfoListItem::clearUnreadMessageCount() +void +RoomInfoListItem::clearUnreadMessageCount() { unreadMsgCount_ = 0; update(); } -void RoomInfoListItem::setPressedState(bool state) +void +RoomInfoListItem::setPressedState(bool state) { if (!isPressed_ && state) { isPressed_ = state; @@ -249,13 +254,15 @@ void RoomInfoListItem::setPressedState(bool state) } } -void RoomInfoListItem::setState(const RoomState &new_state) +void +RoomInfoListItem::setState(const RoomState &new_state) { state_ = new_state; update(); } -void RoomInfoListItem::contextMenuEvent(QContextMenuEvent *event) +void +RoomInfoListItem::contextMenuEvent(QContextMenuEvent *event) { Q_UNUSED(event); @@ -263,7 +270,8 @@ void RoomInfoListItem::contextMenuEvent(QContextMenuEvent *event) menu_->popup(event->globalPos()); } -void RoomInfoListItem::mousePressEvent(QMouseEvent *event) +void +RoomInfoListItem::mousePressEvent(QMouseEvent *event) { if (event->buttons() == Qt::RightButton) { QWidget::mousePressEvent(event); diff --git a/src/RoomList.cc b/src/RoomList.cc index a35ef2f8..3b14b5f1 100644 --- a/src/RoomList.cc +++ b/src/RoomList.cc @@ -24,8 +24,8 @@ #include "Sync.h" RoomList::RoomList(QSharedPointer client, QWidget *parent) - : QWidget(parent) - , client_(client) + : QWidget(parent) + , client_(client) { setStyleSheet("QWidget { border: none; }"); @@ -65,12 +65,14 @@ RoomList::~RoomList() { } -void RoomList::clear() +void +RoomList::clear() { rooms_.clear(); } -void RoomList::updateUnreadMessageCount(const QString &roomid, int count) +void +RoomList::updateUnreadMessageCount(const QString &roomid, int count) { if (!rooms_.contains(roomid)) { qWarning() << "UpdateUnreadMessageCount: Unknown roomid"; @@ -82,7 +84,8 @@ void RoomList::updateUnreadMessageCount(const QString &roomid, int count) calculateUnreadMessageCount(); } -void RoomList::calculateUnreadMessageCount() +void +RoomList::calculateUnreadMessageCount() { int total_unread_msgs = 0; @@ -92,8 +95,9 @@ void RoomList::calculateUnreadMessageCount() emit totalUnreadMessageCountUpdated(total_unread_msgs); } -void RoomList::setInitialRooms(const QMap> &settings, - const QMap &states) +void +RoomList::setInitialRooms(const QMap> &settings, + const QMap &states) { rooms_.clear(); @@ -128,7 +132,8 @@ void RoomList::setInitialRooms(const QMap> emit roomChanged(rooms_.firstKey()); } -void RoomList::sync(const QMap &states) +void +RoomList::sync(const QMap &states) { for (auto it = states.constBegin(); it != states.constEnd(); it++) { auto room_id = it.key(); @@ -150,7 +155,8 @@ void RoomList::sync(const QMap &states) } } -void RoomList::highlightSelectedRoom(const QString &room_id) +void +RoomList::highlightSelectedRoom(const QString &room_id) { emit roomChanged(room_id); @@ -175,7 +181,8 @@ void RoomList::highlightSelectedRoom(const QString &room_id) } } -void RoomList::updateRoomAvatar(const QString &roomid, const QPixmap &img) +void +RoomList::updateRoomAvatar(const QString &roomid, const QPixmap &img) { if (!rooms_.contains(roomid)) { qWarning() << "Avatar update on non existent room" << roomid; @@ -185,7 +192,8 @@ void RoomList::updateRoomAvatar(const QString &roomid, const QPixmap &img) rooms_.value(roomid)->setAvatar(img.toImage()); } -void RoomList::updateRoomDescription(const QString &roomid, const DescInfo &info) +void +RoomList::updateRoomDescription(const QString &roomid, const DescInfo &info) { if (!rooms_.contains(roomid)) { qWarning() << "Description update on non existent room" << roomid << info.body; diff --git a/src/RoomMessages.cc b/src/RoomMessages.cc index 0aa020a4..14155de9 100644 --- a/src/RoomMessages.cc +++ b/src/RoomMessages.cc @@ -17,7 +17,8 @@ #include "RoomMessages.h" -void RoomMessages::deserialize(const QJsonDocument &data) +void +RoomMessages::deserialize(const QJsonDocument &data) { if (!data.isObject()) throw DeserializationException("response is not a JSON object"); diff --git a/src/RoomState.cc b/src/RoomState.cc index c5e763e7..b22177b2 100644 --- a/src/RoomState.cc +++ b/src/RoomState.cc @@ -23,7 +23,8 @@ namespace events = matrix::events; -void RoomState::resolveName() +void +RoomState::resolveName() { name_ = "Empty Room"; userAvatar_.clear(); @@ -69,7 +70,8 @@ void RoomState::resolveName() name_ = QString("%1 and %2 others").arg(name_).arg(memberships.size()); } -void RoomState::resolveAvatar() +void +RoomState::resolveAvatar() { if (userAvatar_.isEmpty()) { avatar_ = avatar.content().url(); @@ -84,7 +86,8 @@ void RoomState::resolveAvatar() } // Should be used only after initial sync. -void RoomState::removeLeaveMemberships() +void +RoomState::removeLeaveMemberships() { for (auto it = memberships.begin(); it != memberships.end();) { if (it.value().content().membershipState() == events::Membership::Leave) { @@ -95,7 +98,8 @@ void RoomState::removeLeaveMemberships() } } -void RoomState::update(const RoomState &state) +void +RoomState::update(const RoomState &state) { bool needsNameCalculation = false; bool needsAvatarCalculation = false; @@ -152,7 +156,8 @@ void RoomState::update(const RoomState &state) resolveAvatar(); } -QJsonObject RoomState::serialize() const +QJsonObject +RoomState::serialize() const { QJsonObject obj; @@ -186,10 +191,11 @@ QJsonObject RoomState::serialize() const return obj; } -void RoomState::parse(const QJsonObject &object) +void +RoomState::parse(const QJsonObject &object) { // FIXME: Make this less versbose. - + if (object.contains("aliases")) { events::StateEvent event; diff --git a/src/SlidingStackWidget.cc b/src/SlidingStackWidget.cc index 472f750b..c3ae0635 100644 --- a/src/SlidingStackWidget.cc +++ b/src/SlidingStackWidget.cc @@ -18,7 +18,7 @@ #include "SlidingStackWidget.h" SlidingStackWidget::SlidingStackWidget(QWidget *parent) - : QStackedWidget(parent) + : QStackedWidget(parent) { window_ = parent; @@ -39,7 +39,8 @@ SlidingStackWidget::~SlidingStackWidget() { } -void SlidingStackWidget::slideInNext() +void +SlidingStackWidget::slideInNext() { int now = currentIndex(); @@ -47,7 +48,8 @@ void SlidingStackWidget::slideInNext() slideInIndex(now + 1); } -void SlidingStackWidget::slideInPrevious() +void +SlidingStackWidget::slideInPrevious() { int now = currentIndex(); @@ -55,7 +57,8 @@ void SlidingStackWidget::slideInPrevious() slideInIndex(now - 1); } -void SlidingStackWidget::slideInIndex(int index, AnimationDirection direction) +void +SlidingStackWidget::slideInIndex(int index, AnimationDirection direction) { // Take into consideration possible index overflow/undeflow. if (index > count() - 1) { @@ -69,7 +72,8 @@ void SlidingStackWidget::slideInIndex(int index, AnimationDirection direction) slideInWidget(widget(index), direction); } -void SlidingStackWidget::slideInWidget(QWidget *next_widget, AnimationDirection direction) +void +SlidingStackWidget::slideInWidget(QWidget *next_widget, AnimationDirection direction) { // If an animation is currenlty executing we should wait for it to finish before // another transition can start. @@ -132,7 +136,8 @@ void SlidingStackWidget::slideInWidget(QWidget *next_widget, AnimationDirection animation_group->start(); } -void SlidingStackWidget::onAnimationFinished() +void +SlidingStackWidget::onAnimationFinished() { setCurrentIndex(next_); @@ -145,7 +150,8 @@ void SlidingStackWidget::onAnimationFinished() emit animationFinished(); } -int SlidingStackWidget::getWidgetIndex(QWidget *widget) +int +SlidingStackWidget::getWidgetIndex(QWidget *widget) { return indexOf(widget); } diff --git a/src/Splitter.cc b/src/Splitter.cc index a15e8d0a..7e6d4d0a 100644 --- a/src/Splitter.cc +++ b/src/Splitter.cc @@ -21,13 +21,14 @@ #include "Theme.h" Splitter::Splitter(QWidget *parent) - : QSplitter(parent) + : QSplitter(parent) { connect(this, &QSplitter::splitterMoved, this, &Splitter::onSplitterMoved); setChildrenCollapsible(false); } -void Splitter::onSplitterMoved(int pos, int index) +void +Splitter::onSplitterMoved(int pos, int index) { Q_UNUSED(pos); Q_UNUSED(index); diff --git a/src/Sync.cc b/src/Sync.cc index 0d04e878..047350d0 100644 --- a/src/Sync.cc +++ b/src/Sync.cc @@ -24,7 +24,8 @@ #include "Deserializable.h" #include "Sync.h" -void SyncResponse::deserialize(const QJsonDocument &data) +void +SyncResponse::deserialize(const QJsonDocument &data) { if (!data.isObject()) throw DeserializationException("Sync response is not a JSON object"); @@ -41,7 +42,8 @@ void SyncResponse::deserialize(const QJsonDocument &data) next_batch_ = object.value("next_batch").toString(); } -void Rooms::deserialize(const QJsonValue &data) +void +Rooms::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("Rooms value is not a JSON object"); @@ -81,7 +83,8 @@ void Rooms::deserialize(const QJsonValue &data) } } -void JoinedRoom::deserialize(const QJsonValue &data) +void +JoinedRoom::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("JoinedRoom is not a JSON object"); @@ -112,7 +115,8 @@ void JoinedRoom::deserialize(const QJsonValue &data) timeline_.deserialize(object.value("timeline")); } -void Event::deserialize(const QJsonValue &data) +void +Event::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("Event is not a JSON object"); @@ -152,7 +156,8 @@ void Event::deserialize(const QJsonValue &data) origin_server_ts_ = object.value("origin_server_ts").toDouble(); } -void State::deserialize(const QJsonValue &data) +void +State::deserialize(const QJsonValue &data) { if (!data.isArray()) throw DeserializationException("State is not a JSON array"); @@ -160,7 +165,8 @@ void State::deserialize(const QJsonValue &data) events_ = data.toArray(); } -void Timeline::deserialize(const QJsonValue &data) +void +Timeline::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("Timeline is not a JSON object"); diff --git a/src/TextInputWidget.cc b/src/TextInputWidget.cc index 9b70cd9b..328c99e2 100644 --- a/src/TextInputWidget.cc +++ b/src/TextInputWidget.cc @@ -24,12 +24,13 @@ #include "TextInputWidget.h" FilteredTextEdit::FilteredTextEdit(QWidget *parent) - : QTextEdit(parent) + : QTextEdit(parent) { setAcceptRichText(false); } -void FilteredTextEdit::keyPressEvent(QKeyEvent *event) +void +FilteredTextEdit::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) emit enterPressed(); @@ -38,7 +39,7 @@ void FilteredTextEdit::keyPressEvent(QKeyEvent *event) } TextInputWidget::TextInputWidget(QWidget *parent) - : QWidget(parent) + : QWidget(parent) { setFont(QFont("Emoji One")); @@ -95,7 +96,8 @@ TextInputWidget::TextInputWidget(QWidget *parent) connect(emoji_button_, SIGNAL(emojiSelected(const QString &)), this, SLOT(addSelectedEmoji(const QString &))); } -void TextInputWidget::addSelectedEmoji(const QString &emoji) +void +TextInputWidget::addSelectedEmoji(const QString &emoji) { QTextCursor cursor = input_->textCursor(); @@ -118,7 +120,8 @@ void TextInputWidget::addSelectedEmoji(const QString &emoji) input_->show(); } -void TextInputWidget::onSendButtonClicked() +void +TextInputWidget::onSendButtonClicked() { auto msg_text = input_->document()->toPlainText().trimmed(); @@ -130,7 +133,8 @@ void TextInputWidget::onSendButtonClicked() input_->clear(); } -void TextInputWidget::paintEvent(QPaintEvent *event) +void +TextInputWidget::paintEvent(QPaintEvent *event) { Q_UNUSED(event); diff --git a/src/TimelineItem.cc b/src/TimelineItem.cc index 5a3b3f23..70cecca4 100644 --- a/src/TimelineItem.cc +++ b/src/TimelineItem.cc @@ -33,7 +33,8 @@ static const QString URL_HTML = "\\1setSpacing(conf::timeline::headerSpacing); } -/* - * For messages created locally. The avatar and the username are displayed. +/* + * For messages created locally. The avatar and the username are displayed. */ TimelineItem::TimelineItem(const QString &userid, const QString &color, QString body, QWidget *parent) - : QWidget(parent) + : QWidget(parent) { init(); - descriptionMsg_ = {"You: ", userid, body, descriptiveTime(QDateTime::currentDateTime())}; + descriptionMsg_ = { "You: ", userid, body, descriptiveTime(QDateTime::currentDateTime()) }; body.replace(URL_REGEX, URL_HTML); auto displayName = TimelineViewManager::displayName(userid); @@ -89,16 +90,16 @@ TimelineItem::TimelineItem(const QString &userid, const QString &color, QString } /* - * For messages created locally. Only the text is displayed. + * For messages created locally. Only the text is displayed. */ TimelineItem::TimelineItem(QString body, QWidget *parent) - : QWidget(parent) + : QWidget(parent) { QSettings settings; auto userid = settings.value("auth/user_id").toString(); init(); - descriptionMsg_ = {"You: ", userid, body, descriptiveTime(QDateTime::currentDateTime())}; + descriptionMsg_ = { "You: ", userid, body, descriptiveTime(QDateTime::currentDateTime()) }; body.replace(URL_REGEX, URL_HTML); @@ -117,7 +118,7 @@ TimelineItem::TimelineItem(ImageItem *image, const events::MessageEvent &event, const QString &color, QWidget *parent) - : QWidget(parent) + : QWidget(parent) { init(); @@ -125,11 +126,10 @@ TimelineItem::TimelineItem(ImageItem *image, auto displayName = TimelineViewManager::displayName(event.sender()); QSettings settings; - descriptionMsg_ = { - event.sender() == settings.value("auth/user_id") ? "You" : displayName, - event.sender(), - " sent an image", - descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp()))}; + descriptionMsg_ = { event.sender() == settings.value("auth/user_id") ? "You" : displayName, + event.sender(), + " sent an image", + descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp())) }; generateTimestamp(timestamp); generateBody(displayName, color, ""); @@ -150,18 +150,17 @@ TimelineItem::TimelineItem(ImageItem *image, * Used to display images. Only the image is displayed. */ TimelineItem::TimelineItem(ImageItem *image, const events::MessageEvent &event, QWidget *parent) - : QWidget(parent) + : QWidget(parent) { init(); auto displayName = TimelineViewManager::displayName(event.sender()); QSettings settings; - descriptionMsg_ = { - event.sender() == settings.value("auth/user_id") ? "You" : displayName, - event.sender(), - " sent an image", - descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp()))}; + descriptionMsg_ = { event.sender() == settings.value("auth/user_id") ? "You" : displayName, + event.sender(), + " sent an image", + descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp())) }; auto timestamp = QDateTime::fromMSecsSinceEpoch(event.timestamp()); generateTimestamp(timestamp); @@ -179,15 +178,17 @@ TimelineItem::TimelineItem(ImageItem *image, const events::MessageEvent &event, bool with_sender, const QString &color, QWidget *parent) - : QWidget(parent) +TimelineItem::TimelineItem(const events::MessageEvent &event, + bool with_sender, + const QString &color, + QWidget *parent) + : QWidget(parent) { init(); - descriptionMsg_ = { - TimelineViewManager::displayName(event.sender()), - event.sender(), - " sent a notification", - descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp()))}; + descriptionMsg_ = { TimelineViewManager::displayName(event.sender()), + event.sender(), + " sent a notification", + descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp())) }; auto body = event.content().body().trimmed().toHtmlEscaped(); auto timestamp = QDateTime::fromMSecsSinceEpoch(event.timestamp()); @@ -217,8 +218,11 @@ TimelineItem::TimelineItem(const events::MessageEvent &event, bool /* * Used to display remote text messages. */ -TimelineItem::TimelineItem(const events::MessageEvent &event, bool with_sender, const QString &color, QWidget *parent) - : QWidget(parent) +TimelineItem::TimelineItem(const events::MessageEvent &event, + bool with_sender, + const QString &color, + QWidget *parent) + : QWidget(parent) { init(); @@ -227,11 +231,10 @@ TimelineItem::TimelineItem(const events::MessageEvent &event, bool w auto displayName = TimelineViewManager::displayName(event.sender()); QSettings settings; - descriptionMsg_ = { - event.sender() == settings.value("auth/user_id") ? "You" : displayName, - event.sender(), - QString(": %1").arg(body), - descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp()))}; + descriptionMsg_ = { event.sender() == settings.value("auth/user_id") ? "You" : displayName, + event.sender(), + QString(": %1").arg(body), + descriptiveTime(QDateTime::fromMSecsSinceEpoch(event.timestamp())) }; generateTimestamp(timestamp); @@ -255,7 +258,8 @@ TimelineItem::TimelineItem(const events::MessageEvent &event, bool w } // Only the body is displayed. -void TimelineItem::generateBody(const QString &body) +void +TimelineItem::generateBody(const QString &body) { QString content(" %1 "); @@ -270,7 +274,8 @@ void TimelineItem::generateBody(const QString &body) } // The username/timestamp is displayed along with the message body. -void TimelineItem::generateBody(const QString &userid, const QString &color, const QString &body) +void +TimelineItem::generateBody(const QString &userid, const QString &color, const QString &body) { auto sender = userid; @@ -300,7 +305,8 @@ void TimelineItem::generateBody(const QString &userid, const QString &color, con body_->setMargin(0); } -void TimelineItem::generateTimestamp(const QDateTime &time) +void +TimelineItem::generateTimestamp(const QDateTime &time) { QString msg(" %1 "); @@ -316,7 +322,8 @@ void TimelineItem::generateTimestamp(const QDateTime &time) timestamp_->setContentsMargins(0, topMargin, 0, 0); } -QString TimelineItem::replaceEmoji(const QString &body) +QString +TimelineItem::replaceEmoji(const QString &body) { QString fmtBody = ""; @@ -325,9 +332,9 @@ QString TimelineItem::replaceEmoji(const QString &body) // TODO: Be more precise here. if (code > 9000) - fmtBody += QString("").arg(conf::emojiSize) + - QString(c) + - ""; + fmtBody += QString("") + .arg(conf::emojiSize) + + QString(c) + ""; else fmtBody += c; } @@ -335,7 +342,8 @@ QString TimelineItem::replaceEmoji(const QString &body) return fmtBody; } -void TimelineItem::setupAvatarLayout(const QString &userName) +void +TimelineItem::setupAvatarLayout(const QString &userName) { topLayout_->setContentsMargins(conf::timeline::msgMargin, conf::timeline::msgMargin, 0, 0); @@ -356,7 +364,8 @@ void TimelineItem::setupAvatarLayout(const QString &userName) headerLayout_->addWidget(timestamp_, 1); } -void TimelineItem::setupSimpleLayout() +void +TimelineItem::setupSimpleLayout() { sideLayout_->addWidget(timestamp_); @@ -378,7 +387,8 @@ void TimelineItem::setupSimpleLayout() topLayout_->setContentsMargins(conf::timeline::msgMargin, conf::timeline::msgMargin / 3, 0, 0); } -void TimelineItem::setUserAvatar(const QImage &avatar) +void +TimelineItem::setUserAvatar(const QImage &avatar) { if (userAvatar_ == nullptr) return; @@ -386,7 +396,8 @@ void TimelineItem::setUserAvatar(const QImage &avatar) userAvatar_->setImage(avatar); } -QString TimelineItem::descriptiveTime(const QDateTime &then) +QString +TimelineItem::descriptiveTime(const QDateTime &then) { auto now = QDateTime::currentDateTime(); diff --git a/src/TimelineView.cc b/src/TimelineView.cc index 1d6dd59a..80afcfa2 100644 --- a/src/TimelineView.cc +++ b/src/TimelineView.cc @@ -38,9 +38,9 @@ TimelineView::TimelineView(const Timeline &timeline, QSharedPointer client, const QString &room_id, QWidget *parent) - : QWidget(parent) - , room_id_{room_id} - , client_{client} + : QWidget(parent) + , room_id_{ room_id } + , client_{ client } { QSettings settings; local_user_ = settings.value("auth/user_id").toString(); @@ -50,9 +50,9 @@ TimelineView::TimelineView(const Timeline &timeline, } TimelineView::TimelineView(QSharedPointer client, const QString &room_id, QWidget *parent) - : QWidget(parent) - , room_id_{room_id} - , client_{client} + : QWidget(parent) + , room_id_{ room_id } + , client_{ client } { QSettings settings; local_user_ = settings.value("auth/user_id").toString(); @@ -61,7 +61,8 @@ TimelineView::TimelineView(QSharedPointer client, const QString &r client_->messages(room_id_, ""); } -void TimelineView::sliderRangeChanged(int min, int max) +void +TimelineView::sliderRangeChanged(int min, int max) { Q_UNUSED(min); @@ -89,7 +90,8 @@ void TimelineView::sliderRangeChanged(int min, int max) } } -void TimelineView::fetchHistory() +void +TimelineView::fetchHistory() { bool hasEnoughMessages = scroll_area_->verticalScrollBar()->value() != 0; @@ -103,7 +105,8 @@ void TimelineView::fetchHistory() paginationTimer_->stop(); } -void TimelineView::scrollDown() +void +TimelineView::scrollDown() { int current = scroll_area_->verticalScrollBar()->value(); int max = scroll_area_->verticalScrollBar()->maximum(); @@ -120,7 +123,8 @@ void TimelineView::scrollDown() scroll_area_->verticalScrollBar()->setValue(max); } -void TimelineView::sliderMoved(int position) +void +TimelineView::sliderMoved(int position) { if (!scroll_area_->verticalScrollBar()->isVisible()) return; @@ -142,7 +146,8 @@ void TimelineView::sliderMoved(int position) } } -void TimelineView::addBackwardsEvents(const QString &room_id, const RoomMessages &msgs) +void +TimelineView::addBackwardsEvents(const QString &room_id, const RoomMessages &msgs) { if (room_id_ != room_id) return; @@ -189,7 +194,8 @@ void TimelineView::addBackwardsEvents(const QString &room_id, const RoomMessages lastSender_ = items.constFirst()->descriptionMessage().userid; } -TimelineItem *TimelineView::parseMessageEvent(const QJsonObject &event, TimelineDirection direction) +TimelineItem * +TimelineView::parseMessageEvent(const QJsonObject &event, TimelineDirection direction) { events::EventType ty = events::extractEventType(event); @@ -274,7 +280,8 @@ TimelineItem *TimelineView::parseMessageEvent(const QJsonObject &event, Timeline return nullptr; } -int TimelineView::addEvents(const Timeline &timeline) +int +TimelineView::addEvents(const Timeline &timeline) { int message_count = 0; @@ -306,7 +313,8 @@ int TimelineView::addEvents(const Timeline &timeline) return message_count; } -void TimelineView::init() +void +TimelineView::init() { top_layout_ = new QVBoxLayout(this); top_layout_->setSpacing(0); @@ -339,10 +347,14 @@ void TimelineView::init() connect(client_.data(), &MatrixClient::messagesRetrieved, this, &TimelineView::addBackwardsEvents); connect(scroll_area_->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(sliderMoved(int))); - connect(scroll_area_->verticalScrollBar(), SIGNAL(rangeChanged(int, int)), this, SLOT(sliderRangeChanged(int, int))); + connect(scroll_area_->verticalScrollBar(), + SIGNAL(rangeChanged(int, int)), + this, + SLOT(sliderRangeChanged(int, int))); } -void TimelineView::updateLastSender(const QString &user_id, TimelineDirection direction) +void +TimelineView::updateLastSender(const QString &user_id, TimelineDirection direction) { if (direction == TimelineDirection::Bottom) lastSender_ = user_id; @@ -350,7 +362,8 @@ void TimelineView::updateLastSender(const QString &user_id, TimelineDirection di firstSender_ = user_id; } -bool TimelineView::isSenderRendered(const QString &user_id, TimelineDirection direction) +bool +TimelineView::isSenderRendered(const QString &user_id, TimelineDirection direction) { if (direction == TimelineDirection::Bottom) return lastSender_ != user_id; @@ -358,7 +371,8 @@ bool TimelineView::isSenderRendered(const QString &user_id, TimelineDirection di return firstSender_ != user_id; } -TimelineItem *TimelineView::createTimelineItem(const events::MessageEvent &event, const QString &color, bool with_sender) +TimelineItem * +TimelineView::createTimelineItem(const events::MessageEvent &event, const QString &color, bool with_sender) { auto image = new ImageItem(client_, event); @@ -371,19 +385,24 @@ TimelineItem *TimelineView::createTimelineItem(const events::MessageEvent &event, const QString &color, bool with_sender) +TimelineItem * +TimelineView::createTimelineItem(const events::MessageEvent &event, + const QString &color, + bool with_sender) { TimelineItem *item = new TimelineItem(event, with_sender, color, scroll_widget_); return item; } -TimelineItem *TimelineView::createTimelineItem(const events::MessageEvent &event, const QString &color, bool with_sender) +TimelineItem * +TimelineView::createTimelineItem(const events::MessageEvent &event, const QString &color, bool with_sender) { TimelineItem *item = new TimelineItem(event, with_sender, color, scroll_widget_); return item; } -void TimelineView::addTimelineItem(TimelineItem *item, TimelineDirection direction) +void +TimelineView::addTimelineItem(TimelineItem *item, TimelineDirection direction) { if (direction == TimelineDirection::Bottom) scroll_layout_->addWidget(item); @@ -391,7 +410,8 @@ void TimelineView::addTimelineItem(TimelineItem *item, TimelineDirection directi scroll_layout_->insertWidget(1, item); } -void TimelineView::updatePendingMessage(int txn_id, QString event_id) +void +TimelineView::updatePendingMessage(int txn_id, QString event_id) { for (auto &msg : pending_msgs_) { if (msg.txn_id == txn_id) { @@ -401,7 +421,8 @@ void TimelineView::updatePendingMessage(int txn_id, QString event_id) } } -bool TimelineView::isPendingMessage(const events::MessageEvent &e, const QString &local_userid) +bool +TimelineView::isPendingMessage(const events::MessageEvent &e, const QString &local_userid) { if (e.sender() != local_userid) return false; @@ -414,7 +435,8 @@ bool TimelineView::isPendingMessage(const events::MessageEvent &e, c return false; } -void TimelineView::removePendingMessage(const events::MessageEvent &e) +void +TimelineView::removePendingMessage(const events::MessageEvent &e) { for (auto it = pending_msgs_.begin(); it != pending_msgs_.end(); it++) { int index = std::distance(pending_msgs_.begin(), it); @@ -426,7 +448,8 @@ void TimelineView::removePendingMessage(const events::MessageEvent & } } -void TimelineView::addUserTextMessage(const QString &body, int txn_id) +void +TimelineView::addUserTextMessage(const QString &body, int txn_id) { QSettings settings; auto user_id = settings.value("auth/user_id").toString(); @@ -450,7 +473,8 @@ void TimelineView::addUserTextMessage(const QString &body, int txn_id) pending_msgs_.push_back(message); } -void TimelineView::notifyForLastEvent() +void +TimelineView::notifyForLastEvent() { auto lastItem = scroll_layout_->itemAt(scroll_layout_->count() - 1); auto *lastTimelineItem = qobject_cast(lastItem->widget()); diff --git a/src/TimelineViewManager.cc b/src/TimelineViewManager.cc index 455335f7..a02e89e9 100644 --- a/src/TimelineViewManager.cc +++ b/src/TimelineViewManager.cc @@ -27,8 +27,8 @@ #include "TimelineViewManager.h" TimelineViewManager::TimelineViewManager(QSharedPointer client, QWidget *parent) - : QStackedWidget(parent) - , client_(client) + : QStackedWidget(parent) + , client_(client) { setStyleSheet("QWidget { background: #f8fbfe; color: #e8e8e8; border: none;}"); @@ -42,7 +42,8 @@ TimelineViewManager::~TimelineViewManager() { } -void TimelineViewManager::messageSent(const QString &event_id, const QString &roomid, int txn_id) +void +TimelineViewManager::messageSent(const QString &event_id, const QString &roomid, int txn_id) { // We save the latest valid transaction ID for later use. QSettings settings; @@ -52,7 +53,8 @@ void TimelineViewManager::messageSent(const QString &event_id, const QString &ro view->updatePendingMessage(txn_id, event_id); } -void TimelineViewManager::sendTextMessage(const QString &msg) +void +TimelineViewManager::sendTextMessage(const QString &msg) { auto room_id = active_room_; auto view = views_[room_id]; @@ -61,7 +63,8 @@ void TimelineViewManager::sendTextMessage(const QString &msg) client_->sendTextMessage(room_id, msg); } -void TimelineViewManager::clearAll() +void +TimelineViewManager::clearAll() { NICK_COLORS.clear(); @@ -71,7 +74,8 @@ void TimelineViewManager::clearAll() views_.clear(); } -void TimelineViewManager::initialize(const Rooms &rooms) +void +TimelineViewManager::initialize(const Rooms &rooms) { for (auto it = rooms.join().constBegin(); it != rooms.join().constEnd(); it++) { auto roomid = it.key(); @@ -90,7 +94,8 @@ void TimelineViewManager::initialize(const Rooms &rooms) } } -void TimelineViewManager::initialize(const QList &rooms) +void +TimelineViewManager::initialize(const QList &rooms) { for (const auto &roomid : rooms) { // Create a history view without any events. @@ -107,7 +112,8 @@ void TimelineViewManager::initialize(const QList &rooms) } } -void TimelineViewManager::sync(const Rooms &rooms) +void +TimelineViewManager::sync(const Rooms &rooms) { for (auto it = rooms.join().constBegin(); it != rooms.join().constEnd(); it++) { auto roomid = it.key(); @@ -132,7 +138,8 @@ void TimelineViewManager::sync(const Rooms &rooms) } } -void TimelineViewManager::setHistoryView(const QString &room_id) +void +TimelineViewManager::setHistoryView(const QString &room_id) { if (!views_.contains(room_id)) { qDebug() << "Room ID from RoomList is not present in ViewManager" << room_id; @@ -151,10 +158,11 @@ void TimelineViewManager::setHistoryView(const QString &room_id) QMap TimelineViewManager::NICK_COLORS; QMap TimelineViewManager::DISPLAY_NAMES; -QString TimelineViewManager::chooseRandomColor() +QString +TimelineViewManager::chooseRandomColor() { std::random_device random_device; - std::mt19937 engine{random_device()}; + std::mt19937 engine{ random_device() }; std::uniform_real_distribution dist(0, 1); float hue = dist(engine); @@ -208,7 +216,8 @@ QString TimelineViewManager::chooseRandomColor() return color.name(); } -QString TimelineViewManager::getUserColor(const QString &userid) +QString +TimelineViewManager::getUserColor(const QString &userid) { auto color = NICK_COLORS.value(userid); @@ -220,7 +229,8 @@ QString TimelineViewManager::getUserColor(const QString &userid) return color; } -QString TimelineViewManager::displayName(const QString &userid) +QString +TimelineViewManager::displayName(const QString &userid) { if (DISPLAY_NAMES.contains(userid)) return DISPLAY_NAMES.value(userid); diff --git a/src/TopRoomBar.cc b/src/TopRoomBar.cc index 9de19e86..dd1cabf3 100644 --- a/src/TopRoomBar.cc +++ b/src/TopRoomBar.cc @@ -21,8 +21,8 @@ #include "TopRoomBar.h" TopRoomBar::TopRoomBar(QWidget *parent) - : QWidget(parent) - , buttonSize_{32} + : QWidget(parent) + , buttonSize_{ 32 } { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); setMinimumSize(QSize(0, 65)); @@ -75,9 +75,7 @@ TopRoomBar::TopRoomBar(QWidget *parent) menu_ = new Menu(this); toggleNotifications_ = new QAction(tr("Disable notifications"), this); - connect(toggleNotifications_, &QAction::triggered, this, [=]() { - roomSettings_->toggleNotifications(); - }); + connect(toggleNotifications_, &QAction::triggered, this, [=]() { roomSettings_->toggleNotifications(); }); menu_->addAction(toggleNotifications_); @@ -88,14 +86,14 @@ TopRoomBar::TopRoomBar(QWidget *parent) toggleNotifications_->setText(tr("Enable notifications")); auto pos = mapToGlobal(settingsBtn_->pos()); - menu_->popup(QPoint(pos.x() + buttonSize_ - menu_->sizeHint().width(), - pos.y() + buttonSize_)); + menu_->popup(QPoint(pos.x() + buttonSize_ - menu_->sizeHint().width(), pos.y() + buttonSize_)); }); setLayout(top_layout_); } -void TopRoomBar::updateRoomAvatarFromName(const QString &name) +void +TopRoomBar::updateRoomAvatarFromName(const QString &name) { QChar letter = '?'; @@ -105,14 +103,16 @@ void TopRoomBar::updateRoomAvatarFromName(const QString &name) avatar_->setLetter(letter); } -void TopRoomBar::reset() +void +TopRoomBar::reset() { name_label_->setText(""); topic_label_->setText(""); avatar_->setLetter(QChar('?')); } -void TopRoomBar::paintEvent(QPaintEvent *event) +void +TopRoomBar::paintEvent(QPaintEvent *event) { Q_UNUSED(event); @@ -123,7 +123,8 @@ void TopRoomBar::paintEvent(QPaintEvent *event) style()->drawPrimitive(QStyle::PE_Widget, &option, &painter, this); } -void TopRoomBar::setRoomSettings(QSharedPointer settings) +void +TopRoomBar::setRoomSettings(QSharedPointer settings) { roomSettings_ = settings; } diff --git a/src/TrayIcon.cc b/src/TrayIcon.cc index e6a10444..462b7f72 100644 --- a/src/TrayIcon.cc +++ b/src/TrayIcon.cc @@ -25,12 +25,13 @@ #endif MsgCountComposedIcon::MsgCountComposedIcon(const QString &filename) - : QIconEngine() + : QIconEngine() { icon_ = QIcon(filename); } -void MsgCountComposedIcon::paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) +void +MsgCountComposedIcon::paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) { painter->setRenderHint(QPainter::TextAntialiasing); painter->setRenderHint(QPainter::SmoothPixmapTransform); @@ -52,23 +53,21 @@ void MsgCountComposedIcon::paint(QPainter *painter, const QRect &rect, QIcon::Mo painter->setPen(Qt::NoPen); painter->setFont(QFont("Open Sans", 8, QFont::Black)); - QRectF bubble(rect.width() - BubbleDiameter, - rect.height() - BubbleDiameter, - BubbleDiameter, - BubbleDiameter); + QRectF bubble(rect.width() - BubbleDiameter, rect.height() - BubbleDiameter, BubbleDiameter, BubbleDiameter); painter->drawEllipse(bubble); painter->setPen(QPen(textColor)); painter->setBrush(Qt::NoBrush); painter->drawText(bubble, Qt::AlignCenter, QString::number(msgCount)); } -QIconEngine *MsgCountComposedIcon::clone() const +QIconEngine * +MsgCountComposedIcon::clone() const { return new MsgCountComposedIcon(*this); } TrayIcon::TrayIcon(const QString &filename, QWidget *parent) - : QSystemTrayIcon(parent) + : QSystemTrayIcon(parent) { #if defined(Q_OS_MAC) || defined(Q_OS_WIN) setIcon(QIcon(filename)); @@ -82,9 +81,7 @@ TrayIcon::TrayIcon(const QString &filename, QWidget *parent) quitAction_ = new QAction(tr("Quit"), parent); connect(viewAction_, SIGNAL(triggered()), parent, SLOT(show())); - connect(quitAction_, &QAction::triggered, this, [=]() { - QApplication::quit(); - }); + connect(quitAction_, &QAction::triggered, this, [=]() { QApplication::quit(); }); menu->addAction(viewAction_); menu->addAction(quitAction_); @@ -92,12 +89,11 @@ TrayIcon::TrayIcon(const QString &filename, QWidget *parent) setContextMenu(menu); // We wait a little for the icon to load. - QTimer::singleShot(500, this, [=]() { - show(); - }); + QTimer::singleShot(500, this, [=]() { show(); }); } -void TrayIcon::setUnreadCount(int count) +void +TrayIcon::setUnreadCount(int count) { // Use the native badge counter in MacOS. #if defined(Q_OS_MAC) diff --git a/src/UserInfoWidget.cc b/src/UserInfoWidget.cc index 57e2cdd5..edff2b55 100644 --- a/src/UserInfoWidget.cc +++ b/src/UserInfoWidget.cc @@ -24,12 +24,12 @@ #include "UserInfoWidget.h" UserInfoWidget::UserInfoWidget(QWidget *parent) - : QWidget(parent) - , display_name_("User") - , user_id_("@user:homeserver.org") - , logoutModal_{nullptr} - , logoutDialog_{nullptr} - , logoutButtonSize_{32} + : QWidget(parent) + , display_name_("User") + , user_id_("@user:homeserver.org") + , logoutModal_{ nullptr } + , logoutDialog_{ nullptr } + , logoutButtonSize_{ 32 } { QSizePolicy sizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); setSizePolicy(sizePolicy); @@ -108,15 +108,14 @@ UserInfoWidget::UserInfoWidget(QWidget *parent) }); } -void UserInfoWidget::closeLogoutDialog(bool isLoggingOut) +void +UserInfoWidget::closeLogoutDialog(bool isLoggingOut) { logoutModal_->fadeOut(); if (isLoggingOut) { // Waiting for the modal to fade out. - QTimer::singleShot(100, this, [=]() { - emit logout(); - }); + QTimer::singleShot(100, this, [=]() { emit logout(); }); } } @@ -124,7 +123,8 @@ UserInfoWidget::~UserInfoWidget() { } -void UserInfoWidget::resizeEvent(QResizeEvent *event) +void +UserInfoWidget::resizeEvent(QResizeEvent *event) { Q_UNUSED(event); @@ -142,20 +142,23 @@ void UserInfoWidget::resizeEvent(QResizeEvent *event) } } -void UserInfoWidget::reset() +void +UserInfoWidget::reset() { displayNameLabel_->setText(""); userIdLabel_->setText(""); userAvatar_->setLetter(QChar('?')); } -void UserInfoWidget::setAvatar(const QImage &img) +void +UserInfoWidget::setAvatar(const QImage &img) { avatar_image_ = img; userAvatar_->setImage(img); } -void UserInfoWidget::setDisplayName(const QString &name) +void +UserInfoWidget::setDisplayName(const QString &name) { if (name.isEmpty()) display_name_ = user_id_.split(':')[0].split('@')[1]; @@ -166,7 +169,8 @@ void UserInfoWidget::setDisplayName(const QString &name) userAvatar_->setLetter(QChar(display_name_[0])); } -void UserInfoWidget::setUserId(const QString &userid) +void +UserInfoWidget::setUserId(const QString &userid) { user_id_ = userid; userIdLabel_->setText(userid); diff --git a/src/Versions.cc b/src/Versions.cc index 3d7c16d8..10f3962d 100644 --- a/src/Versions.cc +++ b/src/Versions.cc @@ -24,7 +24,8 @@ #include "Deserializable.h" #include "Versions.h" -void VersionsResponse::deserialize(const QJsonDocument &data) +void +VersionsResponse::deserialize(const QJsonDocument &data) { if (!data.isObject()) throw DeserializationException("Versions response is not a JSON object"); @@ -51,7 +52,8 @@ void VersionsResponse::deserialize(const QJsonDocument &data) } } -bool VersionsResponse::isVersionSupported(unsigned int major, unsigned int minor, unsigned int patch) +bool +VersionsResponse::isVersionSupported(unsigned int major, unsigned int minor, unsigned int patch) { for (auto &v : supported_versions_) { if (v.major_ == major && v.minor_ == minor && v.patch_ >= patch) diff --git a/src/WelcomePage.cc b/src/WelcomePage.cc index a39683f2..04dc0f59 100644 --- a/src/WelcomePage.cc +++ b/src/WelcomePage.cc @@ -22,7 +22,7 @@ #include "WelcomePage.h" WelcomePage::WelcomePage(QWidget *parent) - : QWidget(parent) + : QWidget(parent) { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -86,12 +86,14 @@ WelcomePage::WelcomePage(QWidget *parent) connect(login_button_, SIGNAL(clicked()), this, SLOT(onLoginButtonClicked())); } -void WelcomePage::onLoginButtonClicked() +void +WelcomePage::onLoginButtonClicked() { emit userLogin(); } -void WelcomePage::onRegisterButtonClicked() +void +WelcomePage::onRegisterButtonClicked() { emit userRegister(); } diff --git a/src/events/AliasesEventContent.cc b/src/events/AliasesEventContent.cc index 899a7182..da45e6e1 100644 --- a/src/events/AliasesEventContent.cc +++ b/src/events/AliasesEventContent.cc @@ -21,7 +21,8 @@ using namespace matrix::events; -void AliasesEventContent::deserialize(const QJsonValue &data) +void +AliasesEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("AliasesEventContent is not a JSON object"); @@ -37,7 +38,8 @@ void AliasesEventContent::deserialize(const QJsonValue &data) aliases_.push_back(alias.toString()); } -QJsonObject AliasesEventContent::serialize() const +QJsonObject +AliasesEventContent::serialize() const { QJsonObject object; diff --git a/src/events/AvatarEventContent.cc b/src/events/AvatarEventContent.cc index dfd46f68..b38063c6 100644 --- a/src/events/AvatarEventContent.cc +++ b/src/events/AvatarEventContent.cc @@ -21,7 +21,8 @@ using namespace matrix::events; -void AvatarEventContent::deserialize(const QJsonValue &data) +void +AvatarEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("AvatarEventContent is not a JSON object"); @@ -37,7 +38,8 @@ void AvatarEventContent::deserialize(const QJsonValue &data) qWarning() << "Invalid avatar url" << url_; } -QJsonObject AvatarEventContent::serialize() const +QJsonObject +AvatarEventContent::serialize() const { QJsonObject object; diff --git a/src/events/CanonicalAliasEventContent.cc b/src/events/CanonicalAliasEventContent.cc index 9792027c..d22319b3 100644 --- a/src/events/CanonicalAliasEventContent.cc +++ b/src/events/CanonicalAliasEventContent.cc @@ -19,7 +19,8 @@ using namespace matrix::events; -void CanonicalAliasEventContent::deserialize(const QJsonValue &data) +void +CanonicalAliasEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("CanonicalAliasEventContent is not a JSON object"); @@ -32,7 +33,8 @@ void CanonicalAliasEventContent::deserialize(const QJsonValue &data) alias_ = object.value("alias").toString(); } -QJsonObject CanonicalAliasEventContent::serialize() const +QJsonObject +CanonicalAliasEventContent::serialize() const { QJsonObject object; diff --git a/src/events/CreateEventContent.cc b/src/events/CreateEventContent.cc index a7d22791..4c65ea4b 100644 --- a/src/events/CreateEventContent.cc +++ b/src/events/CreateEventContent.cc @@ -19,7 +19,8 @@ using namespace matrix::events; -void CreateEventContent::deserialize(const QJsonValue &data) +void +CreateEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("CreateEventContent is not a JSON object"); @@ -32,7 +33,8 @@ void CreateEventContent::deserialize(const QJsonValue &data) creator_ = object.value("creator").toString(); } -QJsonObject CreateEventContent::serialize() const +QJsonObject +CreateEventContent::serialize() const { QJsonObject object; diff --git a/src/events/Event.cc b/src/events/Event.cc index 3fd3c0e1..2cfffa47 100644 --- a/src/events/Event.cc +++ b/src/events/Event.cc @@ -29,7 +29,8 @@ #include "PowerLevelsEventContent.h" #include "TopicEventContent.h" -matrix::events::EventType matrix::events::extractEventType(const QJsonObject &object) +matrix::events::EventType +matrix::events::extractEventType(const QJsonObject &object) { if (!object.contains("type")) throw DeserializationException("Missing event type"); @@ -62,21 +63,18 @@ matrix::events::EventType matrix::events::extractEventType(const QJsonObject &ob return EventType::Unsupported; } -bool matrix::events::isStateEvent(EventType type) +bool +matrix::events::isStateEvent(EventType type) { - return type == EventType::RoomAliases || - type == EventType::RoomAvatar || - type == EventType::RoomCanonicalAlias || - type == EventType::RoomCreate || - type == EventType::RoomHistoryVisibility || - type == EventType::RoomJoinRules || - type == EventType::RoomMember || - type == EventType::RoomName || - type == EventType::RoomPowerLevels || + return type == EventType::RoomAliases || type == EventType::RoomAvatar || + type == EventType::RoomCanonicalAlias || type == EventType::RoomCreate || + type == EventType::RoomHistoryVisibility || type == EventType::RoomJoinRules || + type == EventType::RoomMember || type == EventType::RoomName || type == EventType::RoomPowerLevels || type == EventType::RoomTopic; } -bool matrix::events::isMessageEvent(EventType type) +bool +matrix::events::isMessageEvent(EventType type) { return type == EventType::RoomMessage; } diff --git a/src/events/HistoryVisibilityEventContent.cc b/src/events/HistoryVisibilityEventContent.cc index 77970553..794b16f4 100644 --- a/src/events/HistoryVisibilityEventContent.cc +++ b/src/events/HistoryVisibilityEventContent.cc @@ -19,7 +19,8 @@ using namespace matrix::events; -void HistoryVisibilityEventContent::deserialize(const QJsonValue &data) +void +HistoryVisibilityEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("HistoryVisibilityEventContent is not a JSON object"); @@ -40,10 +41,12 @@ void HistoryVisibilityEventContent::deserialize(const QJsonValue &data) else if (value == "world_readable") history_visibility_ = HistoryVisibility::WorldReadable; else - throw DeserializationException(QString("Unknown history_visibility value: %1").arg(value).toUtf8().constData()); + throw DeserializationException( + QString("Unknown history_visibility value: %1").arg(value).toUtf8().constData()); } -QJsonObject HistoryVisibilityEventContent::serialize() const +QJsonObject +HistoryVisibilityEventContent::serialize() const { QJsonObject object; diff --git a/src/events/JoinRulesEventContent.cc b/src/events/JoinRulesEventContent.cc index 389ab9b8..0418966a 100644 --- a/src/events/JoinRulesEventContent.cc +++ b/src/events/JoinRulesEventContent.cc @@ -19,7 +19,8 @@ using namespace matrix::events; -void JoinRulesEventContent::deserialize(const QJsonValue &data) +void +JoinRulesEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("JoinRulesEventContent is not a JSON object"); @@ -43,7 +44,8 @@ void JoinRulesEventContent::deserialize(const QJsonValue &data) throw DeserializationException(QString("Unknown join_rule value: %1").arg(value).toUtf8().constData()); } -QJsonObject JoinRulesEventContent::serialize() const +QJsonObject +JoinRulesEventContent::serialize() const { QJsonObject object; diff --git a/src/events/MemberEventContent.cc b/src/events/MemberEventContent.cc index 608ad1b2..d20ad1c0 100644 --- a/src/events/MemberEventContent.cc +++ b/src/events/MemberEventContent.cc @@ -21,7 +21,8 @@ using namespace matrix::events; -void MemberEventContent::deserialize(const QJsonValue &data) +void +MemberEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("MemberEventContent is not a JSON object"); @@ -56,7 +57,8 @@ void MemberEventContent::deserialize(const QJsonValue &data) display_name_ = object.value("displayname").toString(); } -QJsonObject MemberEventContent::serialize() const +QJsonObject +MemberEventContent::serialize() const { QJsonObject object; diff --git a/src/events/MessageEventContent.cc b/src/events/MessageEventContent.cc index 215f2d97..79fdd05d 100644 --- a/src/events/MessageEventContent.cc +++ b/src/events/MessageEventContent.cc @@ -21,7 +21,8 @@ using namespace matrix::events; -MessageEventType matrix::events::extractMessageEventType(const QJsonObject &data) +MessageEventType +matrix::events::extractMessageEventType(const QJsonObject &data) { if (!data.contains("content")) return MessageEventType::Unknown; @@ -49,7 +50,8 @@ MessageEventType matrix::events::extractMessageEventType(const QJsonObject &data return MessageEventType::Unknown; } -void MessageEventContent::deserialize(const QJsonValue &data) +void +MessageEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("MessageEventContent is not a JSON object"); @@ -62,7 +64,8 @@ void MessageEventContent::deserialize(const QJsonValue &data) body_ = object.value("body").toString(); } -QJsonObject MessageEventContent::serialize() const +QJsonObject +MessageEventContent::serialize() const { // TODO: Add for all the message contents. QJsonObject object; diff --git a/src/events/NameEventContent.cc b/src/events/NameEventContent.cc index 61126e6b..55476172 100644 --- a/src/events/NameEventContent.cc +++ b/src/events/NameEventContent.cc @@ -19,7 +19,8 @@ using namespace matrix::events; -void NameEventContent::deserialize(const QJsonValue &data) +void +NameEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("NameEventContent is not a JSON object"); @@ -32,7 +33,8 @@ void NameEventContent::deserialize(const QJsonValue &data) name_ = object.value("name").toString(); } -QJsonObject NameEventContent::serialize() const +QJsonObject +NameEventContent::serialize() const { QJsonObject object; diff --git a/src/events/PowerLevelsEventContent.cc b/src/events/PowerLevelsEventContent.cc index 765913c4..4b9cb309 100644 --- a/src/events/PowerLevelsEventContent.cc +++ b/src/events/PowerLevelsEventContent.cc @@ -22,7 +22,8 @@ using namespace matrix::events; -void PowerLevelsEventContent::deserialize(const QJsonValue &data) +void +PowerLevelsEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("PowerLevelsEventContent is not a JSON object"); @@ -65,7 +66,8 @@ void PowerLevelsEventContent::deserialize(const QJsonValue &data) } } -QJsonObject PowerLevelsEventContent::serialize() const +QJsonObject +PowerLevelsEventContent::serialize() const { QJsonObject object; @@ -93,7 +95,8 @@ QJsonObject PowerLevelsEventContent::serialize() const return object; } -int PowerLevelsEventContent::eventLevel(QString event_type) const +int +PowerLevelsEventContent::eventLevel(QString event_type) const { if (events_.contains(event_type)) return events_[event_type]; @@ -101,7 +104,8 @@ int PowerLevelsEventContent::eventLevel(QString event_type) const return events_default_; } -int PowerLevelsEventContent::userLevel(QString userid) const +int +PowerLevelsEventContent::userLevel(QString userid) const { if (users_.contains(userid)) return users_[userid]; diff --git a/src/events/TopicEventContent.cc b/src/events/TopicEventContent.cc index 5acdba3e..4bb529a8 100644 --- a/src/events/TopicEventContent.cc +++ b/src/events/TopicEventContent.cc @@ -19,7 +19,8 @@ using namespace matrix::events; -void TopicEventContent::deserialize(const QJsonValue &data) +void +TopicEventContent::deserialize(const QJsonValue &data) { if (!data.isObject()) throw DeserializationException("TopicEventContent is not a JSON object"); @@ -32,7 +33,8 @@ void TopicEventContent::deserialize(const QJsonValue &data) topic_ = object.value("topic").toString(); } -QJsonObject TopicEventContent::serialize() const +QJsonObject +TopicEventContent::serialize() const { QJsonObject object; diff --git a/src/events/messages/Audio.cc b/src/events/messages/Audio.cc index f0fb443b..3df5aa81 100644 --- a/src/events/messages/Audio.cc +++ b/src/events/messages/Audio.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void Audio::deserialize(const QJsonObject &object) +void +Audio::deserialize(const QJsonObject &object) { if (!object.contains("url")) throw DeserializationException("url key is missing"); diff --git a/src/events/messages/Emote.cc b/src/events/messages/Emote.cc index 1d6a4753..3f09a7b7 100644 --- a/src/events/messages/Emote.cc +++ b/src/events/messages/Emote.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void Emote::deserialize(const QJsonObject &object) +void +Emote::deserialize(const QJsonObject &object) { if (object.value("msgtype") != "m.emote") throw DeserializationException("invalid msgtype for emote"); diff --git a/src/events/messages/File.cc b/src/events/messages/File.cc index a6b5b6c2..20c772ca 100644 --- a/src/events/messages/File.cc +++ b/src/events/messages/File.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void File::deserialize(const QJsonObject &object) +void +File::deserialize(const QJsonObject &object) { if (!object.contains("url")) throw DeserializationException("messages::File url key is missing"); diff --git a/src/events/messages/Image.cc b/src/events/messages/Image.cc index d528e174..6907b077 100644 --- a/src/events/messages/Image.cc +++ b/src/events/messages/Image.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void Image::deserialize(const QJsonObject &object) +void +Image::deserialize(const QJsonObject &object) { if (!object.contains("url")) throw DeserializationException("messages::Image url key is missing"); diff --git a/src/events/messages/Location.cc b/src/events/messages/Location.cc index 68a9a9c1..2963631b 100644 --- a/src/events/messages/Location.cc +++ b/src/events/messages/Location.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void Location::deserialize(const QJsonObject &object) +void +Location::deserialize(const QJsonObject &object) { if (!object.contains("geo_uri")) throw DeserializationException("messages::Location geo_uri key is missing"); diff --git a/src/events/messages/Notice.cc b/src/events/messages/Notice.cc index 1dd4cc28..648c9544 100644 --- a/src/events/messages/Notice.cc +++ b/src/events/messages/Notice.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void Notice::deserialize(const QJsonObject &object) +void +Notice::deserialize(const QJsonObject &object) { if (object.value("msgtype") != "m.notice") throw DeserializationException("invalid msgtype for notice"); diff --git a/src/events/messages/Text.cc b/src/events/messages/Text.cc index 5446d7f4..6324988c 100644 --- a/src/events/messages/Text.cc +++ b/src/events/messages/Text.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void Text::deserialize(const QJsonObject &object) +void +Text::deserialize(const QJsonObject &object) { if (object.value("msgtype") != "m.text") throw DeserializationException("invalid msgtype for text"); diff --git a/src/events/messages/Video.cc b/src/events/messages/Video.cc index a7ddba96..4b4d2d3b 100644 --- a/src/events/messages/Video.cc +++ b/src/events/messages/Video.cc @@ -19,7 +19,8 @@ using namespace matrix::events::messages; -void Video::deserialize(const QJsonObject &object) +void +Video::deserialize(const QJsonObject &object) { if (!object.contains("url")) throw DeserializationException("messages::Video url key is missing"); diff --git a/src/main.cc b/src/main.cc index 55e4ec9b..fcdf27b2 100644 --- a/src/main.cc +++ b/src/main.cc @@ -23,7 +23,8 @@ #include "MainWindow.h" -int main(int argc, char *argv[]) +int +main(int argc, char *argv[]) { QCoreApplication::setApplicationName("nheko"); QCoreApplication::setApplicationVersion("Ωμέγa"); diff --git a/src/ui/Avatar.cc b/src/ui/Avatar.cc index 4245c168..878f7999 100644 --- a/src/ui/Avatar.cc +++ b/src/ui/Avatar.cc @@ -5,7 +5,7 @@ #include "Avatar.h" Avatar::Avatar(QWidget *parent) - : QWidget(parent) + : QWidget(parent) { size_ = ui::AvatarSize; type_ = ui::AvatarType::Letter; @@ -23,7 +23,8 @@ Avatar::~Avatar() { } -QColor Avatar::textColor() const +QColor +Avatar::textColor() const { if (!text_color_.isValid()) return QColor("black"); @@ -31,7 +32,8 @@ QColor Avatar::textColor() const return text_color_; } -QColor Avatar::backgroundColor() const +QColor +Avatar::backgroundColor() const { if (!text_color_.isValid()) return QColor("white"); @@ -39,33 +41,38 @@ QColor Avatar::backgroundColor() const return background_color_; } -int Avatar::size() const +int +Avatar::size() const { return size_; } -QSize Avatar::sizeHint() const +QSize +Avatar::sizeHint() const { return QSize(size_ + 2, size_ + 2); } -void Avatar::setTextColor(const QColor &color) +void +Avatar::setTextColor(const QColor &color) { text_color_ = color; } -void Avatar::setBackgroundColor(const QColor &color) +void +Avatar::setBackgroundColor(const QColor &color) { background_color_ = color; } -void Avatar::setSize(int size) +void +Avatar::setSize(int size) { size_ = size; if (!image_.isNull()) { - pixmap_ = QPixmap::fromImage( - image_.scaled(size_, size_, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + pixmap_ = + QPixmap::fromImage(image_.scaled(size_, size_, Qt::KeepAspectRatio, Qt::SmoothTransformation)); } QFont _font(font()); @@ -75,30 +82,33 @@ void Avatar::setSize(int size) update(); } -void Avatar::setLetter(const QChar &letter) +void +Avatar::setLetter(const QChar &letter) { letter_ = letter; type_ = ui::AvatarType::Letter; update(); } -void Avatar::setImage(const QImage &image) +void +Avatar::setImage(const QImage &image) { image_ = image; type_ = ui::AvatarType::Image; - pixmap_ = QPixmap::fromImage( - image_.scaled(size_, size_, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + pixmap_ = QPixmap::fromImage(image_.scaled(size_, size_, Qt::KeepAspectRatio, Qt::SmoothTransformation)); update(); } -void Avatar::setIcon(const QIcon &icon) +void +Avatar::setIcon(const QIcon &icon) { icon_ = icon; type_ = ui::AvatarType::Icon; update(); } -void Avatar::paintEvent(QPaintEvent *) +void +Avatar::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); diff --git a/src/ui/Badge.cc b/src/ui/Badge.cc index c799dbf2..b4a04343 100644 --- a/src/ui/Badge.cc +++ b/src/ui/Badge.cc @@ -3,20 +3,20 @@ #include "Badge.h" Badge::Badge(QWidget *parent) - : OverlayWidget(parent) + : OverlayWidget(parent) { init(); } Badge::Badge(const QIcon &icon, QWidget *parent) - : OverlayWidget(parent) + : OverlayWidget(parent) { init(); setIcon(icon); } Badge::Badge(const QString &text, QWidget *parent) - : OverlayWidget(parent) + : OverlayWidget(parent) { init(); setText(text); @@ -26,7 +26,8 @@ Badge::~Badge() { } -void Badge::init() +void +Badge::init() { x_ = 0; y_ = 0; @@ -44,38 +45,45 @@ void Badge::init() setText(""); } -QString Badge::text() const +QString +Badge::text() const { return text_; } -QIcon Badge::icon() const +QIcon +Badge::icon() const { return icon_; } -QSize Badge::sizeHint() const +QSize +Badge::sizeHint() const { const int d = diameter(); return QSize(d + 4, d + 4); } -qreal Badge::relativeYPosition() const +qreal +Badge::relativeYPosition() const { return y_; } -qreal Badge::relativeXPosition() const +qreal +Badge::relativeXPosition() const { return x_; } -QPointF Badge::relativePosition() const +QPointF +Badge::relativePosition() const { return QPointF(x_, y_); } -QColor Badge::backgroundColor() const +QColor +Badge::backgroundColor() const { if (!background_color_.isValid()) return QColor("black"); @@ -83,7 +91,8 @@ QColor Badge::backgroundColor() const return background_color_; } -QColor Badge::textColor() const +QColor +Badge::textColor() const { if (!text_color_.isValid()) return QColor("white"); @@ -91,47 +100,55 @@ QColor Badge::textColor() const return text_color_; } -void Badge::setTextColor(const QColor &color) +void +Badge::setTextColor(const QColor &color) { text_color_ = color; } -void Badge::setBackgroundColor(const QColor &color) +void +Badge::setBackgroundColor(const QColor &color) { background_color_ = color; } -void Badge::setRelativePosition(const QPointF &pos) +void +Badge::setRelativePosition(const QPointF &pos) { setRelativePosition(pos.x(), pos.y()); } -void Badge::setRelativePosition(qreal x, qreal y) +void +Badge::setRelativePosition(qreal x, qreal y) { x_ = x; y_ = y; update(); } -void Badge::setRelativeXPosition(qreal x) +void +Badge::setRelativeXPosition(qreal x) { x_ = x; update(); } -void Badge::setRelativeYPosition(qreal y) +void +Badge::setRelativeYPosition(qreal y) { y_ = y; update(); } -void Badge::setIcon(const QIcon &icon) +void +Badge::setIcon(const QIcon &icon) { icon_ = icon; update(); } -void Badge::setText(const QString &text) +void +Badge::setText(const QString &text) { text_ = text; @@ -143,7 +160,8 @@ void Badge::setText(const QString &text) update(); } -void Badge::setDiameter(int diameter) +void +Badge::setDiameter(int diameter) { if (diameter > 0) { diameter_ = diameter; @@ -151,7 +169,8 @@ void Badge::setDiameter(int diameter) } } -void Badge::paintEvent(QPaintEvent *) +void +Badge::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); @@ -193,7 +212,8 @@ void Badge::paintEvent(QPaintEvent *) } } -int Badge::diameter() const +int +Badge::diameter() const { if (icon_.isNull()) { return qMax(size_.width(), size_.height()) + padding_; diff --git a/src/ui/CircularProgress.cc b/src/ui/CircularProgress.cc index 50e1dcad..425ece13 100644 --- a/src/ui/CircularProgress.cc +++ b/src/ui/CircularProgress.cc @@ -7,11 +7,11 @@ #include "Theme.h" CircularProgress::CircularProgress(QWidget *parent) - : QProgressBar{parent} - , progress_type_{ui::ProgressType::IndeterminateProgress} - , width_{6.25} - , size_{64} - , duration_{3050} + : QProgressBar{ parent } + , progress_type_{ ui::ProgressType::IndeterminateProgress } + , width_{ 6.25 } + , size_{ 64 } + , duration_{ 3050 } { delegate_ = new CircularProgressDelegate(this); @@ -56,47 +56,55 @@ CircularProgress::CircularProgress(QWidget *parent) group->start(); } -void CircularProgress::setProgressType(ui::ProgressType type) +void +CircularProgress::setProgressType(ui::ProgressType type) { progress_type_ = type; update(); } -void CircularProgress::setLineWidth(qreal width) +void +CircularProgress::setLineWidth(qreal width) { width_ = width; update(); updateGeometry(); } -void CircularProgress::setSize(int size) +void +CircularProgress::setSize(int size) { size_ = size; update(); updateGeometry(); } -ui::ProgressType CircularProgress::progressType() const +ui::ProgressType +CircularProgress::progressType() const { return progress_type_; } -qreal CircularProgress::lineWidth() const +qreal +CircularProgress::lineWidth() const { return width_; } -int CircularProgress::size() const +int +CircularProgress::size() const { return size_; } -void CircularProgress::setColor(const QColor &color) +void +CircularProgress::setColor(const QColor &color) { color_ = color; } -QColor CircularProgress::color() const +QColor +CircularProgress::color() const { if (!color_.isValid()) { return QColor("red"); @@ -105,13 +113,15 @@ QColor CircularProgress::color() const return color_; } -QSize CircularProgress::sizeHint() const +QSize +CircularProgress::sizeHint() const { const qreal s = size_ + width_ + 8; return QSize(s, s); } -void CircularProgress::paintEvent(QPaintEvent *event) +void +CircularProgress::paintEvent(QPaintEvent *event) { Q_UNUSED(event); @@ -177,11 +187,11 @@ CircularProgress::~CircularProgress() } CircularProgressDelegate::CircularProgressDelegate(CircularProgress *parent) - : QObject(parent) - , progress_(parent) - , dash_offset_(0) - , dash_length_(89) - , angle_(0) + : QObject(parent) + , progress_(parent) + , dash_offset_(0) + , dash_length_(89) + , angle_(0) { Q_ASSERT(parent); } diff --git a/src/ui/FlatButton.cc b/src/ui/FlatButton.cc index 7526ba9c..d59fe259 100644 --- a/src/ui/FlatButton.cc +++ b/src/ui/FlatButton.cc @@ -11,7 +11,8 @@ #include "RippleOverlay.h" #include "ThemeManager.h" -void FlatButton::init() +void +FlatButton::init() { ripple_overlay_ = new RippleOverlay(this); state_machine_ = new FlatButtonStateMachine(this); @@ -23,7 +24,7 @@ void FlatButton::init() fixed_ripple_radius_ = 64; corner_radius_ = 3; base_opacity_ = 0.13; - font_size_ = 10; // 10.5; + font_size_ = 10; // 10.5; use_fixed_ripple_radius_ = false; setStyle(&ThemeManager::instance()); @@ -42,21 +43,21 @@ void FlatButton::init() } FlatButton::FlatButton(QWidget *parent, ui::ButtonPreset preset) - : QPushButton(parent) + : QPushButton(parent) { init(); applyPreset(preset); } FlatButton::FlatButton(const QString &text, QWidget *parent, ui::ButtonPreset preset) - : QPushButton(text, parent) + : QPushButton(text, parent) { init(); applyPreset(preset); } FlatButton::FlatButton(const QString &text, ui::Role role, QWidget *parent, ui::ButtonPreset preset) - : QPushButton(text, parent) + : QPushButton(text, parent) { init(); applyPreset(preset); @@ -67,7 +68,8 @@ FlatButton::~FlatButton() { } -void FlatButton::applyPreset(ui::ButtonPreset preset) +void +FlatButton::applyPreset(ui::ButtonPreset preset) { switch (preset) { case ui::ButtonPreset::FlatPreset: @@ -82,23 +84,27 @@ void FlatButton::applyPreset(ui::ButtonPreset preset) } } -void FlatButton::setRole(ui::Role role) +void +FlatButton::setRole(ui::Role role) { role_ = role; state_machine_->setupProperties(); } -ui::Role FlatButton::role() const +ui::Role +FlatButton::role() const { return role_; } -void FlatButton::setForegroundColor(const QColor &color) +void +FlatButton::setForegroundColor(const QColor &color) { foreground_color_ = color; } -QColor FlatButton::foregroundColor() const +QColor +FlatButton::foregroundColor() const { if (!foreground_color_.isValid()) { if (bg_mode_ == Qt::OpaqueMode) { @@ -119,12 +125,14 @@ QColor FlatButton::foregroundColor() const return foreground_color_; } -void FlatButton::setBackgroundColor(const QColor &color) +void +FlatButton::setBackgroundColor(const QColor &color) { background_color_ = color; } -QColor FlatButton::backgroundColor() const +QColor +FlatButton::backgroundColor() const { if (!background_color_.isValid()) { switch (role_) { @@ -141,13 +149,15 @@ QColor FlatButton::backgroundColor() const return background_color_; } -void FlatButton::setOverlayColor(const QColor &color) +void +FlatButton::setOverlayColor(const QColor &color) { overlay_color_ = color; setOverlayStyle(ui::OverlayStyle::TintedOverlay); } -QColor FlatButton::overlayColor() const +QColor +FlatButton::overlayColor() const { if (!overlay_color_.isValid()) { return foregroundColor(); @@ -156,12 +166,14 @@ QColor FlatButton::overlayColor() const return overlay_color_; } -void FlatButton::setDisabledForegroundColor(const QColor &color) +void +FlatButton::setDisabledForegroundColor(const QColor &color) { disabled_color_ = color; } -QColor FlatButton::disabledForegroundColor() const +QColor +FlatButton::disabledForegroundColor() const { if (!disabled_color_.isValid()) { return ThemeManager::instance().themeColor("FadedWhite"); @@ -170,12 +182,14 @@ QColor FlatButton::disabledForegroundColor() const return disabled_color_; } -void FlatButton::setDisabledBackgroundColor(const QColor &color) +void +FlatButton::setDisabledBackgroundColor(const QColor &color) { disabled_background_color_ = color; } -QColor FlatButton::disabledBackgroundColor() const +QColor +FlatButton::disabledBackgroundColor() const { if (!disabled_background_color_.isValid()) { return ThemeManager::instance().themeColor("FadedWhite"); @@ -184,7 +198,8 @@ QColor FlatButton::disabledBackgroundColor() const return disabled_background_color_; } -void FlatButton::setFontSize(qreal size) +void +FlatButton::setFontSize(qreal size) { font_size_ = size; @@ -195,78 +210,92 @@ void FlatButton::setFontSize(qreal size) update(); } -qreal FlatButton::fontSize() const +qreal +FlatButton::fontSize() const { return font_size_; } -void FlatButton::setOverlayStyle(ui::OverlayStyle style) +void +FlatButton::setOverlayStyle(ui::OverlayStyle style) { overlay_style_ = style; update(); } -ui::OverlayStyle FlatButton::overlayStyle() const +ui::OverlayStyle +FlatButton::overlayStyle() const { return overlay_style_; } -void FlatButton::setRippleStyle(ui::RippleStyle style) +void +FlatButton::setRippleStyle(ui::RippleStyle style) { ripple_style_ = style; } -ui::RippleStyle FlatButton::rippleStyle() const +ui::RippleStyle +FlatButton::rippleStyle() const { return ripple_style_; } -void FlatButton::setIconPlacement(ui::ButtonIconPlacement placement) +void +FlatButton::setIconPlacement(ui::ButtonIconPlacement placement) { icon_placement_ = placement; update(); } -ui::ButtonIconPlacement FlatButton::iconPlacement() const +ui::ButtonIconPlacement +FlatButton::iconPlacement() const { return icon_placement_; } -void FlatButton::setCornerRadius(qreal radius) +void +FlatButton::setCornerRadius(qreal radius) { corner_radius_ = radius; updateClipPath(); update(); } -qreal FlatButton::cornerRadius() const +qreal +FlatButton::cornerRadius() const { return corner_radius_; } -void FlatButton::setBackgroundMode(Qt::BGMode mode) +void +FlatButton::setBackgroundMode(Qt::BGMode mode) { bg_mode_ = mode; state_machine_->setupProperties(); } -Qt::BGMode FlatButton::backgroundMode() const +Qt::BGMode +FlatButton::backgroundMode() const { return bg_mode_; } -void FlatButton::setBaseOpacity(qreal opacity) +void +FlatButton::setBaseOpacity(qreal opacity) { base_opacity_ = opacity; state_machine_->setupProperties(); } -qreal FlatButton::baseOpacity() const +qreal +FlatButton::baseOpacity() const { return base_opacity_; } -void FlatButton::setCheckable(bool value) +void +FlatButton::setCheckable(bool value) { state_machine_->updateCheckedStatus(); state_machine_->setCheckedOverlayProgress(0); @@ -274,23 +303,27 @@ void FlatButton::setCheckable(bool value) QPushButton::setCheckable(value); } -void FlatButton::setHasFixedRippleRadius(bool value) +void +FlatButton::setHasFixedRippleRadius(bool value) { use_fixed_ripple_radius_ = value; } -bool FlatButton::hasFixedRippleRadius() const +bool +FlatButton::hasFixedRippleRadius() const { return use_fixed_ripple_radius_; } -void FlatButton::setFixedRippleRadius(qreal radius) +void +FlatButton::setFixedRippleRadius(qreal radius) { fixed_ripple_radius_ = radius; setHasFixedRippleRadius(true); } -QSize FlatButton::sizeHint() const +QSize +FlatButton::sizeHint() const { ensurePolished(); @@ -307,13 +340,15 @@ QSize FlatButton::sizeHint() const return QSize(w, 20 + h); } -void FlatButton::checkStateSet() +void +FlatButton::checkStateSet() { state_machine_->updateCheckedStatus(); QPushButton::checkStateSet(); } -void FlatButton::mousePressEvent(QMouseEvent *event) +void +FlatButton::mousePressEvent(QMouseEvent *event) { if (ui::RippleStyle::NoRipple != ripple_style_) { QPoint pos; @@ -345,19 +380,22 @@ void FlatButton::mousePressEvent(QMouseEvent *event) QPushButton::mousePressEvent(event); } -void FlatButton::mouseReleaseEvent(QMouseEvent *event) +void +FlatButton::mouseReleaseEvent(QMouseEvent *event) { QPushButton::mouseReleaseEvent(event); state_machine_->updateCheckedStatus(); } -void FlatButton::resizeEvent(QResizeEvent *event) +void +FlatButton::resizeEvent(QResizeEvent *event) { QPushButton::resizeEvent(event); updateClipPath(); } -void FlatButton::paintEvent(QPaintEvent *event) +void +FlatButton::paintEvent(QPaintEvent *event) { Q_UNUSED(event) @@ -382,7 +420,8 @@ void FlatButton::paintEvent(QPaintEvent *event) paintForeground(&painter); } -void FlatButton::paintBackground(QPainter *painter) +void +FlatButton::paintBackground(QPainter *painter) { const qreal overlayOpacity = state_machine_->overlayOpacity(); const qreal checkedProgress = state_machine_->checkedOverlayProgress(); @@ -436,7 +475,8 @@ void FlatButton::paintBackground(QPainter *painter) #define COLOR_INTERPOLATE(CH) (1 - progress) * source.CH() + progress *dest.CH() -void FlatButton::paintForeground(QPainter *painter) +void +FlatButton::paintForeground(QPainter *painter) { if (isEnabled()) { painter->setPen(foregroundColor()); @@ -444,8 +484,7 @@ void FlatButton::paintForeground(QPainter *painter) if (isCheckable() && progress > 0) { QColor source = foregroundColor(); - QColor dest = Qt::TransparentMode == bg_mode_ ? Qt::white - : backgroundColor(); + QColor dest = Qt::TransparentMode == bg_mode_ ? Qt::white : backgroundColor(); if (qFuzzyCompare(1, progress)) { painter->setPen(dest); } else { @@ -488,7 +527,8 @@ void FlatButton::paintForeground(QPainter *painter) painter->drawPixmap(iconGeometry, pixmap); } -void FlatButton::updateClipPath() +void +FlatButton::updateClipPath() { const qreal radius = corner_radius_; @@ -498,21 +538,21 @@ void FlatButton::updateClipPath() } FlatButtonStateMachine::FlatButtonStateMachine(FlatButton *parent) - : QStateMachine(parent) - , button_(parent) - , top_level_state_(new QState(QState::ParallelStates)) - , config_state_(new QState(top_level_state_)) - , checkable_state_(new QState(top_level_state_)) - , checked_state_(new QState(checkable_state_)) - , unchecked_state_(new QState(checkable_state_)) - , neutral_state_(new QState(config_state_)) - , neutral_focused_state_(new QState(config_state_)) - , hovered_state_(new QState(config_state_)) - , hovered_focused_state_(new QState(config_state_)) - , pressed_state_(new QState(config_state_)) - , overlay_opacity_(0) - , checked_overlay_progress_(parent->isChecked() ? 1 : 0) - , was_checked_(false) + : QStateMachine(parent) + , button_(parent) + , top_level_state_(new QState(QState::ParallelStates)) + , config_state_(new QState(top_level_state_)) + , checkable_state_(new QState(top_level_state_)) + , checked_state_(new QState(checkable_state_)) + , unchecked_state_(new QState(checkable_state_)) + , neutral_state_(new QState(config_state_)) + , neutral_focused_state_(new QState(config_state_)) + , hovered_state_(new QState(config_state_)) + , hovered_focused_state_(new QState(config_state_)) + , pressed_state_(new QState(config_state_)) + , overlay_opacity_(0) + , checked_overlay_progress_(parent->isChecked() ? 1 : 0) + , was_checked_(false) { Q_ASSERT(parent); @@ -522,8 +562,7 @@ FlatButtonStateMachine::FlatButtonStateMachine(FlatButton *parent) addState(top_level_state_); setInitialState(top_level_state_); - checkable_state_->setInitialState(parent->isChecked() ? checked_state_ - : unchecked_state_); + checkable_state_->setInitialState(parent->isChecked() ? checked_state_ : unchecked_state_); QSignalTransition *transition; QPropertyAnimation *animation; @@ -560,24 +599,28 @@ FlatButtonStateMachine::~FlatButtonStateMachine() { } -void FlatButtonStateMachine::setOverlayOpacity(qreal opacity) +void +FlatButtonStateMachine::setOverlayOpacity(qreal opacity) { overlay_opacity_ = opacity; button_->update(); } -void FlatButtonStateMachine::setCheckedOverlayProgress(qreal opacity) +void +FlatButtonStateMachine::setCheckedOverlayProgress(qreal opacity) { checked_overlay_progress_ = opacity; button_->update(); } -void FlatButtonStateMachine::startAnimations() +void +FlatButtonStateMachine::startAnimations() { start(); } -void FlatButtonStateMachine::setupProperties() +void +FlatButtonStateMachine::setupProperties() { QColor overlayColor; @@ -600,7 +643,8 @@ void FlatButtonStateMachine::setupProperties() button_->update(); } -void FlatButtonStateMachine::updateCheckedStatus() +void +FlatButtonStateMachine::updateCheckedStatus() { const bool checked = button_->isChecked(); if (was_checked_ != checked) { @@ -613,8 +657,8 @@ void FlatButtonStateMachine::updateCheckedStatus() } } -bool FlatButtonStateMachine::eventFilter(QObject *watched, - QEvent *event) +bool +FlatButtonStateMachine::eventFilter(QObject *watched, QEvent *event) { if (QEvent::FocusIn == event->type()) { QFocusEvent *focusEvent = static_cast(event); @@ -627,25 +671,20 @@ bool FlatButtonStateMachine::eventFilter(QObject *watched, return QStateMachine::eventFilter(watched, event); } -void FlatButtonStateMachine::addTransition(QObject *object, - const char *signal, - QState *fromState, - QState *toState) +void +FlatButtonStateMachine::addTransition(QObject *object, const char *signal, QState *fromState, QState *toState) { addTransition(new QSignalTransition(object, signal), fromState, toState); } -void FlatButtonStateMachine::addTransition(QObject *object, - QEvent::Type eventType, - QState *fromState, - QState *toState) +void +FlatButtonStateMachine::addTransition(QObject *object, QEvent::Type eventType, QState *fromState, QState *toState) { addTransition(new QEventTransition(object, eventType), fromState, toState); } -void FlatButtonStateMachine::addTransition(QAbstractTransition *transition, - QState *fromState, - QState *toState) +void +FlatButtonStateMachine::addTransition(QAbstractTransition *transition, QState *fromState, QState *toState) { transition->setTargetState(toState); diff --git a/src/ui/OverlayModal.cc b/src/ui/OverlayModal.cc index 7af29268..9bce351b 100644 --- a/src/ui/OverlayModal.cc +++ b/src/ui/OverlayModal.cc @@ -22,9 +22,9 @@ #include "OverlayModal.h" OverlayModal::OverlayModal(QWidget *parent, QWidget *content) - : OverlayWidget(parent) - , duration_{500} - , color_{QColor(55, 55, 55)} + : OverlayWidget(parent) + , duration_{ 500 } + , color_{ QColor(55, 55, 55) } { setAttribute(Qt::WA_TranslucentBackground); @@ -50,7 +50,8 @@ OverlayModal::OverlayModal(QWidget *parent, QWidget *content) }); } -void OverlayModal::paintEvent(QPaintEvent *event) +void +OverlayModal::paintEvent(QPaintEvent *event) { Q_UNUSED(event); @@ -58,14 +59,16 @@ void OverlayModal::paintEvent(QPaintEvent *event) painter.fillRect(rect(), color_); } -void OverlayModal::fadeIn() +void +OverlayModal::fadeIn() { animation_->setDirection(QAbstractAnimation::Backward); animation_->start(); show(); } -void OverlayModal::fadeOut() +void +OverlayModal::fadeOut() { animation_->setDirection(QAbstractAnimation::Forward); animation_->start(); diff --git a/src/ui/OverlayWidget.cc b/src/ui/OverlayWidget.cc index d7e6337b..ab394966 100644 --- a/src/ui/OverlayWidget.cc +++ b/src/ui/OverlayWidget.cc @@ -2,7 +2,7 @@ #include OverlayWidget::OverlayWidget(QWidget *parent) - : QWidget(parent) + : QWidget(parent) { if (parent) { parent->installEventFilter(this); @@ -11,7 +11,8 @@ OverlayWidget::OverlayWidget(QWidget *parent) } } -bool OverlayWidget::event(QEvent *event) +bool +OverlayWidget::event(QEvent *event) { if (!parent()) return QWidget::event(event); @@ -33,7 +34,8 @@ bool OverlayWidget::event(QEvent *event) return QWidget::event(event); } -bool OverlayWidget::eventFilter(QObject *obj, QEvent *event) +bool +OverlayWidget::eventFilter(QObject *obj, QEvent *event) { switch (event->type()) { case QEvent::Move: @@ -47,7 +49,8 @@ bool OverlayWidget::eventFilter(QObject *obj, QEvent *event) return QWidget::eventFilter(obj, event); } -QRect OverlayWidget::overlayGeometry() const +QRect +OverlayWidget::overlayGeometry() const { QWidget *widget = parentWidget(); diff --git a/src/ui/RaisedButton.cc b/src/ui/RaisedButton.cc index 52d74db6..f3bdb7c9 100644 --- a/src/ui/RaisedButton.cc +++ b/src/ui/RaisedButton.cc @@ -3,7 +3,8 @@ #include "RaisedButton.h" -void RaisedButton::init() +void +RaisedButton::init() { shadow_state_machine_ = new QStateMachine(this); normal_state_ = new QState; @@ -57,13 +58,13 @@ void RaisedButton::init() } RaisedButton::RaisedButton(QWidget *parent) - : FlatButton(parent) + : FlatButton(parent) { init(); } RaisedButton::RaisedButton(const QString &text, QWidget *parent) - : FlatButton(parent) + : FlatButton(parent) { init(); setText(text); @@ -73,7 +74,8 @@ RaisedButton::~RaisedButton() { } -bool RaisedButton::event(QEvent *event) +bool +RaisedButton::event(QEvent *event) { if (QEvent::EnabledChange == event->type()) { if (isEnabled()) { diff --git a/src/ui/Ripple.cc b/src/ui/Ripple.cc index 107bfd7f..636b45d1 100644 --- a/src/ui/Ripple.cc +++ b/src/ui/Ripple.cc @@ -2,25 +2,25 @@ #include "RippleOverlay.h" Ripple::Ripple(const QPoint ¢er, QObject *parent) - : QParallelAnimationGroup(parent) - , overlay_(0) - , radius_anim_(animate("radius")) - , opacity_anim_(animate("opacity")) - , radius_(0) - , opacity_(0) - , center_(center) + : QParallelAnimationGroup(parent) + , overlay_(0) + , radius_anim_(animate("radius")) + , opacity_anim_(animate("opacity")) + , radius_(0) + , opacity_(0) + , center_(center) { init(); } Ripple::Ripple(const QPoint ¢er, RippleOverlay *overlay, QObject *parent) - : QParallelAnimationGroup(parent) - , overlay_(overlay) - , radius_anim_(animate("radius")) - , opacity_anim_(animate("opacity")) - , radius_(0) - , opacity_(0) - , center_(center) + : QParallelAnimationGroup(parent) + , overlay_(overlay) + , radius_anim_(animate("radius")) + , opacity_anim_(animate("opacity")) + , radius_(0) + , opacity_(0) + , center_(center) { init(); } @@ -29,7 +29,8 @@ Ripple::~Ripple() { } -void Ripple::setRadius(qreal radius) +void +Ripple::setRadius(qreal radius) { Q_ASSERT(overlay_); @@ -40,7 +41,8 @@ void Ripple::setRadius(qreal radius) overlay_->update(); } -void Ripple::setOpacity(qreal opacity) +void +Ripple::setOpacity(qreal opacity) { Q_ASSERT(overlay_); @@ -51,7 +53,8 @@ void Ripple::setOpacity(qreal opacity) overlay_->update(); } -void Ripple::setColor(const QColor &color) +void +Ripple::setColor(const QColor &color) { if (brush_.color() == color) return; @@ -62,7 +65,8 @@ void Ripple::setColor(const QColor &color) overlay_->update(); } -void Ripple::setBrush(const QBrush &brush) +void +Ripple::setBrush(const QBrush &brush) { brush_ = brush; @@ -70,16 +74,16 @@ void Ripple::setBrush(const QBrush &brush) overlay_->update(); } -void Ripple::destroy() +void +Ripple::destroy() { Q_ASSERT(overlay_); overlay_->removeRipple(this); } -QPropertyAnimation *Ripple::animate(const QByteArray &property, - const QEasingCurve &easing, - int duration) +QPropertyAnimation * +Ripple::animate(const QByteArray &property, const QEasingCurve &easing, int duration) { QPropertyAnimation *animation = new QPropertyAnimation; animation->setTargetObject(this); @@ -92,7 +96,8 @@ QPropertyAnimation *Ripple::animate(const QByteArray &property, return animation; } -void Ripple::init() +void +Ripple::init() { setOpacityStartValue(0.5); setOpacityEndValue(0); diff --git a/src/ui/RippleOverlay.cc b/src/ui/RippleOverlay.cc index add030d9..be070355 100644 --- a/src/ui/RippleOverlay.cc +++ b/src/ui/RippleOverlay.cc @@ -4,8 +4,8 @@ #include "RippleOverlay.h" RippleOverlay::RippleOverlay(QWidget *parent) - : OverlayWidget(parent) - , use_clip_(false) + : OverlayWidget(parent) + , use_clip_(false) { setAttribute(Qt::WA_TransparentForMouseEvents); setAttribute(Qt::WA_NoSystemBackground); @@ -15,27 +15,31 @@ RippleOverlay::~RippleOverlay() { } -void RippleOverlay::addRipple(Ripple *ripple) +void +RippleOverlay::addRipple(Ripple *ripple) { ripple->setOverlay(this); ripples_.push_back(ripple); ripple->start(); } -void RippleOverlay::addRipple(const QPoint &position, qreal radius) +void +RippleOverlay::addRipple(const QPoint &position, qreal radius) { Ripple *ripple = new Ripple(position); ripple->setRadiusEndValue(radius); addRipple(ripple); } -void RippleOverlay::removeRipple(Ripple *ripple) +void +RippleOverlay::removeRipple(Ripple *ripple) { if (ripples_.removeOne(ripple)) delete ripple; } -void RippleOverlay::paintEvent(QPaintEvent *event) +void +RippleOverlay::paintEvent(QPaintEvent *event) { Q_UNUSED(event) @@ -50,7 +54,8 @@ void RippleOverlay::paintEvent(QPaintEvent *event) paintRipple(&painter, *it); } -void RippleOverlay::paintRipple(QPainter *painter, Ripple *ripple) +void +RippleOverlay::paintRipple(QPainter *painter, Ripple *ripple) { const qreal radius = ripple->radius(); const QPointF center = ripple->center(); diff --git a/src/ui/ScrollBar.cc b/src/ui/ScrollBar.cc index 300b9a04..73cdf2ba 100644 --- a/src/ui/ScrollBar.cc +++ b/src/ui/ScrollBar.cc @@ -22,8 +22,8 @@ #include "ScrollBar.h" ScrollBar::ScrollBar(QScrollArea *area, QWidget *parent) - : QScrollBar(parent) - , area_{area} + : QScrollBar(parent) + , area_{ area } { hideTimer_.setSingleShot(true); @@ -33,7 +33,8 @@ ScrollBar::ScrollBar(QScrollArea *area, QWidget *parent) setGraphicsEffect(eff); } -void ScrollBar::fadeOut() +void +ScrollBar::fadeOut() { isActive = false; @@ -45,7 +46,8 @@ void ScrollBar::fadeOut() anim->start(QPropertyAnimation::DeleteWhenStopped); } -void ScrollBar::fadeIn() +void +ScrollBar::fadeIn() { QPropertyAnimation *anim = new QPropertyAnimation(eff, "opacity"); anim->setDuration(AnimationDuration); @@ -55,7 +57,8 @@ void ScrollBar::fadeIn() anim->start(QPropertyAnimation::DeleteWhenStopped); } -void ScrollBar::sliderChange(SliderChange change) +void +ScrollBar::sliderChange(SliderChange change) { if (!isActive) fadeIn(); @@ -67,7 +70,8 @@ void ScrollBar::sliderChange(SliderChange change) QScrollBar::sliderChange(change); } -void ScrollBar::paintEvent(QPaintEvent *) +void +ScrollBar::paintEvent(QPaintEvent *) { if (!width() && !height()) { hide(); diff --git a/src/ui/TextField.cc b/src/ui/TextField.cc index ca2c3c11..2d529326 100644 --- a/src/ui/TextField.cc +++ b/src/ui/TextField.cc @@ -8,7 +8,7 @@ #include TextField::TextField(QWidget *parent) - : QLineEdit(parent) + : QLineEdit(parent) { // Get rid of the focus border on macOS. setAttribute(Qt::WA_MacShowFocusRect, 0); @@ -36,17 +36,20 @@ TextField::~TextField() { } -void TextField::setBackgroundColor(const QColor &color) +void +TextField::setBackgroundColor(const QColor &color) { background_color_ = color; } -QColor TextField::backgroundColor() const +QColor +TextField::backgroundColor() const { return background_color_; } -void TextField::setShowLabel(bool value) +void +TextField::setShowLabel(bool value) { if (show_label_ == value) { return; @@ -66,12 +69,14 @@ void TextField::setShowLabel(bool value) } } -bool TextField::hasLabel() const +bool +TextField::hasLabel() const { return show_label_; } -void TextField::setLabelFontSize(qreal size) +void +TextField::setLabelFontSize(qreal size) { label_font_size_ = size; @@ -83,30 +88,35 @@ void TextField::setLabelFontSize(qreal size) } } -qreal TextField::labelFontSize() const +qreal +TextField::labelFontSize() const { return label_font_size_; } -void TextField::setLabel(const QString &label) +void +TextField::setLabel(const QString &label) { label_text_ = label; setShowLabel(true); label_->update(); } -QString TextField::label() const +QString +TextField::label() const { return label_text_; } -void TextField::setTextColor(const QColor &color) +void +TextField::setTextColor(const QColor &color) { text_color_ = color; setStyleSheet(QString("QLineEdit { color: %1; }").arg(color.name())); } -QColor TextField::textColor() const +QColor +TextField::textColor() const { if (!text_color_.isValid()) { return QColor("black"); @@ -115,26 +125,30 @@ QColor TextField::textColor() const return text_color_; } -void TextField::setLabelColor(const QColor &color) +void +TextField::setLabelColor(const QColor &color) { label_color_ = color; } -QColor TextField::labelColor() const +QColor +TextField::labelColor() const { if (!label_color_.isValid()) { - return QColor("#abb"); // TODO: Move this into Theme.h + return QColor("#abb"); // TODO: Move this into Theme.h } return label_color_; } -void TextField::setInkColor(const QColor &color) +void +TextField::setInkColor(const QColor &color) { ink_color_ = color; } -QColor TextField::inkColor() const +QColor +TextField::inkColor() const { if (!ink_color_.isValid()) { return QColor("black"); @@ -143,12 +157,14 @@ QColor TextField::inkColor() const return ink_color_; } -void TextField::setUnderlineColor(const QColor &color) +void +TextField::setUnderlineColor(const QColor &color) { underline_color_ = color; } -QColor TextField::underlineColor() const +QColor +TextField::underlineColor() const { if (!underline_color_.isValid()) { return QColor("black"); @@ -157,7 +173,8 @@ QColor TextField::underlineColor() const return underline_color_; } -bool TextField::event(QEvent *event) +bool +TextField::event(QEvent *event) { switch (event->type()) { case QEvent::Resize: @@ -173,7 +190,8 @@ bool TextField::event(QEvent *event) return QLineEdit::event(event); } -void TextField::paintEvent(QPaintEvent *event) +void +TextField::paintEvent(QPaintEvent *event) { QLineEdit::paintEvent(event); @@ -181,7 +199,7 @@ void TextField::paintEvent(QPaintEvent *event) if (text().isEmpty()) { painter.setOpacity(1 - state_machine_->progress()); - //painter.fillRect(rect(), parentWidget()->palette().color(backgroundRole())); + // painter.fillRect(rect(), parentWidget()->palette().color(backgroundRole())); painter.fillRect(rect(), backgroundColor()); } @@ -210,7 +228,8 @@ void TextField::paintEvent(QPaintEvent *event) } TextFieldStateMachine::TextFieldStateMachine(TextField *parent) - : QStateMachine(parent), text_field_(parent) + : QStateMachine(parent) + , text_field_(parent) { normal_state_ = new QState; focused_state_ = new QState; @@ -258,7 +277,8 @@ TextFieldStateMachine::~TextFieldStateMachine() { } -void TextFieldStateMachine::setLabel(TextFieldLabel *label) +void +TextFieldStateMachine::setLabel(TextFieldLabel *label) { if (label_) { delete label_; @@ -290,7 +310,8 @@ void TextFieldStateMachine::setLabel(TextFieldLabel *label) setupProperties(); } -void TextFieldStateMachine::setupProperties() +void +TextFieldStateMachine::setupProperties() { if (label_) { const int m = text_field_->textMargins().top(); @@ -316,7 +337,8 @@ void TextFieldStateMachine::setupProperties() } TextFieldLabel::TextFieldLabel(TextField *parent) - : QWidget(parent), text_field_(parent) + : QWidget(parent) + , text_field_(parent) { x_ = 0; y_ = 26; @@ -333,7 +355,8 @@ TextFieldLabel::~TextFieldLabel() { } -void TextFieldLabel::paintEvent(QPaintEvent *) +void +TextFieldLabel::paintEvent(QPaintEvent *) { if (!text_field_->hasLabel()) return; diff --git a/src/ui/Theme.cc b/src/ui/Theme.cc index ff32c92d..328bd874 100644 --- a/src/ui/Theme.cc +++ b/src/ui/Theme.cc @@ -3,7 +3,7 @@ #include "Theme.h" Theme::Theme(QObject *parent) - : QObject(parent) + : QObject(parent) { setColor("Black", ui::Color::Black); @@ -26,7 +26,8 @@ Theme::~Theme() { } -QColor Theme::rgba(int r, int g, int b, qreal a) const +QColor +Theme::rgba(int r, int g, int b, qreal a) const { QColor color(r, g, b); color.setAlphaF(a); @@ -34,7 +35,8 @@ QColor Theme::rgba(int r, int g, int b, qreal a) const return color; } -QColor Theme::getColor(const QString &key) const +QColor +Theme::getColor(const QString &key) const { if (!colors_.contains(key)) { qWarning() << "Color with key" << key << "could not be found"; @@ -44,27 +46,23 @@ QColor Theme::getColor(const QString &key) const return colors_.value(key); } -void Theme::setColor(const QString &key, const QColor &color) +void +Theme::setColor(const QString &key, const QColor &color) { colors_.insert(key, color); } -void Theme::setColor(const QString &key, ui::Color color) +void +Theme::setColor(const QString &key, ui::Color color) { static const QColor palette[] = { QColor("#171919"), - QColor("#EBEBEB"), - QColor("#C9C9C9"), - QColor("#929292"), + QColor("#EBEBEB"), QColor("#C9C9C9"), QColor("#929292"), - QColor("#1C3133"), - QColor("#577275"), - QColor("#46A451"), + QColor("#1C3133"), QColor("#577275"), QColor("#46A451"), - QColor("#5D6565"), - QColor("#E22826"), - QColor("#81B3A9"), + QColor("#5D6565"), QColor("#E22826"), QColor("#81B3A9"), rgba(0, 0, 0, 0), }; diff --git a/src/ui/ThemeManager.cc b/src/ui/ThemeManager.cc index 3c8a16ab..021008b1 100644 --- a/src/ui/ThemeManager.cc +++ b/src/ui/ThemeManager.cc @@ -7,13 +7,15 @@ ThemeManager::ThemeManager() setTheme(new Theme); } -void ThemeManager::setTheme(Theme *theme) +void +ThemeManager::setTheme(Theme *theme) { theme_ = theme; theme_->setParent(this); } -QColor ThemeManager::themeColor(const QString &key) const +QColor +ThemeManager::themeColor(const QString &key) const { Q_ASSERT(theme_); return theme_->getColor(key);