From 6d465903121aa0aa683bee3265d5f89393ae91d2 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 28 Feb 2022 20:55:49 +0300 Subject: [PATCH] Added ability to disable context menu for RTMP labels. --- Telegram/SourceFiles/calls/group/calls_group_rtmp.cpp | 10 ++++++++++ Telegram/SourceFiles/calls/group/calls_group_rtmp.h | 1 + .../SourceFiles/calls/group/calls_group_settings.cpp | 1 + 3 files changed, 12 insertions(+) diff --git a/Telegram/SourceFiles/calls/group/calls_group_rtmp.cpp b/Telegram/SourceFiles/calls/group/calls_group_rtmp.cpp index 9128cf1d9c..f9c077eeac 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_rtmp.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_rtmp.cpp @@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "calls/group/calls_group_rtmp.h" #include "apiwrap.h" +#include "base/event_filter.h" #include "calls/group/calls_group_common.h" #include "data/data_peer.h" #include "lang/lang_keys.h" @@ -50,6 +51,7 @@ void StartWithBox( StartRtmpProcess::FillRtmpRows( box->verticalLayout(), true, + false, std::move(showBox), std::move(showToast), std::move(data), @@ -199,6 +201,7 @@ void StartRtmpProcess::createBox() { void StartRtmpProcess::FillRtmpRows( not_null container, bool divider, + bool disabledMenuForLabels, Fn)> showBox, Fn showToast, rpl::producer &&data, @@ -261,6 +264,13 @@ void StartRtmpProcess::FillRtmpRows( st::boxRowPadding); label->setSelectable(true); label->setBreakEverywhere(true); + if (disabledMenuForLabels) { + base::install_event_filter(label, [=](not_null e) { + return (e->type() == QEvent::ContextMenu) + ? base::EventFilterResult::Cancel + : base::EventFilterResult::Continue; + }); + } return label; }; diff --git a/Telegram/SourceFiles/calls/group/calls_group_rtmp.h b/Telegram/SourceFiles/calls/group/calls_group_rtmp.h index 6142361f00..8fb5c91d3c 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_rtmp.h +++ b/Telegram/SourceFiles/calls/group/calls_group_rtmp.h @@ -46,6 +46,7 @@ public: static void FillRtmpRows( not_null container, bool divider, + bool disabledMenuForLabels, Fn)> showBox, Fn showToast, rpl::producer &&data, diff --git a/Telegram/SourceFiles/calls/group/calls_group_settings.cpp b/Telegram/SourceFiles/calls/group/calls_group_settings.cpp index 2931371fd3..0b595db13d 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_settings.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_settings.cpp @@ -702,6 +702,7 @@ void SettingsBox( StartRtmpProcess::FillRtmpRows( box->verticalLayout(), false, + true, [=](object_ptr &&object) { box->getDelegate()->show(std::move(object)); },