From 5964261db5f99e9037296bcd9c5271223d266238 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sat, 19 Aug 2017 19:46:17 +0300 Subject: [PATCH] Allow to view sticker set from admin event log. --- Telegram/Resources/langs/lang.strings | 3 ++- .../history/history_admin_log_item.cpp | 23 ++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index d207ae021..43fce6c99 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -1413,7 +1413,8 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org "lng_admin_log_banned" = "banned {user}"; "lng_admin_log_restricted" = "changed restrictions for {user} {until}"; "lng_admin_log_promoted" = "changed privileges for {user}"; -"lng_admin_log_changed_stickers_group" = "{from} changed group sticker set"; +"lng_admin_log_changed_stickers_group" = "{from} changed group {sticker_set}"; +"lng_admin_log_changed_stickers_set" = "sticker set"; "lng_admin_log_removed_stickers_group" = "{from} removed group sticker set"; "lng_admin_log_user_with_username" = "{name} ({mention})"; "lng_admin_log_restricted_forever" = "indefinitely"; diff --git a/Telegram/SourceFiles/history/history_admin_log_item.cpp b/Telegram/SourceFiles/history/history_admin_log_item.cpp index 2db8252a4..2586bc8f3 100644 --- a/Telegram/SourceFiles/history/history_admin_log_item.cpp +++ b/Telegram/SourceFiles/history/history_admin_log_item.cpp @@ -24,6 +24,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org #include "history/history_message.h" #include "history/history_admin_log_inner.h" #include "lang/lang_keys.h" +#include "boxes/sticker_set_box.h" #include "messenger.h" namespace AdminLog { @@ -419,9 +420,25 @@ void GenerateItems(not_null history, LocalIdManager &idManager, const }; auto createChangeStickerSet = [&](const MTPDchannelAdminLogEventActionChangeStickerSet &action) { - auto removed = (action.vnew_stickerset.type() == mtpc_inputStickerSetEmpty); - auto text = (removed ? lng_admin_log_removed_stickers_group : lng_admin_log_changed_stickers_group)(lt_from, fromLinkText); - addSimpleServiceMessage(text); + auto set = action.vnew_stickerset; + auto removed = (set.type() == mtpc_inputStickerSetEmpty); + if (removed) { + auto text = lng_admin_log_removed_stickers_group(lt_from, fromLinkText); + addSimpleServiceMessage(text); + } else { + auto text = lng_admin_log_changed_stickers_group( + lt_from, + fromLinkText, + lt_sticker_set, + textcmdLink(2, lang(lng_admin_log_changed_stickers_set))); + auto setLink = MakeShared([set] { + Ui::show(Box(set)); + }); + auto message = HistoryService::PreparedText { text }; + message.links.push_back(fromLink); + message.links.push_back(setLink); + addPart(HistoryService::create(history, idManager.next(), ::date(date), message, 0, peerToUser(from->id))); + } }; switch (action.type()) {