Optimized includes of attach_prepare.h.

This commit is contained in:
23rd 2022-11-10 15:18:42 +03:00 committed by John Preston
parent 8f3c3b2a54
commit 57c50c8655
9 changed files with 36 additions and 13 deletions

View file

@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "main/main_session.h" #include "main/main_session.h"
#include "data/data_session.h" #include "data/data_session.h"
#include "data/data_document.h" #include "data/data_document.h"
#include "ui/chat/attach/attach_prepare.h"
#include "ui/image/image_location_factory.h" #include "ui/image/image_location_factory.h"
#include "storage/localimageloader.h" #include "storage/localimageloader.h"
#include "base/unixtime.h" #include "base/unixtime.h"

View file

@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "core/core_settings.h" #include "core/core_settings.h"
#include "core/application.h" #include "core/application.h"
#include "storage/file_download.h" #include "storage/file_download.h"
#include "ui/chat/attach/attach_prepare.h"
#include "ui/image/image.h" #include "ui/image/image.h"
#include <QtCore/QBuffer> #include <QtCore/QBuffer>
@ -60,7 +61,8 @@ enum class FileType {
QByteArray data, QByteArray data,
FileType type) { FileType type) {
if (type == FileType::Video || type == FileType::VideoSticker) { if (type == FileType::Video || type == FileType::VideoSticker) {
auto result = ::Media::Clip::PrepareForSending(path, data); auto result = v::get<Ui::PreparedFileInformation::Video>(
::Media::Clip::PrepareForSending(path, data).media);
if (result.isWebmSticker && type == FileType::Video) { if (result.isWebmSticker && type == FileType::Video) {
result.thumbnail = Images::Opaque(std::move(result.thumbnail)); result.thumbnail = Images::Opaque(std::move(result.thumbnail));
} }

View file

@ -31,6 +31,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/view/media/history_view_media_common.h" #include "history/view/media/history_view_media_common.h"
#include "window/window_session_controller.h" #include "window/window_session_controller.h"
#include "core/application.h" // Application::showDocument. #include "core/application.h" // Application::showDocument.
#include "ui/chat/attach/attach_prepare.h"
#include "ui/chat/chat_style.h" #include "ui/chat/chat_style.h"
#include "ui/image/image.h" #include "ui/image/image.h"
#include "ui/text/format_values.h" #include "ui/text/format_values.h"
@ -730,7 +731,8 @@ void Gif::validateVideoThumbnail() const {
if (_videoThumbnailFrame || content.isEmpty()) { if (_videoThumbnailFrame || content.isEmpty()) {
return; return;
} }
auto info = ::Media::Clip::PrepareForSending(QString(), content); auto info = v::get<Ui::PreparedFileInformation::Video>(
::Media::Clip::PrepareForSending(QString(), content).media);
_videoThumbnailFrame = std::make_unique<Image>(info.thumbnail.isNull() _videoThumbnailFrame = std::make_unique<Image>(info.thumbnail.isNull()
? Image::BlankMedia()->original() ? Image::BlankMedia()->original()
: info.thumbnail); : info.thumbnail);

View file

@ -21,6 +21,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "core/application.h" #include "core/application.h"
#include "core/core_settings.h" #include "core/core_settings.h"
#include "main/main_session.h" #include "main/main_session.h"
#include "ui/chat/attach/attach_prepare.h"
#include <al.h> #include <al.h>
#include <alc.h> #include <alc.h>
@ -1718,7 +1719,9 @@ private:
namespace Player { 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(); auto result = Ui::PreparedFileInformation::Song();
FFMpegAttributesReader reader(Core::FileLocation(fname), data); FFMpegAttributesReader reader(Core::FileLocation(fname), data);
const auto positionMs = crl::time(0); const auto positionMs = crl::time(0);
@ -1728,7 +1731,7 @@ Ui::PreparedFileInformation::Song PrepareForSending(const QString &fname, const
result.performer = reader.performer(); result.performer = reader.performer();
result.cover = reader.cover(); result.cover = reader.cover();
} }
return result; return { .media = result };
} }
} // namespace Player } // namespace Player

View file

@ -8,7 +8,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#pragma once #pragma once
#include "ui/effects/animation_value.h" #include "ui/effects/animation_value.h"
#include "ui/chat/attach/attach_prepare.h"
#include "core/file_location.h" #include "core/file_location.h"
#include "data/data_audio_msg_id.h" #include "data/data_audio_msg_id.h"
#include "base/bytes.h" #include "base/bytes.h"
@ -16,6 +15,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include <QtCore/QTimer> #include <QtCore/QTimer>
namespace Ui {
struct PreparedFileInformation;
} // namespace Ui
namespace Media { namespace Media {
struct ExternalSoundData; struct ExternalSoundData;
struct ExternalSoundPart; struct ExternalSoundPart;
@ -369,7 +372,7 @@ private:
}; };
[[nodiscard]] Ui::PreparedFileInformation::Song PrepareForSending( [[nodiscard]] Ui::PreparedFileInformation PrepareForSending(
const QString &fname, const QString &fname,
const QByteArray &data); const QByteArray &data);

View file

@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "media/clip/media_clip_ffmpeg.h" #include "media/clip/media_clip_ffmpeg.h"
#include "media/clip/media_clip_check_streaming.h" #include "media/clip/media_clip_check_streaming.h"
#include "ui/chat/attach/attach_prepare.h"
#include "ui/painter.h" #include "ui/painter.h"
#include "core/file_location.h" #include "core/file_location.h"
#include "base/random.h" #include "base/random.h"
@ -963,7 +964,9 @@ Manager::~Manager() {
clear(); 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 result = Ui::PreparedFileInformation::Video();
auto localLocation = Core::FileLocation(fname); auto localLocation = Core::FileLocation(fname);
auto localData = QByteArray(data); auto localData = QByteArray(data);
@ -999,7 +1002,7 @@ Ui::PreparedFileInformation::Video PrepareForSending(const QString &fname, const
localData); localData);
} }
} }
return result; return { .media = result };
} }
void Finish() { void Finish() {

View file

@ -7,12 +7,15 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/ */
#pragma once #pragma once
#include "ui/chat/attach/attach_prepare.h"
#include "ui/image/image_prepare.h" #include "ui/image/image_prepare.h"
#include <QtCore/QTimer> #include <QtCore/QTimer>
#include <QtCore/QMutex> #include <QtCore/QMutex>
namespace Ui {
struct PreparedFileInformation;
} // namespace Ui
namespace Core { namespace Core {
class FileLocation; class FileLocation;
} // namespace Core } // namespace Core
@ -236,7 +239,7 @@ inline ReaderPointer MakeReader(Args&&... args) {
return ReaderPointer(new Reader(std::forward<Args>(args)...)); return ReaderPointer(new Reader(std::forward<Args>(args)...));
} }
[[nodiscard]] Ui::PreparedFileInformation::Video PrepareForSending( [[nodiscard]] Ui::PreparedFileInformation PrepareForSending(
const QString &fname, const QString &fname,
const QByteArray &data); const QByteArray &data);

View file

@ -27,6 +27,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "boxes/send_files_box.h" #include "boxes/send_files_box.h"
#include "boxes/premium_limits_box.h" #include "boxes/premium_limits_box.h"
#include "ui/boxes/confirm_box.h" #include "ui/boxes/confirm_box.h"
#include "ui/chat/attach/attach_prepare.h"
#include "ui/image/image_prepare.h" #include "ui/image/image_prepare.h"
#include "lang/lang_keys.h" #include "lang/lang_keys.h"
#include "storage/file_download.h" #include "storage/file_download.h"
@ -630,7 +631,8 @@ bool FileLoadTask::CheckForSong(
return false; return false;
} }
auto media = Media::Player::PrepareForSending(filepath, content); auto media = v::get<Ui::PreparedFileInformation::Song>(
Media::Player::PrepareForSending(filepath, content).media);
if (media.duration < 0) { if (media.duration < 0) {
return false; return false;
} }
@ -658,7 +660,8 @@ bool FileLoadTask::CheckForVideo(
return false; return false;
} }
auto media = Media::Clip::PrepareForSending(filepath, content); auto media = v::get<Ui::PreparedFileInformation::Video>(
Media::Clip::PrepareForSending(filepath, content).media);
if (media.duration < 0) { if (media.duration < 0) {
return false; return false;
} }

View file

@ -9,7 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "base/variant.h" #include "base/variant.h"
#include "api/api_common.h" #include "api/api_common.h"
#include "ui/chat/attach/attach_prepare.h"
namespace Ui {
struct PreparedFileInformation;
} // namespace Ui
namespace Main { namespace Main {
class Session; class Session;