From 311e260d658d799899140277d318773ae3a197a2 Mon Sep 17 00:00:00 2001 From: in1tiate <32779090+in1tiate@users.noreply.github.com> Date: Mon, 7 Sep 2020 13:38:10 -0500 Subject: [PATCH 1/2] Add 600ms rate limit to IC signal --- include/courtroom.h | 1 + src/courtroom.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/courtroom.h b/include/courtroom.h index 5b5ff6c..8f5e43a 100644 --- a/include/courtroom.h +++ b/include/courtroom.h @@ -828,6 +828,7 @@ private slots: void on_casing_clicked(); void ping_server(); + void ratelimit_ic(); }; #endif // COURTROOM_H diff --git a/src/courtroom.cpp b/src/courtroom.cpp index 04c625f..c1a306e 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -1525,6 +1525,8 @@ void Courtroom::on_chat_return_pressed() if ((anim_state < 3 || text_state < 2) && objection_state == 0) return; + ui_ic_chat_message->blockSignals(true); + QTimer::singleShot(600, this, SLOT(ratelimit_ic())); // MS# // deskmod# // pre-emote# @@ -4709,6 +4711,10 @@ void Courtroom::announce_case(QString title, bool def, bool pro, bool jud, } } +void Courtroom::ratelimit_ic() { + ui_ic_chat_message->blockSignals(false); +} + Courtroom::~Courtroom() { delete music_player; From 6c2010a1cfcfc4cbf884c68a3c01a67a39f7166d Mon Sep 17 00:00:00 2001 From: in1tiate <32779090+in1tiate@users.noreply.github.com> Date: Mon, 7 Sep 2020 14:53:17 -0500 Subject: [PATCH 2/2] Apply suggested change to remove need for additional function --- include/courtroom.h | 1 - src/courtroom.cpp | 8 +++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/include/courtroom.h b/include/courtroom.h index 8f5e43a..5b5ff6c 100644 --- a/include/courtroom.h +++ b/include/courtroom.h @@ -828,7 +828,6 @@ private slots: void on_casing_clicked(); void ping_server(); - void ratelimit_ic(); }; #endif // COURTROOM_H diff --git a/src/courtroom.cpp b/src/courtroom.cpp index c1a306e..7d6aa40 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -1526,7 +1526,9 @@ void Courtroom::on_chat_return_pressed() return; ui_ic_chat_message->blockSignals(true); - QTimer::singleShot(600, this, SLOT(ratelimit_ic())); + QTimer::singleShot(600, this, [=] { + ui_ic_chat_message->blockSignals(false); + }); // MS# // deskmod# // pre-emote# @@ -4711,10 +4713,6 @@ void Courtroom::announce_case(QString title, bool def, bool pro, bool jud, } } -void Courtroom::ratelimit_ic() { - ui_ic_chat_message->blockSignals(false); -} - Courtroom::~Courtroom() { delete music_player;