Merge pull request #195 from ilya-fedin/hide-via

This commit is contained in:
Eric Kotato 2021-07-21 15:49:36 +03:00 committed by GitHub
commit a05d5f8c45
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 38 additions and 2 deletions

View file

@ -2948,6 +2948,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"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_hide_via" = "Send inline results without 'via @bot'";
"ktg_user_status_unaccessible" = "account inaccessible";
"ktg_settings_show_json_settings" = "Show settings file";
@ -3118,4 +3120,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"ktg_mute_for_selected_time" = "For selected time";
"ktg_send_hide_via_message" = "Send without 'via @bot'";
// Keys finished

View file

@ -83,6 +83,7 @@
"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_hide_via": "Send inline results without 'via @bot'",
"ktg_settings_adaptive_bubbles": "Adaptive bubbles",
"ktg_settings_disable_sound_from_tray": "Disable sound",
"ktg_settings_enable_sound_from_tray": "Enable sound",
@ -223,5 +224,6 @@
"ktg_filters_hide_edit_toast": "Edit button is hidden.\nYou can enable it back in Kotatogram Settings.",
"ktg_settings_telegram_sites_autologin": "Auto-login on Telegram sites",
"ktg_mute_for_selected_time": "For selected time",
"ktg_send_hide_via_message": "Send without 'via @bot'",
"dummy_last_string": ""
}

View file

@ -83,6 +83,7 @@
"ktg_settings_ffmpeg_multithread_about": "Когда включено, расход ЦП и ОЗУ выше, видео декодируется быстрее. Когда выключено, расход ЦП и ОЗУ меньше, видео декодируется медленнее. Чем больше у вас ядер ЦП, тем больше расход ОЗУ, когда эта опция включена. Можно закрепить используемое число потоков в конфигурационном файле JSON.",
"ktg_settings_external_video_player": "Внешний видеоплеер",
"ktg_settings_external_video_player_about": "Когда эта опция включена, автовоспроизведение принудительно отключено и системный видеоплеер используется для проигрывания видео.",
"ktg_settings_hide_via": "Отправлять результаты ботов без 'через @bot'",
"ktg_settings_adaptive_bubbles": "Адаптивная ширина сообщений",
"ktg_settings_disable_sound_from_tray": "Отключить звук",
"ktg_settings_enable_sound_from_tray": "Включить звук",
@ -223,5 +224,6 @@
"ktg_filters_hide_edit_toast": "Кнопка изменения скрыта.\nВы можете включить её обратно в настройках Kotatogram.",
"ktg_settings_telegram_sites_autologin": "Авто-вход на сайты Telegram",
"ktg_mute_for_selected_time": "На указанное время",
"ktg_send_hide_via_message": "Отправить без \"через @bot\"",
"dummy_last_string": ""
}

View file

@ -16,6 +16,7 @@ struct SendOptions {
bool silent = false;
bool handleSupportSwitch = false;
bool removeWebPageId = false;
bool hideVia = false;
};
enum class SendType {

View file

@ -4862,7 +4862,11 @@ void ApiWrap::sendInlineResult(
sendFlags |= MTPmessages_SendInlineBotResult::Flag::f_silent;
}
if (bot) {
flags |= MTPDmessage::Flag::f_via_bot_id;
if (action.options.hideVia) {
sendFlags |= MTPmessages_SendInlineBotResult::Flag::f_hide_via;
} else {
flags |= MTPDmessage::Flag::f_via_bot_id;
}
}
if (action.options.scheduled) {
flags |= MTPDmessage::Flag::f_from_scheduled;
@ -4885,7 +4889,7 @@ void ApiWrap::sendInlineResult(
newId.msg,
messageFromId,
MTP_int(HistoryItem::NewMessageDate(action.options.scheduled)),
bot ? peerToUser(bot->id) : 0,
bot && !action.options.hideVia ? peerToUser(bot->id) : 0,
action.replyTo,
messagePostAuthor);

View file

@ -449,6 +449,7 @@ void GifsListWidget::selectInlineResult(
forceSend |= (QGuiApplication::keyboardModifiers()
== Qt::ControlModifier);
options.hideVia = true;
auto item = _rows[row].items[column];
if (const auto photo = item->getPhoto()) {
using Data::PhotoSize;

View file

@ -308,6 +308,9 @@ void Inner::contextMenuEvent(QContextMenuEvent *e) {
_menu = base::make_unique_q<Ui::PopupMenu>(this);
const auto send = [=](Api::SendOptions options) {
if (cHideVia()) {
options.hideVia = true;
}
selectInlineResult(row, column, options, false);
};
SendMenu::FillSendMenu(
@ -316,6 +319,10 @@ void Inner::contextMenuEvent(QContextMenuEvent *e) {
SendMenu::DefaultSilentCallback(send),
SendMenu::DefaultScheduleCallback(this, type, send));
_menu->addAction(tr::ktg_send_hide_via_message(tr::now), [=] {
send({ .hideVia = true });
});
auto item = _rows[row].items[column];
if (const auto previewDocument = item->getPreviewDocument()) {
auto callback = [&](const QString &text, Fn<void()> &&done) {

View file

@ -390,6 +390,7 @@ QByteArray GenerateSettingsJson(bool areDefault = false) {
settings.insert(qsl("forward_retain_selection"), cForwardRetainSelection());
settings.insert(qsl("forward_on_click"), cForwardChatOnClick());
settings.insert(qsl("telegram_sites_autologin"), cTelegramSitesAutologin());
settings.insert(qsl("hide_via"), cHideVia());
settingsFonts.insert(qsl("size"), cFontSize());
settingsFonts.insert(qsl("use_system_font"), cUseSystemFont());
@ -971,6 +972,11 @@ bool Manager::readCustomFile() {
ReadBoolOption(settings, "telegram_sites_autologin", [&](auto v) {
cSetTelegramSitesAutologin(v);
});
ReadBoolOption(settings, "hide_via", [&](auto v) {
cSetHideVia(v);
});
return true;
}

View file

@ -267,3 +267,5 @@ bool gAutoScrollUnfocused = false;
LocalFolderVector gLocalFolders;
bool gTelegramSitesAutologin = true;
bool gHideVia = false;

View file

@ -179,3 +179,5 @@ using LocalFolderVector = std::vector<LocalFolder>;
DeclareRefSetting(LocalFolderVector, LocalFolders);
DeclareSetting(bool, TelegramSitesAutologin);
DeclareSetting(bool, HideVia);

View file

@ -682,6 +682,11 @@ void SetupKotatoOther(not_null<Ui::VerticalLayout*> container) {
AddSkip(container);
AddDividerText(container, tr::ktg_settings_external_video_player_about());
AddSkip(container);
SettingsMenuCSwitch(ktg_settings_hide_via, HideVia);
AddSkip(container);
}
Kotato::Kotato(