[Improvement] Copy sticker pack title

This commit is contained in:
Eric Kotato 2022-09-10 20:39:51 +03:00 committed by Eric Kotato
parent a7ce31bdf9
commit 35c9a61316
3 changed files with 18 additions and 0 deletions

View file

@ -102,6 +102,8 @@
"ktg_settings_messages": "Messages",
"ktg_settings_filters_hide_all": "Hide \"All chats\" folder",
"ktg_hide_pinned_message": "Hide",
"ktg_stickers_copy_title": "Copy name",
"ktg_stickers_title_copied": "Sticker pack name copied to clipboard.",
"ktg_settings_userpic_rounding": "Profile pictures rounding",
"ktg_settings_userpic_rounding_none": "Square",
"ktg_settings_userpic_rounding_small": "Small",

View file

@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#include "boxes/sticker_set_box.h"
#include "kotato/kotato_lang.h"
#include "data/data_document.h"
#include "data/data_session.h"
#include "data/data_file_origin.h"
@ -482,6 +483,15 @@ void StickerSetBox::copyStickersLink() {
QGuiApplication::clipboard()->setText(url);
}
void StickerSetBox::copyTitle() {
_inner->title(
) | rpl::start_with_next([this](const TextWithEntities &value) {
QGuiApplication::clipboard()->setText(value.text);
_controller->show(
Ui::MakeInformBox(ktr("ktg_stickers_title_copied")));
}, lifetime());
}
void StickerSetBox::handleError(Error error) {
const auto guard = gsl::finally(crl::guard(this, [=] {
closeBox();
@ -651,6 +661,11 @@ bool StickerSetBox::showMenu(not_null<Ui::IconButton*> button) {
});
button->installEventFilter(_menu);
_menu->addAction(
ktr("ktg_stickers_copy_title"),
[=] { copyTitle(); },
&st::menuIconCopy);
if (!_inner->shortName().isEmpty()) {
_menu->addAction(
tr::lng_stickers_share_pack(tr::now),

View file

@ -79,6 +79,7 @@ private:
bool showMenu(not_null<Ui::IconButton*> button);
void addStickers();
void copyStickersLink();
void copyTitle();
void handleError(Error error);
const not_null<Window::SessionController*> _controller;