From 01f8c3b09f3c8429d4559f0752d80681b72b07fe Mon Sep 17 00:00:00 2001 From: Alexey Andreyev Date: Mon, 8 Feb 2021 21:26:58 +0300 Subject: [PATCH] Fancy effects: additional check if enabled everywhere --- imports/NeoChat/Component/ChatTextInput.qml | 4 ++ imports/NeoChat/Page/RoomPage.qml | 2 + src/messageeventmodel.cpp | 58 +++++++++++---------- 3 files changed, 36 insertions(+), 28 deletions(-) diff --git a/imports/NeoChat/Component/ChatTextInput.qml b/imports/NeoChat/Component/ChatTextInput.qml index 0650accb4..536ff8b10 100644 --- a/imports/NeoChat/Component/ChatTextInput.qml +++ b/imports/NeoChat/Component/ChatTextInput.qml @@ -477,6 +477,10 @@ ToolBar { property var userAutocompleted: ({}) function checkForFancyEffectsReason() { + if (!Config.showFancyEffects) { + return + } + var inputFieldText = inputField.text.trim() console.log(inputFieldText) if (inputFieldText.includes('\u{2744}')) { diff --git a/imports/NeoChat/Page/RoomPage.qml b/imports/NeoChat/Page/RoomPage.qml index 4ae340f29..d141bfa86 100644 --- a/imports/NeoChat/Page/RoomPage.qml +++ b/imports/NeoChat/Page/RoomPage.qml @@ -616,6 +616,7 @@ Kirigami.ScrollablePage { } Connections { + enabled: Config.showFancyEffects target: messageEventModel onFancyEffectsReasonFound: { fancyEffectsContainer.processFancyEffectsReason(fancyEffect) @@ -623,6 +624,7 @@ Kirigami.ScrollablePage { } Connections { + enabled: Config.showFancyEffects target: chatTextInput onFancyEffectsReasonFound: { fancyEffectsContainer.processFancyEffectsReason(fancyEffect) diff --git a/src/messageeventmodel.cpp b/src/messageeventmodel.cpp index f48cbdffe..1a2a424e1 100644 --- a/src/messageeventmodel.cpp +++ b/src/messageeventmodel.cpp @@ -99,34 +99,36 @@ void MessageEventModel::setRoom(NeoChatRoom *room) using namespace Quotient; connect(m_currentRoom, &Room::aboutToAddNewMessages, this, [=](RoomEventsRange events) { - for (auto &event : events) { - RoomMessageEvent *message = dynamic_cast(event.get()); - if (message) { - QString planBody = message->plainBody(); - // snowflake - QString snowlakeEmoji = QString::fromUtf8("\xE2\x9D\x84"); - if (planBody.contains(snowlakeEmoji)) { - Q_EMIT fancyEffectsReasonFound(QStringLiteral("snowflake")); - } - // fireworks - QString fireworksEmoji = QString::fromUtf8("\xF0\x9F\x8E\x86"); - if (planBody.contains(fireworksEmoji)) { - Q_EMIT fancyEffectsReasonFound(QStringLiteral("fireworks")); - } - // sparkler - QString sparklerEmoji = QString::fromUtf8("\xF0\x9F\x8E\x87"); - if (planBody.contains(sparklerEmoji)) { - Q_EMIT fancyEffectsReasonFound(QStringLiteral("fireworks")); - } - // party pooper - QString partyEmoji = QString::fromUtf8("\xF0\x9F\x8E\x89"); - if (planBody.contains(partyEmoji)) { - Q_EMIT fancyEffectsReasonFound(QStringLiteral("confetti")); - } - // confetti ball - QString confettiEmoji = QString::fromUtf8("\xF0\x9F\x8E\x8A"); - if (planBody.contains(confettiEmoji)) { - Q_EMIT fancyEffectsReasonFound(QStringLiteral("confetti")); + if (NeoChatConfig::self()->showFancyEffects()) { + for (auto &event : events) { + RoomMessageEvent *message = dynamic_cast(event.get()); + if (message) { + QString planBody = message->plainBody(); + // snowflake + QString snowlakeEmoji = QString::fromUtf8("\xE2\x9D\x84"); + if (planBody.contains(snowlakeEmoji)) { + Q_EMIT fancyEffectsReasonFound(QStringLiteral("snowflake")); + } + // fireworks + QString fireworksEmoji = QString::fromUtf8("\xF0\x9F\x8E\x86"); + if (planBody.contains(fireworksEmoji)) { + Q_EMIT fancyEffectsReasonFound(QStringLiteral("fireworks")); + } + // sparkler + QString sparklerEmoji = QString::fromUtf8("\xF0\x9F\x8E\x87"); + if (planBody.contains(sparklerEmoji)) { + Q_EMIT fancyEffectsReasonFound(QStringLiteral("fireworks")); + } + // party pooper + QString partyEmoji = QString::fromUtf8("\xF0\x9F\x8E\x89"); + if (planBody.contains(partyEmoji)) { + Q_EMIT fancyEffectsReasonFound(QStringLiteral("confetti")); + } + // confetti ball + QString confettiEmoji = QString::fromUtf8("\xF0\x9F\x8E\x8A"); + if (planBody.contains(confettiEmoji)) { + Q_EMIT fancyEffectsReasonFound(QStringLiteral("confetti")); + } } } }