[Option][GUI][Conversion] External video player

This commit is contained in:
Eric Kotato 2022-09-10 20:09:07 +03:00 committed by Eric Kotato
parent e3ca5bb69b
commit a9054f9780
3 changed files with 19 additions and 11 deletions

View file

@ -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",

View file

@ -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(

View file

@ -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;