Added reply header with preview to send files box.

This commit is contained in:
23rd
2026-04-13 11:06:47 +03:00
parent 91145dc868
commit 04aec11daa
15 changed files with 603 additions and 16 deletions
@@ -1368,9 +1368,14 @@ void HistoryWidget::sendTextAsFile(
_peer,
Api::SendType::Normal,
sendMenuDetails());
box->setReplyTo(replyTo());
box->setConfirmedCallback(crl::guard(this, [=](
std::shared_ptr<Ui::PreparedBundle> bundle,
Api::SendOptions options) {
Api::SendOptions options,
FullReplyTo currentReplyTo) {
if (!currentReplyTo.messageId && replyTo().messageId) {
cancelReply();
}
sendingFilesConfirmed(std::move(bundle), options);
}));
box->setCancelledCallback(crl::guard(this, [=] {
@@ -6782,10 +6787,15 @@ bool HistoryWidget::confirmSendingFiles(
_peer,
Api::SendType::Normal,
sendMenuDetails());
box->setReplyTo(replyTo());
_field->setTextWithTags({});
box->setConfirmedCallback(crl::guard(this, [=](
std::shared_ptr<Ui::PreparedBundle> bundle,
Api::SendOptions options) {
Api::SendOptions options,
FullReplyTo currentReplyTo) {
if (!currentReplyTo.messageId && replyTo().messageId) {
cancelReply();
}
sendingFilesConfirmed(std::move(bundle), options);
}));
box->setCancelledCallback(crl::guard(this, [=] {
@@ -3384,6 +3384,16 @@ void ComposeControls::fireSendTextAsFile(
? Api::SendType::ScheduledToUser
: Api::SendType::Scheduled)
: Api::SendType::Normal;
auto confirmed = [=, callback = _sendAsFileConfirmed](
std::shared_ptr<Ui::PreparedBundle> bundle,
Api::SendOptions options,
FullReplyTo replyTo) {
if (!replyTo.messageId
&& replyingToMessage().messageId) {
cancelReplyMessage();
}
callback(std::move(bundle), options);
};
_show->show(Box<SendFilesBox>(SendFilesBoxDescriptor{
.show = _show,
.list = Ui::PrepareTextAsFile(fileText),
@@ -3394,8 +3404,9 @@ void ComposeControls::fireSendTextAsFile(
.sendType = sendType,
.sendMenuDetails = _sendMenuDetails,
.stOverride = &_st,
.confirmed = _sendAsFileConfirmed,
.confirmed = std::move(confirmed),
.cancelled = std::move(restoreText),
.replyTo = replyingToMessage(),
}));
}
@@ -1192,10 +1192,16 @@ bool ChatWidget::confirmSendingFiles(
_peer,
Api::SendType::Normal,
sendMenuDetails());
box->setReplyTo(_composeControls->replyingToMessage());
box->setConfirmedCallback(crl::guard(this, [=](
std::shared_ptr<Ui::PreparedBundle> bundle,
Api::SendOptions options) {
Api::SendOptions options,
FullReplyTo currentReplyTo) {
if (!currentReplyTo.messageId
&& _composeControls->replyingToMessage().messageId) {
_composeControls->cancelReplyMessage();
}
sendingFilesConfirmed(std::move(bundle), options);
}));
box->setCancelledCallback(_composeControls->restoreTextCallback(
@@ -575,7 +575,8 @@ bool ScheduledWidget::confirmSendingFiles(
box->setConfirmedCallback(crl::guard(this, [=](
std::shared_ptr<Ui::PreparedBundle> bundle,
Api::SendOptions options) {
Api::SendOptions options,
FullReplyTo) {
sendingFilesConfirmed(std::move(bundle), options);
}));
box->setCancelledCallback(_composeControls->restoreTextCallback(