Moved item preview structs to separated file.

This commit is contained in:
23rd 2021-12-21 20:43:15 +03:00 committed by John Preston
parent 79a09a4510
commit f2c7237d5f
11 changed files with 53 additions and 32 deletions

View File

@ -643,6 +643,7 @@ PRIVATE
history/view/history_view_empty_list_bubble.h
history/view/history_view_group_call_bar.cpp
history/view/history_view_group_call_bar.h
history/view/history_view_item_preview.h
history/view/history_view_list_widget.cpp
history/view/history_view_list_widget.h
history/view/history_view_message.cpp

View File

@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_item.h"
#include "history/history_location_manager.h"
#include "history/view/history_view_element.h"
#include "history/view/history_view_item_preview.h"
#include "history/view/media/history_view_photo.h"
#include "history/view/media/history_view_sticker.h"
#include "history/view/media/history_view_gif.h"

View File

@ -22,6 +22,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "support/support_helper.h"
#include "main/main_session.h"
#include "history/view/history_view_send_action.h"
#include "history/view/history_view_item_preview.h"
#include "history/history_item_components.h"
#include "history/history_item.h"
#include "history/history.h"

View File

@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history.h"
#include "history/history_item.h"
#include "history/view/history_view_item_preview.h"
#include "main/main_session.h"
#include "ui/text/text_options.h"
#include "ui/image/image.h"

View File

@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history.h"
#include "history/view/history_view_element.h"
#include "history/view/history_view_item_preview.h"
#include "history/history_message.h"
#include "history/history_service.h"
#include "history/history_item_components.h"

View File

@ -10,6 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "lang/lang_keys.h"
#include "mainwidget.h"
#include "history/view/history_view_element.h"
#include "history/view/history_view_item_preview.h"
#include "history/view/history_view_service_message.h"
#include "history/history_item_components.h"
#include "history/view/media/history_view_media_grouped.h"
@ -1077,6 +1078,13 @@ ItemPreview HistoryItem::toPreview(ToPreviewOptions options) const {
return Dialogs::Ui::PreviewWithSender(std::move(result), fromWrapped);
}
QString HistoryItem::inReplyText() const {
return toPreview({
.hideSender = true,
.generateImages = false,
}).text;
}
Ui::Text::IsolatedEmoji HistoryItem::isolatedEmoji() const {
return Ui::Text::IsolatedEmoji();
}

View File

@ -51,38 +51,12 @@ class SessionController;
} // namespace Window
namespace HistoryView {
struct TextState;
struct StateRequest;
enum class CursorState : char;
enum class PointState : char;
enum class Context : char;
class ElementDelegate;
struct ItemPreviewImage {
QImage data;
uint64 cacheKey = 0;
explicit operator bool() const {
return !data.isNull();
}
};
struct ItemPreview {
QString text;
std::vector<ItemPreviewImage> images;
int imagesInTextPosition = 0;
std::any loadingContext;
};
struct ToPreviewOptions {
const std::vector<ItemPreviewImage> *existing = nullptr;
bool hideSender = false;
bool hideCaption = false;
bool generateImages = true;
bool ignoreGroup = false;
};
} // namespace HistoryView
struct HiddenSenderInfo;
@ -334,12 +308,7 @@ public:
// Example: "[link1-start]You:[link1-end] [link1-start]Photo,[link1-end] caption text"
[[nodiscard]] virtual ItemPreview toPreview(
ToPreviewOptions options) const;
[[nodiscard]] virtual QString inReplyText() const {
return toPreview({
.hideSender = true,
.generateImages = false,
}).text;
}
[[nodiscard]] virtual QString inReplyText() const;
[[nodiscard]] virtual Ui::Text::IsolatedEmoji isolatedEmoji() const;
[[nodiscard]] virtual TextWithEntities originalText() const {
return TextWithEntities();

View File

@ -17,6 +17,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_message.h"
#include "history/history_item_components.h"
#include "history/view/history_view_service_message.h"
#include "history/view/history_view_item_preview.h"
#include "data/data_folder.h"
#include "data/data_session.h"
#include "data/data_media_types.h"

View File

@ -86,6 +86,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/view/history_view_pinned_section.h"
#include "history/view/history_view_pinned_bar.h"
#include "history/view/history_view_group_call_bar.h"
#include "history/view/history_view_item_preview.h"
#include "history/view/history_view_requests_bar.h"
#include "history/view/media/history_view_media.h"
#include "profile/profile_block_group_members.h"

View File

@ -0,0 +1,36 @@
/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#pragma once
namespace HistoryView {
struct ItemPreviewImage {
QImage data;
uint64 cacheKey = 0;
explicit operator bool() const {
return !data.isNull();
}
};
struct ItemPreview {
QString text;
std::vector<ItemPreviewImage> images;
int imagesInTextPosition = 0;
std::any loadingContext;
};
struct ToPreviewOptions {
const std::vector<ItemPreviewImage> *existing = nullptr;
bool hideSender = false;
bool hideCaption = false;
bool generateImages = true;
bool ignoreGroup = false;
};
} // namespace HistoryView

View File

@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "main/main_account.h"
#include "history/history.h"
#include "history/history_item.h"
#include "history/view/history_view_item_preview.h"
#include "base/platform/base_platform_last_input.h"
#include "base/call_delayed.h"
#include "facades.h"