From 1169c5e143e452a4584c933776c2a3e0875298e0 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 9 Jun 2022 05:25:29 +0300 Subject: [PATCH] Removed facades from url click handler types. --- .../SourceFiles/core/click_handler_types.cpp | 49 +++++++++++-------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/Telegram/SourceFiles/core/click_handler_types.cpp b/Telegram/SourceFiles/core/click_handler_types.cpp index 3f3b6cab8..38bd8bb5d 100644 --- a/Telegram/SourceFiles/core/click_handler_types.cpp +++ b/Telegram/SourceFiles/core/click_handler_types.cpp @@ -25,8 +25,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "data/data_user.h" #include "data/data_session.h" #include "window/window_session_controller.h" -#include "boxes/abstract_box.h" // Ui::hideLayer(). -#include "facades.h" namespace { @@ -119,15 +117,18 @@ void HiddenUrlClickHandler::Open(QString url, QVariant context) { : parsedUrl.isValid() ? QString::fromUtf8(parsedUrl.toEncoded()) : ShowEncoded(displayed); - Ui::show( - Ui::MakeConfirmBox({ - .text = (tr::lng_open_this_link(tr::now) - + qsl("\n\n") - + displayUrl), - .confirmed = [=] { Ui::hideLayer(); open(); }, - .confirmText = tr::lng_open_link(), - }), - Ui::LayerOption::KeepOther); + const auto my = context.value(); + if (const auto controller = my.sessionWindow.get()) { + controller->show( + Ui::MakeConfirmBox({ + .text = (tr::lng_open_this_link(tr::now) + + qsl("\n\n") + + displayUrl), + .confirmed = [=](Fn hide) { hide(); open(); }, + .confirmText = tr::lng_open_link(), + }), + Ui::LayerOption::KeepOther); + } } else { open(); } @@ -150,16 +151,22 @@ void BotGameUrlClickHandler::onClick(ClickContext context) const { || _bot->session().local().isBotTrustedOpenGame(_bot->id)) { open(); } else { - const auto callback = [=, bot = _bot] { - Ui::hideLayer(); - bot->session().local().markBotTrustedOpenGame(bot->id); - open(); - }; - Ui::show(Ui::MakeConfirmBox({ - .text = tr::lng_allow_bot_pass(tr::now, lt_bot_name, _bot->name), - .confirmed = callback, - .confirmText = tr::lng_allow_bot(), - })); + const auto my = context.other.value(); + if (const auto controller = my.sessionWindow.get()) { + const auto callback = [=, bot = _bot](Fn close) { + close(); + bot->session().local().markBotTrustedOpenGame(bot->id); + open(); + }; + controller->show(Ui::MakeConfirmBox({ + .text = tr::lng_allow_bot_pass( + tr::now, + lt_bot_name, + _bot->name), + .confirmed = callback, + .confirmText = tr::lng_allow_bot(), + })); + } } }