[Option][GUI] Remember image compression

This commit is contained in:
Eric Kotato 2022-09-10 19:49:31 +03:00 committed by Ilya Fedin
parent dd1aecd2f7
commit 1bf6dfce9b
4 changed files with 24 additions and 1 deletions

View file

@ -144,6 +144,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": ""

View file

@ -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"
@ -1394,7 +1395,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) {

View file

@ -355,6 +355,9 @@ const std::map<QString, Definition, std::greater<QString>> DefinitionMap {
{ "disable_chat_themes", {
.type = SettingType::BoolSetting,
.defaultValue = false, }},
{ "remember_compress_images", {
.type = SettingType::BoolSetting,
.defaultValue = false, }},
};
using OldOptionKey = QString;

View file

@ -543,6 +543,22 @@ void SetupKotatoOther(
}));
});
SettingsMenuJsonSwitch(ktg_settings_remember_compress_images, remember_compress_images);
container->add(object_ptr<Button>(
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);
Ui::AddSkip(container);