From 0865776d9a81141b9dff3758d1607da6d82bb46c Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 22 Nov 2023 07:55:58 +0300 Subject: [PATCH] Simplified FileOriginStory. --- Telegram/SourceFiles/apiwrap.cpp | 4 ++-- Telegram/SourceFiles/data/data_file_origin.h | 15 +-------------- Telegram/SourceFiles/data/data_story.cpp | 17 ++++------------- .../dialogs/ui/dialogs_stories_content.cpp | 6 ++---- .../media/stories/media_stories_controller.cpp | 2 +- 5 files changed, 10 insertions(+), 34 deletions(-) diff --git a/Telegram/SourceFiles/apiwrap.cpp b/Telegram/SourceFiles/apiwrap.cpp index 82c8190518..57a8f24183 100644 --- a/Telegram/SourceFiles/apiwrap.cpp +++ b/Telegram/SourceFiles/apiwrap.cpp @@ -2542,8 +2542,8 @@ void ApiWrap::refreshFileReference( request(MTPhelp_GetPremiumPromo()); }, [&](Data::FileOriginStory data) { request(MTPstories_GetStoriesByID( - _session->data().peer(data.peerId)->input, - MTP_vector(1, MTP_int(data.storyId)))); + _session->data().peer(data.peer)->input, + MTP_vector(1, MTP_int(data.story)))); }, [&](v::null_t) { fail(); }); diff --git a/Telegram/SourceFiles/data/data_file_origin.h b/Telegram/SourceFiles/data/data_file_origin.h index b3185d2df4..0e2e5e847a 100644 --- a/Telegram/SourceFiles/data/data_file_origin.h +++ b/Telegram/SourceFiles/data/data_file_origin.h @@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Data { using FileOriginMessage = FullMsgId; +using FileOriginStory = FullStoryId; struct FileOriginUserPhoto { FileOriginUserPhoto(UserId userId, PhotoId photoId) @@ -120,20 +121,6 @@ struct FileOriginPremiumPreviews { } }; -struct FileOriginStory { - FileOriginStory(PeerId peerId, StoryId storyId) - : peerId(peerId) - , storyId(storyId) { - } - - PeerId peerId = 0; - StoryId storyId = 0; - - friend inline auto operator<=>( - FileOriginStory, - FileOriginStory) = default; -}; - struct FileOrigin { using Variant = std::variant< v::null_t, diff --git a/Telegram/SourceFiles/data/data_story.cpp b/Telegram/SourceFiles/data/data_story.cpp index 6aba706b9e..565e0c9049 100644 --- a/Telegram/SourceFiles/data/data_story.cpp +++ b/Telegram/SourceFiles/data/data_story.cpp @@ -139,7 +139,7 @@ StoryPreload::LoadTask::LoadTask( : DownloadMtprotoTask( &document->session().downloader(), document->videoPreloadLocation(), - FileOriginStory(id.peer, id.story)) + id) , _done(std::move(done)) , _full(document->size) { const auto prefix = document->videoPreloadPrefix(); @@ -291,15 +291,9 @@ bool Story::hasReplyPreview() const { Image *Story::replyPreview() const { return v::match(_media.data, [&](not_null photo) { - return photo->getReplyPreview( - Data::FileOriginStory(_peer->id, _id), - _peer, - false); + return photo->getReplyPreview(fullId(), _peer, false); }, [&](not_null document) { - return document->getReplyPreview( - Data::FileOriginStory(_peer->id, _id), - _peer, - false); + return document->getReplyPreview(fullId(), _peer, false); }, [](v::null_t) { return (Image*)nullptr; }); @@ -757,15 +751,12 @@ not_null StoryPreload::story() const { } void StoryPreload::start() { - const auto origin = FileOriginStory( - _story->peer()->id, - _story->id()); if (const auto photo = _story->photo()) { _photo = photo->createMediaView(); if (_photo->loaded()) { callDone(); } else { - _photo->automaticLoad(origin, _story->peer()); + _photo->automaticLoad(_story->fullId(), _story->peer()); photo->session().downloaderTaskFinished( ) | rpl::filter([=] { return _photo->loaded(); diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_stories_content.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_stories_content.cpp index 0b3777d7ab..25f9966209 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_stories_content.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_stories_content.cpp @@ -269,9 +269,7 @@ Main::Session &PhotoThumbnail::session() { StoryThumbnail::Thumb PhotoThumbnail::loaded(FullStoryId id) { if (!_media) { _media = _photo->createMediaView(); - _media->wanted( - Data::PhotoSize::Small, - Data::FileOriginStory(id.peer, id.story)); + _media->wanted(Data::PhotoSize::Small, id); } if (const auto small = _media->image(Data::PhotoSize::Small)) { return { .image = small }; @@ -297,7 +295,7 @@ Main::Session &VideoThumbnail::session() { StoryThumbnail::Thumb VideoThumbnail::loaded(FullStoryId id) { if (!_media) { _media = _video->createMediaView(); - _media->thumbnailWanted(Data::FileOriginStory(id.peer, id.story)); + _media->thumbnailWanted(id); } if (const auto small = _media->thumbnail()) { return { .image = small }; diff --git a/Telegram/SourceFiles/media/stories/media_stories_controller.cpp b/Telegram/SourceFiles/media/stories/media_stories_controller.cpp index f1efa53193..2cda1b1115 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_controller.cpp +++ b/Telegram/SourceFiles/media/stories/media_stories_controller.cpp @@ -578,7 +578,7 @@ bool Controller::closeByClickAt(QPoint position) const { } Data::FileOrigin Controller::fileOrigin() const { - return Data::FileOriginStory(_shown.peer, _shown.story); + return _shown; } TextWithEntities Controller::captionText() const {