From a9054f9780cfe002a5bac5c158a1a24c85674fb3 Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Sat, 10 Sep 2022 20:09:07 +0300 Subject: [PATCH] [Option][GUI][Conversion] External video player --- Telegram/Resources/langs/rewrites/en.json | 2 ++ .../SourceFiles/kotato/kotato_settings_menu.cpp | 17 +++++++++++++++++ .../SourceFiles/settings/settings_codes.cpp | 11 ----------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index 97bbe6b8c..04deef237 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -70,6 +70,8 @@ "ktg_call_button": "Call", "ktg_settings_ffmpeg_multithread": "Multithread video decoding", "ktg_settings_ffmpeg_multithread_about": "When enabled, CPU and RAM consumption is higher, video decodes faster. When disabled, CPU and RAM consumption is lower, video decodes slower. The more CPU cores you have, the more RAM consumption you have when this option is enabled. You can set exact number of threads in the JSON configuration file.", + "ktg_settings_external_video_player": "External video player", + "ktg_settings_external_video_player_about": "When this option is enabled, autoplay is force-disabled and system video player is used to play videos.", "ktg_settings_adaptive_bubbles": "Adaptive bubbles", "ktg_settings_recent_stickers_limit": { "zero": "Recent stickers: show {count} stickers", diff --git a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp index 38d5c6e87..f0d737d9d 100644 --- a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp +++ b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp @@ -748,6 +748,23 @@ void SetupKotatoOther( AddSkip(container); AddDividerText(container, rktr("ktg_settings_ffmpeg_multithread_about")); AddSkip(container); + + AddButton( + container, + rktr("ktg_settings_external_video_player"), + st::settingsButtonNoIcon + )->toggleOn( + rpl::single(cUseExternalVideoPlayer()) + )->toggledValue( + ) | rpl::filter([](bool enabled) { + return (enabled != cUseExternalVideoPlayer()); + }) | rpl::start_with_next([=](bool enabled) { + cSetUseExternalVideoPlayer(enabled); + controller->session().saveSettingsDelayed(); + }, container->lifetime()); + + AddSkip(container); + AddDividerText(container, rktr("ktg_settings_external_video_player_about")); } Kotato::Kotato( diff --git a/Telegram/SourceFiles/settings/settings_codes.cpp b/Telegram/SourceFiles/settings/settings_codes.cpp index 3786cfeb6..595622299 100644 --- a/Telegram/SourceFiles/settings/settings_codes.cpp +++ b/Telegram/SourceFiles/settings/settings_codes.cpp @@ -118,17 +118,6 @@ auto GenerateCodes() { } }); }); - codes.emplace(qsl("videoplayer"), [](SessionController *window) { - if (!window) { - return; - } - auto text = cUseExternalVideoPlayer() ? qsl("Use internal video player?") : qsl("Use external video player?"); - Ui::show(Ui::MakeConfirmBox({ text, [=] { - cSetUseExternalVideoPlayer(!cUseExternalVideoPlayer()); - window->session().saveSettingsDelayed(); - Ui::hideLayer(); - } })); - }); codes.emplace(qsl("endpoints"), [](SessionController *window) { if (!Core::App().domain().started()) { return;