2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-08-22 10:17:10 +00:00

Use Api::ParseTextWithEntities more.

This commit is contained in:
John Preston 2025-08-12 16:10:35 +04:00
parent d60bfa238f
commit 1b4ea2e9c6
6 changed files with 23 additions and 53 deletions

View File

@ -960,12 +960,9 @@ std::optional<Data::SavedStarGift> FromTL(
| ranges::to_vector) | ranges::to_vector)
: std::vector<int>()), : std::vector<int>()),
.message = (data.vmessage() .message = (data.vmessage()
? TextWithEntities{ ? Api::ParseTextWithEntities(
.text = qs(data.vmessage()->data().vtext()), session,
.entities = Api::EntitiesFromMTP( *data.vmessage())
session,
data.vmessage()->data().ventities().v),
}
: TextWithEntities()), : TextWithEntities()),
.starsConverted = int64(data.vconvert_stars().value_or_empty()), .starsConverted = int64(data.vconvert_stars().value_or_empty()),
.starsUpgradedBySender = int64( .starsUpgradedBySender = int64(

View File

@ -248,12 +248,9 @@ void TranslateBox(
showText( showText(
Ui::Text::Italic(tr::lng_translate_box_error(tr::now))); Ui::Text::Italic(tr::lng_translate_box_error(tr::now)));
} else { } else {
showText(TextWithEntities{ showText(Api::ParseTextWithEntities(
.text = qs(list.front().data().vtext()), &peer->session(),
.entities = Api::EntitiesFromMTP( list.front()));
&peer->session(),
list.front().data().ventities().v),
});
} }
}).fail([=](const MTP::Error &error) { }).fail([=](const MTP::Error &error) {
showText( showText(

View File

@ -70,12 +70,9 @@ bool PollData::closeByTimer() {
bool PollData::applyChanges(const MTPDpoll &poll) { bool PollData::applyChanges(const MTPDpoll &poll) {
Expects(poll.vid().v == id); Expects(poll.vid().v == id);
const auto newQuestion = TextWithEntities{ const auto newQuestion = Api::ParseTextWithEntities(
.text = qs(poll.vquestion().data().vtext()), &session(),
.entities = Api::EntitiesFromMTP( poll.vquestion());
&session(),
poll.vquestion().data().ventities().v),
};
const auto newFlags = (poll.is_closed() ? Flag::Closed : Flag(0)) const auto newFlags = (poll.is_closed() ? Flag::Closed : Flag(0))
| (poll.is_public_voters() ? Flag::PublicVotes : Flag(0)) | (poll.is_public_voters() ? Flag::PublicVotes : Flag(0))
| (poll.is_multiple_choice() ? Flag::MultiChoice : Flag(0)) | (poll.is_multiple_choice() ? Flag::MultiChoice : Flag(0))
@ -88,12 +85,9 @@ bool PollData::applyChanges(const MTPDpoll &poll) {
return data.match([&](const MTPDpollAnswer &answer) { return data.match([&](const MTPDpollAnswer &answer) {
auto result = PollAnswer(); auto result = PollAnswer();
result.option = answer.voption().v; result.option = answer.voption().v;
result.text = TextWithEntities{ result.text = Api::ParseTextWithEntities(
.text = qs(answer.vtext().data().vtext()), &session(),
.entities = Api::EntitiesFromMTP( answer.vtext());
&session(),
answer.vtext().data().ventities().v),
};
return result; return result;
}); });
}) | ranges::views::take( }) | ranges::views::take(

View File

@ -45,12 +45,9 @@ Main::Session &TodoListData::session() const {
} }
bool TodoListData::applyChanges(const MTPDtodoList &todolist) { bool TodoListData::applyChanges(const MTPDtodoList &todolist) {
const auto newTitle = TextWithEntities{ const auto newTitle = Api::ParseTextWithEntities(
.text = qs(todolist.vtitle().data().vtext()), &session(),
.entities = Api::EntitiesFromMTP( todolist.vtitle());
&session(),
todolist.vtitle().data().ventities().v),
};
const auto newFlags = (todolist.is_others_can_append() const auto newFlags = (todolist.is_others_can_append()
? Flag::OthersCanAppend ? Flag::OthersCanAppend
: Flag()) : Flag())
@ -222,12 +219,7 @@ TodoListItem TodoListItemFromMTP(
const MTPTodoItem &item) { const MTPTodoItem &item) {
const auto &data = item.data(); const auto &data = item.data();
return { return {
.text = TextWithEntities{ .text = Api::ParseTextWithEntities(session, data.vtitle()),
.text = qs(data.vtitle().data().vtext()),
.entities = Api::EntitiesFromMTP(
session,
data.vtitle().data().ventities().v),
},
.id = data.vid().v, .id = data.vid().v,
}; };
} }

View File

@ -6295,12 +6295,9 @@ void HistoryItem::applyAction(const MTPMessageAction &action) {
Data::GiftCode{ Data::GiftCode{
.slug = qs(data.vslug()), .slug = qs(data.vslug()),
.message = (data.vmessage() .message = (data.vmessage()
? TextWithEntities{ ? Api::ParseTextWithEntities(
.text = qs(data.vmessage()->data().vtext()), &history()->session(),
.entities = Api::EntitiesFromMTP( *data.vmessage())
&history()->session(),
data.vmessage()->data().ventities().v),
}
: TextWithEntities()), : TextWithEntities()),
.channel = (boostedId .channel = (boostedId
? history()->owner().channel(boostedId).get() ? history()->owner().channel(boostedId).get()
@ -6347,12 +6344,9 @@ void HistoryItem::applyAction(const MTPMessageAction &action) {
using Fields = Data::GiftCode; using Fields = Data::GiftCode;
auto fields = Fields{ auto fields = Fields{
.message = (data.vmessage() .message = (data.vmessage()
? TextWithEntities{ ? Api::ParseTextWithEntities(
.text = qs(data.vmessage()->data().vtext()), &history()->session(),
.entities = Api::EntitiesFromMTP( *data.vmessage())
&history()->session(),
data.vmessage()->data().ventities().v),
}
: TextWithEntities()), : TextWithEntities()),
.channel = ((service && peerIsChannel(to)) .channel = ((service && peerIsChannel(to))
? history()->owner().channel(peerToChannel(to)).get() ? history()->owner().channel(peerToChannel(to)).get()

View File

@ -1336,11 +1336,7 @@ MessageFactcheck FromMTP(
} }
const auto &data = factcheck->data(); const auto &data = factcheck->data();
if (const auto text = data.vtext()) { if (const auto text = data.vtext()) {
const auto &data = text->data(); result.text = Api::ParseTextWithEntities(session, *text);
result.text = {
qs(data.vtext()),
Api::EntitiesFromMTP(session, data.ventities().v),
};
} }
if (const auto country = data.vcountry()) { if (const auto country = data.vcountry()) {
result.country = qs(country->v); result.country = qs(country->v);