diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index 846807a44..5ab8346dd 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -255,5 +255,7 @@ "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", "dummy_last_string": "" } diff --git a/Telegram/SourceFiles/boxes/send_files_box.cpp b/Telegram/SourceFiles/boxes/send_files_box.cpp index 88ac63c91..4638443ff 100644 --- a/Telegram/SourceFiles/boxes/send_files_box.cpp +++ b/Telegram/SourceFiles/boxes/send_files_box.cpp @@ -976,7 +976,8 @@ void SendFilesBox::saveSendWaySettings() { way.setGroupFiles(oldWay.groupFiles()); } if (_list.overrideSendImagesAsPhotos == way.sendImagesAsPhotos() - || _sendImagesAsPhotos->isHidden()) { + || _sendImagesAsPhotos->isHidden() + || !cRememberCompressImages()) { way.setSendImagesAsPhotos(oldWay.sendImagesAsPhotos()); } if (way != oldWay) { diff --git a/Telegram/SourceFiles/kotato/json_settings.cpp b/Telegram/SourceFiles/kotato/json_settings.cpp index 2c68513a8..155fdad56 100644 --- a/Telegram/SourceFiles/kotato/json_settings.cpp +++ b/Telegram/SourceFiles/kotato/json_settings.cpp @@ -397,6 +397,7 @@ QByteArray GenerateSettingsJson(bool areDefault = false) { settings.insert(qsl("forward_grouping_mode"), ForwardGroupingMode()); settings.insert(qsl("forward_force_old_unquoted"), cForwardForceOld()); settings.insert(qsl("disable_chat_themes"), cDisableChatThemes()); + settings.insert(qsl("remember_compress_images"), cRememberCompressImages()); settingsFonts.insert(qsl("size"), cFontSize()); settingsFonts.insert(qsl("use_system_font"), cUseSystemFont()); @@ -993,6 +994,9 @@ bool Manager::readCustomFile() { ReadBoolOption(settings, "disable_chat_themes", [&](auto v) { cSetDisableChatThemes(v); }); + ReadBoolOption(settings, "remember_compress_images", [&](auto v) { + cSetRememberCompressImages(v); + }); return true; } diff --git a/Telegram/SourceFiles/kotato/settings.cpp b/Telegram/SourceFiles/kotato/settings.cpp index e073d96f6..1042132e7 100644 --- a/Telegram/SourceFiles/kotato/settings.cpp +++ b/Telegram/SourceFiles/kotato/settings.cpp @@ -295,3 +295,4 @@ rpl::producer ForwardGroupingModeChanges() { bool gForwardForceOld = false; bool gDisableChatThemes = false; +bool gRememberCompressImages = true; diff --git a/Telegram/SourceFiles/kotato/settings.h b/Telegram/SourceFiles/kotato/settings.h index 6d3a82d9d..e10f4217d 100644 --- a/Telegram/SourceFiles/kotato/settings.h +++ b/Telegram/SourceFiles/kotato/settings.h @@ -187,3 +187,4 @@ void SetForwardGroupingMode(int mode); DeclareSetting(bool, ForwardForceOld); DeclareSetting(bool, DisableChatThemes); +DeclareSetting(bool, RememberCompressImages); diff --git a/Telegram/SourceFiles/kotato/settings_menu.cpp b/Telegram/SourceFiles/kotato/settings_menu.cpp index 24bb93c79..6fea785d0 100644 --- a/Telegram/SourceFiles/kotato/settings_menu.cpp +++ b/Telegram/SourceFiles/kotato/settings_menu.cpp @@ -755,6 +755,22 @@ void SetupKotatoOther( }); SettingsMenuCSwitch(ktg_settings_call_confirm, ConfirmBeforeCall); + SettingsMenuCSwitch(ktg_settings_remember_compress_images, RememberCompressImages); + AddButton( + container, + rktr("ktg_settings_compress_images_default"), + st::settingsButton + )->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()); SettingsMenuCSwitch(ktg_settings_ffmpeg_multithread, FFmpegMultithread); AddSkip(container);