MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / PollDataToInputMedia

Function PollDataToInputMedia

Telegram/SourceFiles/data/data_poll.cpp:643–689  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

641}
642
643MTPInputMedia PollDataToInputMedia(
644 not_null<const PollData*> poll,
645 bool close) {
646 auto inputFlags = MTPDinputMediaPoll::Flag(0)
647 | (poll->quiz()
648 ? MTPDinputMediaPoll::Flag::f_correct_answers
649 : MTPDinputMediaPoll::Flag(0));
650 auto correct = QVector<MTPint>();
651 for (auto i = 0, count = int(poll->answers.size()); i < count; ++i) {
652 if (poll->answers[i].correct) {
653 correct.push_back(MTP_int(i));
654 }
655 }
656
657 auto solution = poll->solution;
658 const auto prepareFlags = Ui::ItemTextDefaultOptions().flags;
659 TextUtilities::PrepareForSending(solution, prepareFlags);
660 TextUtilities::Trim(solution);
661 const auto sentEntities = Api::EntitiesToMTP(
662 &poll->session(),
663 solution.entities,
664 Api::ConvertOption::SkipLocal);
665 if (!solution.text.isEmpty()) {
666 inputFlags |= MTPDinputMediaPoll::Flag::f_solution;
667 }
668 if (!sentEntities.v.isEmpty()) {
669 inputFlags |= MTPDinputMediaPoll::Flag::f_solution_entities;
670 }
671 if (poll->attachedMedia) {
672 inputFlags |= MTPDinputMediaPoll::Flag::f_attached_media;
673 }
674 if (poll->solutionMedia) {
675 inputFlags |= MTPDinputMediaPoll::Flag::f_solution_media;
676 }
677 return MTP_inputMediaPoll(
678 MTP_flags(inputFlags),
679 PollDataToMTP(poll, close),
680 MTP_vector<MTPint>(correct),
681 poll->attachedMedia
682 ? PollMediaToMTP(poll->attachedMedia)
683 : MTPInputMedia(),
684 MTP_string(solution.text),
685 sentEntities,
686 poll->solutionMedia
687 ? PollMediaToMTP(poll->solutionMedia)
688 : MTPInputMedia());
689}
690
691QString JoinPollCountries(const std::vector<QString> &countriesIso2) {
692 auto countries = QStringList();

Callers 2

createMethod · 0.85
closeMethod · 0.85

Calls 13

TrimFunction · 0.85
EntitiesToMTPFunction · 0.85
MTP_flagsFunction · 0.85
PollDataToMTPFunction · 0.85
PollMediaToMTPFunction · 0.85
MTP_stringFunction · 0.85
quizMethod · 0.80
FlagEnum · 0.70
MTP_intFunction · 0.70
PrepareForSendingFunction · 0.50
sizeMethod · 0.45
sessionMethod · 0.45

Tested by

no test coverage detected