From 61761f99fdea798dd867da31488779e86bccc512 Mon Sep 17 00:00:00 2001 From: RadRussianRus Date: Mon, 20 Sep 2021 15:56:58 +0300 Subject: [PATCH] Option to always use old forward method --- Telegram/Resources/langs/rewrites/en.json | 2 ++ Telegram/Resources/langs/rewrites/ru.json | 2 ++ Telegram/SourceFiles/apiwrap.cpp | 3 ++- Telegram/SourceFiles/kotato/json_settings.cpp | 4 ++++ Telegram/SourceFiles/kotato/settings.cpp | 2 ++ Telegram/SourceFiles/kotato/settings.h | 2 ++ Telegram/SourceFiles/kotato/settings_menu.cpp | 6 ++++++ 7 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Telegram/Resources/langs/rewrites/en.json b/Telegram/Resources/langs/rewrites/en.json index 1d869f35d..6554ff55a 100644 --- a/Telegram/Resources/langs/rewrites/en.json +++ b/Telegram/Resources/langs/rewrites/en.json @@ -253,5 +253,7 @@ "ktg_forward_grouping_mode_regroup": "Regroup media", "ktg_forward_grouping_mode_regroup_desc": "Unquoted and uncaptioned only", "ktg_forward_grouping_mode_separate": "Separate", + "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.", "dummy_last_string": "" } diff --git a/Telegram/Resources/langs/rewrites/ru.json b/Telegram/Resources/langs/rewrites/ru.json index 018f72dcb..00ad1df7d 100644 --- a/Telegram/Resources/langs/rewrites/ru.json +++ b/Telegram/Resources/langs/rewrites/ru.json @@ -271,5 +271,7 @@ "ktg_forward_grouping_mode_regroup": "Объединить медиа", "ktg_forward_grouping_mode_regroup_desc": "Только без автора и без подписей", "ktg_forward_grouping_mode_separate": "По отдельности", + "ktg_forward_force_old_unquoted": "Старый метод пересылки без автора", + "ktg_forward_force_old_unquoted_desc": "Старый метод копирует содержимое сообщений на клиенте вместо сервера. Сейчас он используется только в режиме группировки «Объединить медиа», так как новый его не поддерживает. Если по какой-то причине пересылка без автора не работает, попробуйте поменять эту настройку.", "dummy_last_string": "" } diff --git a/Telegram/SourceFiles/apiwrap.cpp b/Telegram/SourceFiles/apiwrap.cpp index 61bda7101..e916f6e5d 100644 --- a/Telegram/SourceFiles/apiwrap.cpp +++ b/Telegram/SourceFiles/apiwrap.cpp @@ -3632,7 +3632,8 @@ void ApiWrap::forwardMessages( const SendAction &action, FnMut &&successCallback) { if (draft.options != Data::ForwardOptions::PreserveInfo - && draft.groupOptions == Data::GroupingOptions::RegroupAll) { + && (draft.groupOptions == Data::GroupingOptions::RegroupAll + || cForwardForceOld())) { forwardMessagesUnquoted(std::move(draft), action, std::move(successCallback)); return; } diff --git a/Telegram/SourceFiles/kotato/json_settings.cpp b/Telegram/SourceFiles/kotato/json_settings.cpp index 479ae83e8..9e4305965 100644 --- a/Telegram/SourceFiles/kotato/json_settings.cpp +++ b/Telegram/SourceFiles/kotato/json_settings.cpp @@ -394,6 +394,7 @@ QByteArray GenerateSettingsJson(bool areDefault = false) { settings.insert(qsl("forward_remember_mode"), cForwardRememberMode()); settings.insert(qsl("forward_mode"), ForwardMode()); settings.insert(qsl("forward_grouping_mode"), ForwardGroupingMode()); + settings.insert(qsl("forward_force_old_unquoted"), cForwardForceOld()); settingsFonts.insert(qsl("size"), cFontSize()); settingsFonts.insert(qsl("use_system_font"), cUseSystemFont()); @@ -988,6 +989,9 @@ bool Manager::readCustomFile() { SetForwardGroupingMode(v); } }); + ReadBoolOption(settings, "forward_force_old_unquoted", [&](auto v) { + cSetForwardForceOld(v); + }); return true; } diff --git a/Telegram/SourceFiles/kotato/settings.cpp b/Telegram/SourceFiles/kotato/settings.cpp index 5bb2895a7..8064ca036 100644 --- a/Telegram/SourceFiles/kotato/settings.cpp +++ b/Telegram/SourceFiles/kotato/settings.cpp @@ -292,3 +292,5 @@ int ForwardGroupingMode() { rpl::producer ForwardGroupingModeChanges() { return gForwardGroupingMode.changes(); } + +bool gForwardForceOld = false; diff --git a/Telegram/SourceFiles/kotato/settings.h b/Telegram/SourceFiles/kotato/settings.h index bff6feb71..f765d14bb 100644 --- a/Telegram/SourceFiles/kotato/settings.h +++ b/Telegram/SourceFiles/kotato/settings.h @@ -184,3 +184,5 @@ void SetForwardMode(int mode); void SetForwardGroupingMode(int mode); [[nodiscard]] int ForwardGroupingMode(); [[nodiscard]] rpl::producer ForwardGroupingModeChanges(); + +DeclareSetting(bool, ForwardForceOld); diff --git a/Telegram/SourceFiles/kotato/settings_menu.cpp b/Telegram/SourceFiles/kotato/settings_menu.cpp index 753a66960..6d020adaa 100644 --- a/Telegram/SourceFiles/kotato/settings_menu.cpp +++ b/Telegram/SourceFiles/kotato/settings_menu.cpp @@ -490,6 +490,12 @@ void SetupKotatoForward(not_null container) { }, false)); }); + SettingsMenuCSwitch(ktg_forward_force_old_unquoted, ForwardForceOld); + + AddSkip(container); + AddDividerText(container, rktr("ktg_forward_force_old_unquoted_desc")); + AddSkip(container); + SettingsMenuCSwitch(ktg_settings_forward_retain_selection, ForwardRetainSelection); SettingsMenuCSwitch(ktg_settings_forward_chat_on_click, ForwardChatOnClick);