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

Function ComputeEditMessageFlags

Telegram/SourceFiles/api/api_editing.cpp:52–91  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50 = is_callable_plain_v<T, QString>;
51
52[[nodiscard]] auto ComputeEditMessageFlags(
53 not_null<HistoryItem*> item,
54 const MTPVector<MTPMessageEntity> &sentEntities,
55 Data::WebPageDraft webpage,
56 SendOptions options,
57 bool withMessage,
58 bool withMedia,
59 bool withRichMessage)
60-> MTPmessages_EditMessage::Flags {
61 const auto emptyFlag = MTPmessages_EditMessage::Flag(0);
62 return emptyFlag
63 | (withMessage
64 ? MTPmessages_EditMessage::Flag::f_message
65 : emptyFlag)
66 | (withMedia
67 ? MTPmessages_EditMessage::Flag::f_media
68 : emptyFlag)
69 | (webpage.removed
70 ? MTPmessages_EditMessage::Flag::f_no_webpage
71 : emptyFlag)
72 | (((!webpage.removed && !webpage.url.isEmpty() && webpage.invert)
73 || options.invertCaption)
74 ? MTPmessages_EditMessage::Flag::f_invert_media
75 : emptyFlag)
76 | (!sentEntities.v.isEmpty()
77 ? MTPmessages_EditMessage::Flag::f_entities
78 : emptyFlag)
79 | (options.scheduled
80 ? MTPmessages_EditMessage::Flag::f_schedule_date
81 : emptyFlag)
82 | ((options.scheduled && options.scheduleRepeatPeriod)
83 ? MTPmessages_EditMessage::Flag::f_schedule_repeat_period
84 : emptyFlag)
85 | (item->isBusinessShortcut()
86 ? MTPmessages_EditMessage::Flag::f_quick_reply_shortcut_id
87 : emptyFlag)
88 | (withRichMessage
89 ? MTPmessages_EditMessage::Flag::f_rich_message
90 : emptyFlag);
91}
92
93[[nodiscard]] MsgId EditMessageRequestId(not_null<HistoryItem*> item) {
94 return item->isScheduled()

Callers 2

EditMessageFunction · 0.85
EditRichMessageFunction · 0.85

Calls 3

isBusinessShortcutMethod · 0.80
FlagEnum · 0.50
isEmptyMethod · 0.45

Tested by

no test coverage detected