mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 06:54:43 +00:00
Added preview for media from poll option to input field reply header.
This commit is contained in:
@@ -79,6 +79,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "data/data_document_media.h"
|
||||
#include "data/data_photo.h"
|
||||
#include "data/data_photo_media.h"
|
||||
#include "data/data_poll.h"
|
||||
#include "data/data_channel.h"
|
||||
#include "data/data_chat.h"
|
||||
#include "data/data_forum.h"
|
||||
@@ -9814,10 +9815,26 @@ void HistoryWidget::drawField(Painter &p, const QRect &rect) {
|
||||
const auto media = (!_previewDrawPreview && drawMsgText)
|
||||
? drawMsgText->media()
|
||||
: nullptr;
|
||||
const auto hasPreview = media && media->hasReplyPreview();
|
||||
const auto poll = media ? media->poll() : nullptr;
|
||||
const auto pollAnswer = poll
|
||||
? poll->answerByOption(_replyTo.pollOption)
|
||||
: nullptr;
|
||||
const auto pollMediaPtr = pollAnswer
|
||||
? &pollAnswer->media
|
||||
: (poll && _replyTo.pollOption.isEmpty())
|
||||
? &poll->attachedMedia
|
||||
: nullptr;
|
||||
const auto pollMediaHasPreview = pollMediaPtr
|
||||
&& (pollMediaPtr->photo || pollMediaPtr->document);
|
||||
const auto hasPreview = pollMediaHasPreview
|
||||
|| (media && media->hasReplyPreview());
|
||||
const auto preview = _mediaEditManager
|
||||
? _mediaEditManager.mediaPreview()
|
||||
: hasPreview
|
||||
: pollMediaHasPreview
|
||||
? (pollMediaPtr->photo
|
||||
? pollMediaPtr->photo->getReplyPreview(drawMsgText)
|
||||
: pollMediaPtr->document->getReplyPreview(drawMsgText))
|
||||
: (media && media->hasReplyPreview())
|
||||
? media->replyPreview()
|
||||
: nullptr;
|
||||
const auto spoilered = _mediaEditManager.spoilered();
|
||||
|
||||
@@ -43,7 +43,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "data/data_file_origin.h"
|
||||
#include "data/data_forum_topic.h"
|
||||
#include "data/data_peer_values.h"
|
||||
#include "data/data_document.h"
|
||||
#include "data/data_photo.h"
|
||||
#include "data/data_photo_media.h"
|
||||
#include "data/data_poll.h"
|
||||
#include "data/data_premium_limits.h" // Data::PremiumLimits.
|
||||
#include "data/stickers/data_stickers.h"
|
||||
#include "data/stickers/data_custom_emoji.h"
|
||||
@@ -637,10 +640,27 @@ void FieldHeader::paintEditOrReplyToMessage(Painter &p) {
|
||||
}
|
||||
|
||||
const auto media = _shownMessage->media();
|
||||
_shownMessageHasPreview = media && media->hasReplyPreview();
|
||||
const auto poll = media ? media->poll() : nullptr;
|
||||
const auto reply = replyingToMessage();
|
||||
const auto pollAnswer = poll
|
||||
? poll->answerByOption(reply.pollOption)
|
||||
: nullptr;
|
||||
const auto pollMediaPtr = pollAnswer
|
||||
? &pollAnswer->media
|
||||
: (poll && reply.pollOption.isEmpty())
|
||||
? &poll->attachedMedia
|
||||
: nullptr;
|
||||
const auto pollMediaHasPreview = pollMediaPtr
|
||||
&& (pollMediaPtr->photo || pollMediaPtr->document);
|
||||
_shownMessageHasPreview = pollMediaHasPreview
|
||||
|| (media && media->hasReplyPreview());
|
||||
const auto preview = _mediaEditManager
|
||||
? _mediaEditManager.mediaPreview()
|
||||
: _shownMessageHasPreview
|
||||
: pollMediaHasPreview
|
||||
? (pollMediaPtr->photo
|
||||
? pollMediaPtr->photo->getReplyPreview(_shownMessage)
|
||||
: pollMediaPtr->document->getReplyPreview(_shownMessage))
|
||||
: (media && media->hasReplyPreview())
|
||||
? media->replyPreview()
|
||||
: nullptr;
|
||||
const auto spoilered = _mediaEditManager.spoilered();
|
||||
|
||||
Reference in New Issue
Block a user