From 562bdae09f46fd3343322a2f7a93dcebaa796d43 Mon Sep 17 00:00:00 2001 From: apa420 Date: Wed, 10 Apr 2019 15:32:18 +0200 Subject: [PATCH 1/3] Option to hide moderated messages (timed out messages) --- src/messages/layouts/MessageLayout.cpp | 6 +++++- src/singletons/Settings.hpp | 2 ++ src/widgets/settingspages/GeneralPage.cpp | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/messages/layouts/MessageLayout.cpp b/src/messages/layouts/MessageLayout.cpp index e80a1b2c..3dfb0e68 100644 --- a/src/messages/layouts/MessageLayout.cpp +++ b/src/messages/layouts/MessageLayout.cpp @@ -127,7 +127,11 @@ void MessageLayout::actuallyLayout(int width, MessageElementFlags _flags) for (const auto &element : this->message_->elements) { - element->addToContainer(*this->container_, _flags); + if (!(getSettings()->removeModerated && + this->message_->flags.has(MessageFlag::Disabled))) + { + element->addToContainer(*this->container_, _flags); + } } if (addTest) diff --git a/src/singletons/Settings.hpp b/src/singletons/Settings.hpp index 95337419..c041246e 100644 --- a/src/singletons/Settings.hpp +++ b/src/singletons/Settings.hpp @@ -41,6 +41,8 @@ public: BoolSetting separateMessages = {"/appearance/messages/separateMessages", false}; BoolSetting compactEmotes = {"/appearance/messages/compactEmotes", true}; + BoolSetting removeModerated = {"/appearance/messages/removeModerated", + false}; // BoolSetting collapseLongMessages = // {"/appearance/messages/collapseLongMessages", false}; diff --git a/src/widgets/settingspages/GeneralPage.cpp b/src/widgets/settingspages/GeneralPage.cpp index 2d188a60..dc9fc9ad 100644 --- a/src/widgets/settingspages/GeneralPage.cpp +++ b/src/widgets/settingspages/GeneralPage.cpp @@ -210,6 +210,7 @@ void GeneralPage::initLayout(SettingsLayout &layout) layout.addCheckbox("Alternate background color", s.alternateMessages); // layout.addCheckbox("Mark last message you read"); // layout.addDropdown("Last read message style", {"Default"}); + layout.addCheckbox("Remove moderated messages", s.removeModerated); layout.addTitle("Emotes"); layout.addDropdown( From ac9106e2f51f5686c1f9ac7b3fc853f6cdd95f25 Mon Sep 17 00:00:00 2001 From: apa420 Date: Mon, 15 Apr 2019 22:55:10 +0200 Subject: [PATCH 2/3] Will now also remove the messages when the timeout occurs, it's a bad implementation of it though, should be better --- src/providers/twitch/IrcMessageHandler.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/providers/twitch/IrcMessageHandler.cpp b/src/providers/twitch/IrcMessageHandler.cpp index 27df7cb8..f5d8686f 100644 --- a/src/providers/twitch/IrcMessageHandler.cpp +++ b/src/providers/twitch/IrcMessageHandler.cpp @@ -203,6 +203,10 @@ void IrcMessageHandler::handleClearChatMessage(Communi::IrcMessage *message) // refresh all app->windows->repaintVisibleChatWidgets(chan.get()); + if (getSettings()->removeModerated) + { + app->windows->forceLayoutChannelViews(); + } } void IrcMessageHandler::handleUserStateMessage(Communi::IrcMessage *message) From 817c40d7335d564812cd0c79cbe0d46637e75006 Mon Sep 17 00:00:00 2001 From: apa420 Date: Tue, 16 Apr 2019 14:36:15 +0200 Subject: [PATCH 3/3] Added continue for readability and removed to hide moderated messages --- src/messages/layouts/MessageLayout.cpp | 7 ++++--- src/providers/twitch/IrcMessageHandler.cpp | 2 +- src/singletons/Settings.hpp | 3 +-- src/widgets/settingspages/GeneralPage.cpp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/messages/layouts/MessageLayout.cpp b/src/messages/layouts/MessageLayout.cpp index 3dfb0e68..a7ba2675 100644 --- a/src/messages/layouts/MessageLayout.cpp +++ b/src/messages/layouts/MessageLayout.cpp @@ -127,11 +127,12 @@ void MessageLayout::actuallyLayout(int width, MessageElementFlags _flags) for (const auto &element : this->message_->elements) { - if (!(getSettings()->removeModerated && - this->message_->flags.has(MessageFlag::Disabled))) + if (getSettings()->hideModerated && + this->message_->flags.has(MessageFlag::Disabled)) { - element->addToContainer(*this->container_, _flags); + continue; } + element->addToContainer(*this->container_, _flags); } if (addTest) diff --git a/src/providers/twitch/IrcMessageHandler.cpp b/src/providers/twitch/IrcMessageHandler.cpp index f5d8686f..5e15e368 100644 --- a/src/providers/twitch/IrcMessageHandler.cpp +++ b/src/providers/twitch/IrcMessageHandler.cpp @@ -203,7 +203,7 @@ void IrcMessageHandler::handleClearChatMessage(Communi::IrcMessage *message) // refresh all app->windows->repaintVisibleChatWidgets(chan.get()); - if (getSettings()->removeModerated) + if (getSettings()->hideModerated) { app->windows->forceLayoutChannelViews(); } diff --git a/src/singletons/Settings.hpp b/src/singletons/Settings.hpp index c041246e..9dcd9a1b 100644 --- a/src/singletons/Settings.hpp +++ b/src/singletons/Settings.hpp @@ -41,8 +41,7 @@ public: BoolSetting separateMessages = {"/appearance/messages/separateMessages", false}; BoolSetting compactEmotes = {"/appearance/messages/compactEmotes", true}; - BoolSetting removeModerated = {"/appearance/messages/removeModerated", - false}; + BoolSetting hideModerated = {"/appearance/messages/hideModerated", false}; // BoolSetting collapseLongMessages = // {"/appearance/messages/collapseLongMessages", false}; diff --git a/src/widgets/settingspages/GeneralPage.cpp b/src/widgets/settingspages/GeneralPage.cpp index dc9fc9ad..2e6b7b15 100644 --- a/src/widgets/settingspages/GeneralPage.cpp +++ b/src/widgets/settingspages/GeneralPage.cpp @@ -210,7 +210,7 @@ void GeneralPage::initLayout(SettingsLayout &layout) layout.addCheckbox("Alternate background color", s.alternateMessages); // layout.addCheckbox("Mark last message you read"); // layout.addDropdown("Last read message style", {"Default"}); - layout.addCheckbox("Remove moderated messages", s.removeModerated); + layout.addCheckbox("Hide moderated messages", s.hideModerated); layout.addTitle("Emotes"); layout.addDropdown(