[Improvement] Copy sticker pack title
This commit is contained in:
parent
e15ec01c0d
commit
bcd9678d58
3 changed files with 18 additions and 0 deletions
|
|
@ -82,6 +82,8 @@
|
||||||
"ktg_settings_messages": "Messages",
|
"ktg_settings_messages": "Messages",
|
||||||
"ktg_settings_filters_hide_all": "Hide \"All chats\" folder",
|
"ktg_settings_filters_hide_all": "Hide \"All chats\" folder",
|
||||||
"ktg_hide_pinned_message": "Hide",
|
"ktg_hide_pinned_message": "Hide",
|
||||||
|
"ktg_stickers_copy_title": "Copy name",
|
||||||
|
"ktg_stickers_title_copied": "Sticker pack name copied to clipboard.",
|
||||||
"ktg_settings_tray_icon": "Tray icon",
|
"ktg_settings_tray_icon": "Tray icon",
|
||||||
"ktg_settings_tray_icon_default": "Default",
|
"ktg_settings_tray_icon_default": "Default",
|
||||||
"ktg_settings_tray_icon_blue": "Blue",
|
"ktg_settings_tray_icon_blue": "Blue",
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||||
*/
|
*/
|
||||||
#include "boxes/sticker_set_box.h"
|
#include "boxes/sticker_set_box.h"
|
||||||
|
|
||||||
|
#include "kotato/kotato_lang.h"
|
||||||
#include "data/data_document.h"
|
#include "data/data_document.h"
|
||||||
#include "data/data_session.h"
|
#include "data/data_session.h"
|
||||||
#include "data/data_file_origin.h"
|
#include "data/data_file_origin.h"
|
||||||
|
|
@ -510,6 +511,15 @@ void StickerSetBox::copyStickersLink() {
|
||||||
QGuiApplication::clipboard()->setText(url);
|
QGuiApplication::clipboard()->setText(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void StickerSetBox::copyTitle() {
|
||||||
|
_inner->title(
|
||||||
|
) | rpl::start_with_next([this](const TextWithEntities &value) {
|
||||||
|
QGuiApplication::clipboard()->setText(value.text);
|
||||||
|
_show->showBox(
|
||||||
|
Ui::MakeInformBox(ktr("ktg_stickers_title_copied")));
|
||||||
|
}, lifetime());
|
||||||
|
}
|
||||||
|
|
||||||
void StickerSetBox::handleError(Error error) {
|
void StickerSetBox::handleError(Error error) {
|
||||||
const auto guard = gsl::finally(crl::guard(this, [=] {
|
const auto guard = gsl::finally(crl::guard(this, [=] {
|
||||||
closeBox();
|
closeBox();
|
||||||
|
|
@ -680,6 +690,11 @@ bool StickerSetBox::showMenu(not_null<Ui::IconButton*> button) {
|
||||||
});
|
});
|
||||||
button->installEventFilter(_menu);
|
button->installEventFilter(_menu);
|
||||||
|
|
||||||
|
_menu->addAction(
|
||||||
|
ktr("ktg_stickers_copy_title"),
|
||||||
|
[=] { copyTitle(); },
|
||||||
|
&st::menuIconCopy);
|
||||||
|
|
||||||
if (!_inner->shortName().isEmpty()) {
|
if (!_inner->shortName().isEmpty()) {
|
||||||
_menu->addAction(
|
_menu->addAction(
|
||||||
tr::lng_stickers_share_pack(tr::now),
|
tr::lng_stickers_share_pack(tr::now),
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,7 @@ private:
|
||||||
bool showMenu(not_null<Ui::IconButton*> button);
|
bool showMenu(not_null<Ui::IconButton*> button);
|
||||||
void addStickers();
|
void addStickers();
|
||||||
void copyStickersLink();
|
void copyStickersLink();
|
||||||
|
void copyTitle();
|
||||||
void handleError(Error error);
|
void handleError(Error error);
|
||||||
|
|
||||||
const std::shared_ptr<ChatHelpers::Show> _show;
|
const std::shared_ptr<ChatHelpers::Show> _show;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue