From 40ff71b2cd3360d0d61aa1a602a045f33c3702d6 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 10 Jan 2024 23:58:01 +0300 Subject: [PATCH] Added delay to button for media replacement in compose control. --- Telegram/SourceFiles/history/history_widget.cpp | 13 ++++++++----- .../controls/history_view_compose_controls.cpp | 14 +++++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Telegram/SourceFiles/history/history_widget.cpp b/Telegram/SourceFiles/history/history_widget.cpp index 7cbe283fe..97c586aed 100644 --- a/Telegram/SourceFiles/history/history_widget.cpp +++ b/Telegram/SourceFiles/history/history_widget.cpp @@ -2600,12 +2600,15 @@ bool HistoryWidget::updateReplaceMediaButton() { return false; } _replaceMedia.create(this, st::historyReplaceMedia); + const auto hideDuration = st::historyReplaceMedia.ripple.hideDuration; _replaceMedia->setClickedCallback([=] { - EditCaptionBox::StartMediaReplace( - controller(), - { _history->peer->id, _editMsgId }, - _field->getTextWithTags(), - crl::guard(_list, [=] { cancelEdit(); })); + base::call_delayed(hideDuration, this, [=] { + EditCaptionBox::StartMediaReplace( + controller(), + { _history->peer->id, _editMsgId }, + _field->getTextWithTags(), + crl::guard(_list, [=] { cancelEdit(); })); + }); }); return true; } diff --git a/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp b/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp index b25be58f9..57cff6c0c 100644 --- a/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp +++ b/Telegram/SourceFiles/history/view/controls/history_view_compose_controls.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "history/view/controls/history_view_compose_controls.h" +#include "base/call_delayed.h" #include "base/event_filter.h" #include "base/platform/base_platform_info.h" #include "base/qt_signal_producer.h" @@ -2692,12 +2693,15 @@ bool ComposeControls::updateReplaceMediaButton() { _replaceMedia = std::make_unique( _wrap.get(), st::historyReplaceMedia); + const auto hideDuration = st::historyReplaceMedia.ripple.hideDuration; _replaceMedia->setClickedCallback([=] { - EditCaptionBox::StartMediaReplace( - _regularWindow, - _editingId, - _field->getTextWithTags(), - crl::guard(_wrap.get(), [=] { cancelEditMessage(); })); + base::call_delayed(hideDuration, _wrap.get(), [=] { + EditCaptionBox::StartMediaReplace( + _regularWindow, + _editingId, + _field->getTextWithTags(), + crl::guard(_wrap.get(), [=] { cancelEditMessage(); })); + }); }); return true; }