[Improvement] Copy bot button callback data

This commit is contained in:
Eric Kotato 2022-09-10 20:24:46 +03:00 committed by Eric Kotato
parent 1a891282d5
commit c34bfab39b
2 changed files with 13 additions and 1 deletions

View file

@ -30,6 +30,7 @@
"ktg_user_status_unaccessible": "account inaccessible",
"ktg_settings_show_json_settings": "Show settings file",
"ktg_settings_restart": "Restart Kotatogram",
"ktg_copy_btn_callback": "Copy callback data",
"ktg_settings_chats": "Chats",
"ktg_settings_sticker_height": "Sticker height: {pixels}px",
"ktg_settings_sticker_scale_both": "Apply to sticker width",

View file

@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "history/history_item_components.h"
#include "kotato/kotato_lang.h"
#include "api/api_text_entities.h"
#include "base/qt/qt_key_modifiers.h"
#include "lang/lang_keys.h"
@ -600,7 +601,14 @@ QString ReplyMarkupClickHandler::copyToClipboardText() const {
QString ReplyMarkupClickHandler::copyToClipboardContextItemText() const {
const auto button = getUrlButton();
return button ? tr::lng_context_copy_link(tr::now) : QString();
using Type = HistoryMessageMarkupButton::Type;
return button
? ((button->type == Type::Url || button->type == Type::Auth)
? tr::lng_context_copy_link(tr::now)
: (button->type == Type::Callback || button->type == Type::CallbackWithPassword)
? ktr("ktg_copy_btn_callback")
: QString())
: QString();
}
// Finds the corresponding button in the items markup struct.
@ -614,10 +622,13 @@ const HistoryMessageMarkupButton *ReplyMarkupClickHandler::getButton() const {
auto ReplyMarkupClickHandler::getUrlButton() const
-> const HistoryMessageMarkupButton* {
if (const auto button = getButton()) {
/*
using Type = HistoryMessageMarkupButton::Type;
if (button->type == Type::Url || button->type == Type::Auth) {
return button;
}
*/
return button;
}
return nullptr;
}