diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index d74b30728..9a4bf1191 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -158,6 +158,8 @@ "ktg_forward_force_old_unquoted": "Old unquoted forward method", "ktg_forward_force_old_unquoted_desc": "Old method copies messages content on client rather than server. Currently it's used only for \"Regroup media\" grouping mode, since new one doesn't support it. If for some reason unquoted forward doesn't work correctly, try switching this option.", "ktg_disable_chat_themes": "Disable chat themes", + "ktg_settings_remember_compress_images": "Remember compress images", + "ktg_settings_compress_images_default": "Compress images by default", "ktg_forward_quiz_unquoted": "Sorry, quizzes that are currently open and unvoted on cannot be forwarded unquoted.", "ktg_in_app_update_disabled": "In-app updater is disabled.", "dummy_last_string": "" diff --git a/Telegram/SourceFiles/boxes/send_files_box.cpp b/Telegram/SourceFiles/boxes/send_files_box.cpp index baceecfe5..6004e78bb 100644 --- a/Telegram/SourceFiles/boxes/send_files_box.cpp +++ b/Telegram/SourceFiles/boxes/send_files_box.cpp @@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #include "boxes/send_files_box.h" +#include "kotato/kotato_settings.h" #include "lang/lang_keys.h" #include "storage/localstorage.h" #include "storage/storage_media_prepare.h" @@ -1308,7 +1309,8 @@ void SendFilesBox::saveSendWaySettings() { way.setGroupFiles(oldWay.groupFiles()); } if (_list.overrideSendImagesAsPhotos == way.sendImagesAsPhotos() - || _sendImagesAsPhotos->isHidden()) { + || _sendImagesAsPhotos->isHidden() + || !::Kotato::JsonSettings::GetBool("remember_compress_images")) { way.setSendImagesAsPhotos(oldWay.sendImagesAsPhotos()); } if (way != oldWay) { diff --git a/Telegram/SourceFiles/kotato/kotato_settings.cpp b/Telegram/SourceFiles/kotato/kotato_settings.cpp index 09809911f..5079445a8 100644 --- a/Telegram/SourceFiles/kotato/kotato_settings.cpp +++ b/Telegram/SourceFiles/kotato/kotato_settings.cpp @@ -402,6 +402,9 @@ const std::map> DefinitionMap { { "disable_chat_themes", { .type = SettingType::BoolSetting, .defaultValue = false, }}, + { "remember_compress_images", { + .type = SettingType::BoolSetting, + .defaultValue = false, }}, }; using OldOptionKey = QString; diff --git a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp index ba42c9b21..b13a36e1d 100644 --- a/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp +++ b/Telegram/SourceFiles/kotato/kotato_settings_menu.cpp @@ -594,6 +594,22 @@ void SetupKotatoOther( }); SettingsMenuJsonSwitch(ktg_settings_call_confirm, confirm_before_calls); + SettingsMenuJsonSwitch(ktg_settings_remember_compress_images, remember_compress_images); + AddButton( + container, + rktr("ktg_settings_compress_images_default"), + st::settingsButtonNoIcon + )->toggleOn( + rpl::single(Core::App().settings().sendFilesWay().sendImagesAsPhotos()) + )->toggledValue( + ) | rpl::filter([](bool enabled) { + return (enabled != Core::App().settings().sendFilesWay().sendImagesAsPhotos()); + }) | rpl::start_with_next([](bool enabled) { + auto way = Core::App().settings().sendFilesWay(); + way.setSendImagesAsPhotos(enabled); + Core::App().settings().setSendFilesWay(way); + Core::App().saveSettingsDelayed(); + }, container->lifetime()); SettingsMenuJsonSwitch(ktg_settings_ffmpeg_multithread, ffmpeg_multithread); AddSkip(container);