From 57c50c865593109c7cd947a42415928d1a54b5f2 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 10 Nov 2022 15:18:42 +0300 Subject: [PATCH] Optimized includes of attach_prepare.h. --- Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp | 1 + Telegram/SourceFiles/data/data_document_media.cpp | 4 +++- .../SourceFiles/history/view/media/history_view_gif.cpp | 4 +++- Telegram/SourceFiles/media/audio/media_audio.cpp | 7 +++++-- Telegram/SourceFiles/media/audio/media_audio.h | 7 +++++-- Telegram/SourceFiles/media/clip/media_clip_reader.cpp | 7 +++++-- Telegram/SourceFiles/media/clip/media_clip_reader.h | 7 +++++-- Telegram/SourceFiles/storage/localimageloader.cpp | 7 +++++-- Telegram/SourceFiles/storage/localimageloader.h | 5 ++++- 9 files changed, 36 insertions(+), 13 deletions(-) diff --git a/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp b/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp index 2c95462ad..3b5c66fd7 100644 --- a/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp +++ b/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp @@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "main/main_session.h" #include "data/data_session.h" #include "data/data_document.h" +#include "ui/chat/attach/attach_prepare.h" #include "ui/image/image_location_factory.h" #include "storage/localimageloader.h" #include "base/unixtime.h" diff --git a/Telegram/SourceFiles/data/data_document_media.cpp b/Telegram/SourceFiles/data/data_document_media.cpp index 89a48d6b0..37ebbf843 100644 --- a/Telegram/SourceFiles/data/data_document_media.cpp +++ b/Telegram/SourceFiles/data/data_document_media.cpp @@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/core_settings.h" #include "core/application.h" #include "storage/file_download.h" +#include "ui/chat/attach/attach_prepare.h" #include "ui/image/image.h" #include @@ -60,7 +61,8 @@ enum class FileType { QByteArray data, FileType type) { if (type == FileType::Video || type == FileType::VideoSticker) { - auto result = ::Media::Clip::PrepareForSending(path, data); + auto result = v::get( + ::Media::Clip::PrepareForSending(path, data).media); if (result.isWebmSticker && type == FileType::Video) { result.thumbnail = Images::Opaque(std::move(result.thumbnail)); } diff --git a/Telegram/SourceFiles/history/view/media/history_view_gif.cpp b/Telegram/SourceFiles/history/view/media/history_view_gif.cpp index 800b514d7..cbe4e4ca0 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_gif.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_gif.cpp @@ -31,6 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "history/view/media/history_view_media_common.h" #include "window/window_session_controller.h" #include "core/application.h" // Application::showDocument. +#include "ui/chat/attach/attach_prepare.h" #include "ui/chat/chat_style.h" #include "ui/image/image.h" #include "ui/text/format_values.h" @@ -730,7 +731,8 @@ void Gif::validateVideoThumbnail() const { if (_videoThumbnailFrame || content.isEmpty()) { return; } - auto info = ::Media::Clip::PrepareForSending(QString(), content); + auto info = v::get( + ::Media::Clip::PrepareForSending(QString(), content).media); _videoThumbnailFrame = std::make_unique(info.thumbnail.isNull() ? Image::BlankMedia()->original() : info.thumbnail); diff --git a/Telegram/SourceFiles/media/audio/media_audio.cpp b/Telegram/SourceFiles/media/audio/media_audio.cpp index 0f82da9b0..f32ffdb93 100644 --- a/Telegram/SourceFiles/media/audio/media_audio.cpp +++ b/Telegram/SourceFiles/media/audio/media_audio.cpp @@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/application.h" #include "core/core_settings.h" #include "main/main_session.h" +#include "ui/chat/attach/attach_prepare.h" #include #include @@ -1718,7 +1719,9 @@ private: namespace Player { -Ui::PreparedFileInformation::Song PrepareForSending(const QString &fname, const QByteArray &data) { +Ui::PreparedFileInformation PrepareForSending( + const QString &fname, + const QByteArray &data) { auto result = Ui::PreparedFileInformation::Song(); FFMpegAttributesReader reader(Core::FileLocation(fname), data); const auto positionMs = crl::time(0); @@ -1728,7 +1731,7 @@ Ui::PreparedFileInformation::Song PrepareForSending(const QString &fname, const result.performer = reader.performer(); result.cover = reader.cover(); } - return result; + return { .media = result }; } } // namespace Player diff --git a/Telegram/SourceFiles/media/audio/media_audio.h b/Telegram/SourceFiles/media/audio/media_audio.h index d1938e7f0..6fe84b987 100644 --- a/Telegram/SourceFiles/media/audio/media_audio.h +++ b/Telegram/SourceFiles/media/audio/media_audio.h @@ -8,7 +8,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #pragma once #include "ui/effects/animation_value.h" -#include "ui/chat/attach/attach_prepare.h" #include "core/file_location.h" #include "data/data_audio_msg_id.h" #include "base/bytes.h" @@ -16,6 +15,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include +namespace Ui { +struct PreparedFileInformation; +} // namespace Ui + namespace Media { struct ExternalSoundData; struct ExternalSoundPart; @@ -369,7 +372,7 @@ private: }; -[[nodiscard]] Ui::PreparedFileInformation::Song PrepareForSending( +[[nodiscard]] Ui::PreparedFileInformation PrepareForSending( const QString &fname, const QByteArray &data); diff --git a/Telegram/SourceFiles/media/clip/media_clip_reader.cpp b/Telegram/SourceFiles/media/clip/media_clip_reader.cpp index fd6934d65..b7c429114 100644 --- a/Telegram/SourceFiles/media/clip/media_clip_reader.cpp +++ b/Telegram/SourceFiles/media/clip/media_clip_reader.cpp @@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "media/clip/media_clip_ffmpeg.h" #include "media/clip/media_clip_check_streaming.h" +#include "ui/chat/attach/attach_prepare.h" #include "ui/painter.h" #include "core/file_location.h" #include "base/random.h" @@ -963,7 +964,9 @@ Manager::~Manager() { clear(); } -Ui::PreparedFileInformation::Video PrepareForSending(const QString &fname, const QByteArray &data) { +Ui::PreparedFileInformation PrepareForSending( + const QString &fname, + const QByteArray &data) { auto result = Ui::PreparedFileInformation::Video(); auto localLocation = Core::FileLocation(fname); auto localData = QByteArray(data); @@ -999,7 +1002,7 @@ Ui::PreparedFileInformation::Video PrepareForSending(const QString &fname, const localData); } } - return result; + return { .media = result }; } void Finish() { diff --git a/Telegram/SourceFiles/media/clip/media_clip_reader.h b/Telegram/SourceFiles/media/clip/media_clip_reader.h index 3096dfd71..faa3f24a1 100644 --- a/Telegram/SourceFiles/media/clip/media_clip_reader.h +++ b/Telegram/SourceFiles/media/clip/media_clip_reader.h @@ -7,12 +7,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once -#include "ui/chat/attach/attach_prepare.h" #include "ui/image/image_prepare.h" #include #include +namespace Ui { +struct PreparedFileInformation; +} // namespace Ui + namespace Core { class FileLocation; } // namespace Core @@ -236,7 +239,7 @@ inline ReaderPointer MakeReader(Args&&... args) { return ReaderPointer(new Reader(std::forward(args)...)); } -[[nodiscard]] Ui::PreparedFileInformation::Video PrepareForSending( +[[nodiscard]] Ui::PreparedFileInformation PrepareForSending( const QString &fname, const QByteArray &data); diff --git a/Telegram/SourceFiles/storage/localimageloader.cpp b/Telegram/SourceFiles/storage/localimageloader.cpp index 33fa80eed..e4a30665e 100644 --- a/Telegram/SourceFiles/storage/localimageloader.cpp +++ b/Telegram/SourceFiles/storage/localimageloader.cpp @@ -27,6 +27,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "boxes/send_files_box.h" #include "boxes/premium_limits_box.h" #include "ui/boxes/confirm_box.h" +#include "ui/chat/attach/attach_prepare.h" #include "ui/image/image_prepare.h" #include "lang/lang_keys.h" #include "storage/file_download.h" @@ -630,7 +631,8 @@ bool FileLoadTask::CheckForSong( return false; } - auto media = Media::Player::PrepareForSending(filepath, content); + auto media = v::get( + Media::Player::PrepareForSending(filepath, content).media); if (media.duration < 0) { return false; } @@ -658,7 +660,8 @@ bool FileLoadTask::CheckForVideo( return false; } - auto media = Media::Clip::PrepareForSending(filepath, content); + auto media = v::get( + Media::Clip::PrepareForSending(filepath, content).media); if (media.duration < 0) { return false; } diff --git a/Telegram/SourceFiles/storage/localimageloader.h b/Telegram/SourceFiles/storage/localimageloader.h index c02b87c7c..d68ee45f9 100644 --- a/Telegram/SourceFiles/storage/localimageloader.h +++ b/Telegram/SourceFiles/storage/localimageloader.h @@ -9,7 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/variant.h" #include "api/api_common.h" -#include "ui/chat/attach/attach_prepare.h" + +namespace Ui { +struct PreparedFileInformation; +} // namespace Ui namespace Main { class Session;