From 190b1c98720b80fa2179ce7832ac618a9bd8d6b3 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 4 Dec 2020 01:28:52 +0300 Subject: [PATCH] Added key filter to calls settings box while shortcut is recording. --- Telegram/SourceFiles/calls/calls_group_settings.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Telegram/SourceFiles/calls/calls_group_settings.cpp b/Telegram/SourceFiles/calls/calls_group_settings.cpp index f1fbd27bbe..8b587409c2 100644 --- a/Telegram/SourceFiles/calls/calls_group_settings.cpp +++ b/Telegram/SourceFiles/calls/calls_group_settings.cpp @@ -15,6 +15,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/wrap/slide_wrap.h" #include "ui/toast/toast.h" #include "lang/lang_keys.h" +#include "base/event_filter.h" #include "base/platform/base_platform_global_shortcuts.h" #include "data/data_channel.h" #include "data/data_group_call.h" @@ -243,6 +244,17 @@ void GroupCallSettingsBox( ) | rpl::start_with_next([=] { call->applyGlobalShortcutChanges(); }, box->lifetime()); + + auto boxKeyFilter = [=](not_null e) { + if (e->type() != QEvent::KeyPress) { + return base::EventFilterResult::Continue; + } + return (state->recording) + ? base::EventFilterResult::Cancel + : base::EventFilterResult::Continue; + }; + box->lifetime().make_state>( + base::install_event_filter(box, std::move(boxKeyFilter))); } AddSkip(layout);