2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-08-31 06:26:18 +00:00

Moved edit captions from EditCaptionBox to api_editing.

This commit is contained in:
23rd
2020-05-28 17:57:21 +03:00
parent 6c89f60679
commit c46b96f252
4 changed files with 74 additions and 77 deletions

View File

@@ -17,12 +17,14 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "history/history_item.h"
#include "lang/lang_keys.h"
#include "main/main_session.h"
#include "mtproto/mtproto_rpc_sender.h"
namespace Api {
namespace {
void EditMessage(
mtpRequestId EditMessage(
not_null<HistoryItem*> item,
const TextWithEntities &textWithEntities,
SendOptions options,
Fn<void(const MTPUpdates &, Fn<void()>)> done,
Fn<void(const RPCError &)> fail,
@@ -30,16 +32,16 @@ void EditMessage(
const auto session = &item->history()->session();
const auto api = &session->api();
const auto text = item->originalText().text;
const auto text = textWithEntities.text;
const auto sentEntities = EntitiesToMTP(
session,
item->originalText().entities,
textWithEntities.entities,
ConvertOption::SkipLocal);
const auto media = item->media();
const auto emptyFlag = MTPmessages_EditMessage::Flag(0);
const auto flags = emptyFlag
| (!text.isEmpty()
| (!text.isEmpty() || media
? MTPmessages_EditMessage::Flag::f_message
: emptyFlag)
| ((media && inputMedia.has_value())
@@ -58,7 +60,7 @@ void EditMessage(
const auto id = item->isScheduled()
? session->data().scheduledMessages().lookupId(item)
: item->id;
api->request(MTPmessages_EditMessage(
return api->request(MTPmessages_EditMessage(
MTP_flags(flags),
item->history()->peer->input,
MTP_int(id),
@@ -74,6 +76,16 @@ void EditMessage(
).send();
}
mtpRequestId EditMessage(
not_null<HistoryItem*> item,
SendOptions options,
Fn<void(const MTPUpdates &, Fn<void()>)> done,
Fn<void(const RPCError &)> fail,
std::optional<MTPInputMedia> inputMedia = std::nullopt) {
const auto &text = item->originalText();
return EditMessage(item, text, options, done, fail, inputMedia);
}
void EditMessageWithUploadedMedia(
not_null<HistoryItem*> item,
SendOptions options,
@@ -143,5 +155,17 @@ void EditMessageWithUploadedPhoto(
EditMessageWithUploadedMedia(item, options, media);
}
mtpRequestId EditCaption(
not_null<HistoryItem*> item,
const TextWithEntities &caption,
Fn<void(const MTPUpdates &)> done,
Fn<void(const RPCError &)> fail) {
const auto callback = [=](const auto &result, Fn<void()> applyUpdates) {
done(result);
applyUpdates();
};
return EditMessage(item, caption, SendOptions(), callback, fail);
}
} // namespace Api

View File

@@ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#pragma once
class HistoryItem;
class RPCError;
namespace Api {
@@ -28,4 +29,10 @@ void EditMessageWithUploadedPhoto(
const MTPInputFile &file,
SendOptions options);
mtpRequestId EditCaption(
not_null<HistoryItem*> item,
const TextWithEntities &caption,
Fn<void(const MTPUpdates &)> done,
Fn<void(const RPCError &)> fail);
} // namespace Api