diff --git a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp index e93161351..a832e4926 100644 --- a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp +++ b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp @@ -156,6 +156,18 @@ void AddPhotoActions( } } +void SaveGif( + not_null controller, + FullMsgId itemId) { + if (const auto item = controller->session().data().message(itemId)) { + if (const auto media = item->media()) { + if (const auto document = media->document()) { + Api::ToggleSavedGif(document, item->fullId(), true); + } + } + } +} + void OpenGif( not_null controller, FullMsgId itemId) { @@ -227,6 +239,11 @@ void AddDocumentActions( OpenGif(list->controller(), contextId); }); } + if (document->isGifv()) { + menu->addAction(tr::lng_context_save_gif(tr::now), [=] { + SaveGif(list->controller(), contextId); + }); + } } if (document->sticker() && document->sticker()->set) { menu->addAction(